DXi Software Architecture |
The /Q directory is Not Directly Useable with DXi 2.x Software
Blockpool Wrapper (BPW) is New with DXi 2.x Software
The BPW component accepts incoming requests via the ddup api. The metadata requests will be handled using the underlying filesystem where possible. Data requests may be for inline deduped data or for non-deduped data, depending on whether the data is destined for a deduped or non-deduped share.
BPW interfaces to the various clients (such as NFS) and produces a data stream and metadata operations stream. The data stream is in the form of a list of pcache pages to either read or write at specific offsets. BPW also manages the operation of opening and closing BLOBs and BFST store contexts at the appropriate times.
A list of pcache pages is passed by reference to the BFST store API, representing a logically contiguous chunk of data, which is stored using the standard BFST internals. There is no copy of data between the BFST API client and server, or between BPW and the BFST client. This process is repeated as more data arrives from the client.
BPW eventually decides to end a BLOB at a certain point,, at which point a BLOB tag is returned by the BFST and then managed by BPW.
A list of empty pcache pages is passed by reference to the BFST retrieve API, representing a logically contiguous chunk of data to retrieve. The pages are filled by the BFST. There is no memory copy, as above. This process is repeated as more data is required by the client.
This is all achieved by having the BFST server map a shared memory region that is shared with the clients.
This page was generated by the BrainKeeper Enterprise Wiki, © 2018 |