- 13 9月, 2014 2 次提交
-
-
由 Christoph Hellwig 提交于
This patches moves parsing of the GETDEVICEINFO XDR to kernel space, as well as the management of complex devices. The reason for that is we might have multiple outstanding complex devices after a NOTIFY_DEVICEID4_CHANGE, which device mapper or md can't handle as they claim devices exclusively. But as is turns out simple striping / concatenation is fairly trivial to implement anyway, so we make our life simpler by reducing the reliance on blkmapd. For now we still use blkmapd by feeding it synthetic SIMPLE device XDR to translate device signatures to device numbers, but in the long runs I have plans to eliminate it entirely. Signed-off-by: NChristoph Hellwig <hch@lst.de> Signed-off-by: NTrond Myklebust <trond.myklebust@primarydata.com>
-
由 Christoph Hellwig 提交于
Create a file to house all the rpc_pipefs boilerplate code instead of sprinkling it over a few files. Signed-off-by: NChristoph Hellwig <hch@lst.de> Signed-off-by: NTrond Myklebust <trond.myklebust@primarydata.com>
-
- 11 9月, 2014 1 次提交
-
-
由 Christoph Hellwig 提交于
Currently the block layout driver tracks extents in three separate data structures: - the two list of pnfs_block_extent structures returned by the server - the list of sectors that were in invalid state but have been written to - a list of pnfs_block_short_extent structures for LAYOUTCOMMIT All of these share the property that they are not only highly inefficient data structures, but also that operations on them are even more inefficient than nessecary. In addition there are various implementation defects like: - using an int to track sectors, causing corruption for large offsets - incorrect normalization of page or block granularity ranges - insufficient error handling - incorrect synchronization as extents can be modified while they are in use This patch replace all three data with a single unified rbtree structure tracking all extents, as well as their in-memory state, although we still need to instance for read-only and read-write extent due to the arcane client side COW feature in the block layouts spec. To fix the problem of extent possibly being modified while in use we make sure to return a copy of the extent for use in the write path - the extent can only be invalidated by a layout recall or return which has to wait until the I/O operations finished due to refcounts on the layout segment. The new extent tree work similar to the schemes used by block based filesystems like XFS or ext4. Signed-off-by: NChristoph Hellwig <hch@lst.de> Signed-off-by: NTrond Myklebust <trond.myklebust@primarydata.com>
-
- 01 8月, 2011 4 次提交
-
-
由 Jim Rees 提交于
Signed-off-by: NJim Rees <rees@umich.edu> Signed-off-by: NFred Isaman <iisaman@citi.umich.edu> Signed-off-by: NBenny Halevy <bhalevy@panasas.com> Signed-off-by: NBenny Halevy <bhalevy@tonian.com> [upcall bugfixes] Signed-off-by: NPeng Tao <peng_tao@emc.com> Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
-
由 Jim Rees 提交于
Signed-off-by: NJim Rees <rees@umich.edu> Signed-off-by: NFred Isaman <iisaman@citi.umich.edu> Signed-off-by: NBenny Halevy <bhalevy@panasas.com> Signed-off-by: NBenny Halevy <bhalevy@tonian.com> [upcall bugfixes] Signed-off-by: NPeng Tao <peng_tao@emc.com> Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
-
由 Fred Isaman 提交于
Adds structures and basic create/delete code for extents. Signed-off-by: NFred Isaman <iisaman@citi.umich.edu> Signed-off-by: NBenny Halevy <bhalevy@panasas.com> Signed-off-by: NZhang Jingwang <Jingwang.Zhang@emc.com> Signed-off-by: NBenny Halevy <bhalevy@tonian.com> Signed-off-by: NJim Rees <rees@umich.edu> Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
-
由 Fred Isaman 提交于
Define a configuration variable to enable/disable compilation of the block driver code. Add the minimal structure for a pnfs block layout driver, and empty list-heads that will hold the extent data [pnfsblock: make NFS_V4_1 select PNFS_BLOCK] Signed-off-by: NPeng Tao <peng_tao@emc.com> Signed-off-by: NFred Isaman <iisaman@citi.umich.edu> Signed-off-by: NBenny Halevy <bhalevy@panasas.com> [pnfs-block: fix CONFIG_PNFS_BLOCK dependencies] Signed-off-by: NBenny Halevy <bhalevy@panasas.com> Signed-off-by: NBenny Halevy <bhalevy@tonian.com> [pnfsblock: SQUASHME: adjust to API change] Signed-off-by: NFred Isaman <iisaman@citi.umich.edu> [pnfs: move pnfs_layout_type inline in nfs_inode] Signed-off-by: NBenny Halevy <bhalevy@panasas.com> [blocklayout: encode_layoutcommit implementation] Signed-off-by: NBoaz Harrosh <bharrosh@panasas.com> Signed-off-by: NBenny Halevy <bhalevy@panasas.com> Signed-off-by: NBenny Halevy <bhalevy@tonian.com> [pnfsblock: layout alloc and free] Signed-off-by: NFred Isaman <iisaman@citi.umich.edu> [pnfs: move pnfs_layout_type inline in nfs_inode] Signed-off-by: NBenny Halevy <bhalevy@panasas.com> Signed-off-by: NBenny Halevy <bhalevy@tonian.com> [pnfsblock: define module alias] Signed-off-by: NPeng Tao <peng_tao@emc.com> [rm inode and pnfs_layout_hdr args from cleanup_layoutcommit()] Signed-off-by: NJim Rees <rees@umich.edu> Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
-