- 19 10月, 2011 7 次提交
-
-
由 Peng Tao 提交于
We should check if the sector is already initialized before trying to grab the page from page cache. Otherwise when two pages of the same block are written back by two threads each calling from writepage_locked, it can cause deadlock like bellow. [ 1080.972099] INFO: task kswapd0:25 blocked for more than 120 seconds. [ 1080.972377] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. [ 1080.972812] kswapd0 D ffff88000c4926c0 0 25 2 0x00000000 [ 1080.972816] ffff88000df276b0 0000000000000046 ffff88000df27640 ffffffff81013ba7 [ 1080.972821] ffff88000c492310 ffff88000df27fd8 ffff88000df27fd8 00000000001d3440 [ 1080.972824] ffff88000c378000 ffff88000c492310 ffff8800175d3d40 ffff880017fc75a8 [ 1080.972828] Call Trace: [ 1080.972860] [<ffffffff81013ba7>] ? read_tsc+0x9/0x19 [ 1080.972877] [<ffffffff810e0b23>] ? lock_page+0x2b/0x2b [ 1080.972899] [<ffffffff81475a1d>] io_schedule+0x63/0x7e [ 1080.972902] [<ffffffff810e0b31>] sleep_on_page+0xe/0x12 [ 1080.972905] [<ffffffff81475fe8>] __wait_on_bit_lock+0x46/0x8f [ 1080.972916] [<ffffffff810822d7>] ? lock_release_holdtime.part.7+0x6b/0x72 [ 1080.972919] [<ffffffff810e0af6>] __lock_page+0x66/0x68 [ 1080.972928] [<ffffffff81072705>] ? autoremove_wake_function+0x3d/0x3d [ 1080.972932] [<ffffffff810e0b1f>] lock_page+0x27/0x2b [ 1080.972934] [<ffffffff810e0bcf>] find_lock_page+0x34/0x57 [ 1080.972937] [<ffffffff810e1738>] find_or_create_page+0x34/0x8a [ 1080.972947] [<ffffffffa034245b>] bl_write_pagelist+0x205/0x6da [blocklayoutdriver] [ 1080.972951] [<ffffffffa034145d>] ? bl_free_lseg+0x38/0x38 [blocklayoutdriver] [ 1080.972995] [<ffffffffa02e27b9>] ? nfs_write_rpcsetup+0x118/0x123 [nfs] [ 1080.973033] [<ffffffffa030246b>] pnfs_generic_pg_writepages+0x10b/0x1f4 [nfs] [ 1080.973089] [<ffffffffa02deaae>] nfs_pageio_doio+0x1a/0x43 [nfs] [ 1080.973098] [<ffffffffa02df035>] nfs_pageio_complete+0x16/0x2d [nfs] [ 1080.973108] [<ffffffffa02e2d8f>] nfs_writepage_locked+0xa0/0xbf [nfs] [ 1080.973119] [<ffffffffa02e36a1>] nfs_writepage+0x16/0x2b [nfs] [ 1080.973122] [<ffffffff810e8762>] ? clear_page_dirty_for_io+0x87/0x9a [ 1080.973133] [<ffffffff810efc5b>] shrink_page_list+0x39b/0x6c8 [ 1080.973139] [<ffffffff810f03bb>] shrink_inactive_list+0x22c/0x39e [ 1080.973144] [<ffffffff810822d7>] ? lock_release_holdtime.part.7+0x6b/0x72 [ 1080.973148] [<ffffffff810f0c33>] shrink_zone+0x445/0x588 [ 1080.973152] [<ffffffff810f1a11>] balance_pgdat+0x2c2/0x56b [ 1080.973170] [<ffffffff81254208>] ? __bitmap_weight+0x34/0x80 [ 1080.973175] [<ffffffff810f1f78>] kswapd+0x2be/0x2fa [ 1080.973179] [<ffffffff810726c8>] ? __init_waitqueue_head+0x4b/0x4b [ 1080.973183] [<ffffffff810f1cba>] ? balance_pgdat+0x56b/0x56b [ 1080.973187] [<ffffffff81071f69>] kthread+0xa8/0xb0 [ 1080.973200] [<ffffffff814806b4>] kernel_thread_helper+0x4/0x10 [ 1080.973205] [<ffffffff81071ec1>] ? __init_kthread_worker+0x5a/0x5a [ 1080.973210] [<ffffffff814806b0>] ? gs_change+0x13/0x13 [ 1080.973213] no locks held by kswapd0/25. Signed-off-by: NPeng Tao <peng_tao@emc.com> Signed-off-by: NJim Rees <rees@umich.edu> Cc: stable@kernel.org [3.0] Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
-
由 Peng Tao 提交于
bl_add_page_to_bio returns error pointer. bio should be reset to NULL in failure cases as the out path always calls bl_submit_bio. Signed-off-by: NPeng Tao <peng_tao@emc.com> Signed-off-by: NJim Rees <rees@umich.edu> Cc: stable@kernel.org [3.0] Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
-
由 Peng Tao 提交于
file layout and block layout both use it to set mark layout io failure bit. So make it generic. Signed-off-by: NPeng Tao <peng_tao@emc.com> Signed-off-by: NJim Rees <rees@umich.edu> Cc: stable@kernel.org [3.0] Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
-
由 Peng Tao 提交于
Reviewed-by: NJeff Layton <jlayton@redhat.com> Signed-off-by: NPeng Tao <peng_tao@emc.com> Signed-off-by: NJim Rees <rees@umich.edu> Cc: stable@kernel.org [3.0] Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
-
由 Peng Tao 提交于
The same function is used by idmap, gss and blocklayout code. Make it generic. Signed-off-by: NPeng Tao <peng_tao@emc.com> Signed-off-by: NJim Rees <rees@umich.edu> Cc: stable@kernel.org [3.0] Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
-
由 Jim Rees 提交于
Make the status field explicitly 32 bits. "...it's unlikely that the kernel and userspace would differ on the size of an int here, but it might be a good idea to go ahead and make that explicitly 32 bits in case we end up dealing with more exotic arches at some point in the future." Suggested-by: NJeff Layton <jlayton@redhat.com> Signed-off-by: NJim Rees <rees@umich.edu> Signed-off-by: NBenny Halevy <bhalevy@tonian.com> Cc: stable@kernel.org [3.0] Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
-
由 Jim Rees 提交于
Always return PTR_ERR, not NULL, from nfs4_blk_get_deviceinfo and nfs4_blk_decode_device. Check for IS_ERR, not NULL, in bl_set_layoutdriver when calling nfs4_blk_get_deviceinfo. Signed-off-by: NJim Rees <rees@umich.edu> Signed-off-by: NBenny Halevy <bhalevy@tonian.com> Cc: stable@kernel.org [3.0] Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
-
- 04 8月, 2011 1 次提交
-
-
由 Heiko Carstens 提交于
Fix this compile error on s390: CC [M] fs/nfs/blocklayout/blocklayout.o fs/nfs/blocklayout/blocklayout.c: In function 'bl_end_io_read': fs/nfs/blocklayout/blocklayout.c:201:4: error: implicit declaration of function 'prefetchw' Introduced with 9549ec01 "pnfsblock: bl_read_pagelist". Cc: Fred Isaman <iisaman@citi.umich.edu> Signed-off-by: NHeiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
-
- 01 8月, 2011 18 次提交
-
-
由 Peng Tao 提交于
For invalid extents, find other pages in the same fsblock and write them out. [pnfsblock: write_begin] 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> Signed-off-by: NPeng Tao <peng_tao@emc.com> Signed-off-by: NJim Rees <rees@umich.edu> Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
-
由 Fred Isaman 提交于
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> 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 提交于
Note: When upper layer's read/write request cannot be fulfilled, the block layout driver shouldn't silently mark the page as error. It should do what can be done and leave the rest to the upper layer. To do so, we should set rdata/wdata->res.count properly. When upper layer re-send the read/write request to finish the rest part of the request, pgbase is the position where we should start at. [pnfsblock: bl_write_pagelist support functions] [pnfsblock: bl_write_pagelist adjust for missing PG_USE_PNFS] Signed-off-by: NFred Isaman <iisaman@citi.umich.edu> [pnfsblock: handle errors when read or write pagelist.] Signed-off-by: NZhang Jingwang <yyalone@gmail.com> [pnfs-block: use new write_pagelist api] Signed-off-by: NBenny Halevy <bhalevy@panasas.com> Signed-off-by: NBenny Halevy <bhalevy@tonian.com> Signed-off-by: NJim Rees <rees@umich.edu> [SQUASHME: pnfsblock: mds_offset is set in the generic layer] Signed-off-by: NBoaz Harrosh <bharrosh@panasas.com> Signed-off-by: NBenny Halevy <bhalevy@tonian.com> [pnfsblock: mark IO error with NFS_LAYOUT_{RW|RO}_FAILED] Signed-off-by: NPeng Tao <peng_tao@emc.com> [pnfsblock: SQUASHME: adjust to API change] Signed-off-by: NFred Isaman <iisaman@citi.umich.edu> [pnfsblock: fixup blksize alignment in bl_setup_layoutcommit] Signed-off-by: NBenny Halevy <bhalevy@panasas.com> Signed-off-by: NBenny Halevy <bhalevy@tonian.com> [pnfsblock: bl_write_pagelist adjust for missing PG_USE_PNFS] Signed-off-by: NFred Isaman <iisaman@citi.umich.edu> [pnfsblock: handle errors when read or write pagelist.] Signed-off-by: NZhang Jingwang <yyalone@gmail.com> [pnfs-block: use new write_pagelist api] Signed-off-by: NBenny Halevy <bhalevy@panasas.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 提交于
Note: When upper layer's read/write request cannot be fulfilled, the block layout driver shouldn't silently mark the page as error. It should do what can be done and leave the rest to the upper layer. To do so, we should set rdata/wdata->res.count properly. When upper layer re-send the read/write request to finish the rest part of the request, pgbase is the position where we should start at. [pnfsblock: mark IO error with NFS_LAYOUT_{RW|RO}_FAILED] Signed-off-by: NPeng Tao <peng_tao@emc.com> [pnfsblock: read path error handling] Signed-off-by: NFred Isaman <iisaman@citi.umich.edu> [pnfsblock: handle errors when read or write pagelist.] Signed-off-by: NZhang Jingwang <yyalone@gmail.com> [pnfs-block: use new read_pagelist api] Signed-off-by: NBenny Halevy <bhalevy@panasas.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 提交于
In blocklayout driver. There are two things happening while layoutcommit/cleanup. 1. the modified extents are encoded. 2. On cleanup the extents are put back on the layout rw extents list, for reads. In the new system where actual xdr encoding is done in encode_layoutcommit() directly into xdr buffer, these are the new commit stages: 1. On setup_layoutcommit, the range is adjusted as before and a structure is allocated for communication with bl_encode_layoutcommit && bl_cleanup_layoutcommit (Generic layer provides a void-star to hang it on) 2. bl_encode_layoutcommit is called to do the actual encoding directly into xdr. The commit-extent-list is not freed and is stored on above structure. FIXME: The code is not yet converted to the new XDR cleanup 3. On cleanup the commit-extent-list is put back by a call to set_to_rw() as before, but with no need for XDR decoding of the list as before. And the commit-extent-list is freed. Finally allocated structure is freed. [rm inode and pnfs_layout_hdr args from cleanup_layoutcommit()] Signed-off-by: NJim Rees <rees@umich.edu> [pnfsblock: introduce bl_committing list] Signed-off-by: NPeng Tao <peng_tao@emc.com> [pnfsblock: SQUASHME: adjust to API change] Signed-off-by: NFred Isaman <iisaman@citi.umich.edu> [blocklayout: encode_layoutcommit implementation] Signed-off-by: NBoaz Harrosh <bharrosh@panasas.com> [pnfsblock: fix bug setting up layoutcommit.] Signed-off-by: NTao Guo <guotao@nrchpc.ac.cn> [pnfsblock: cleanup_layoutcommit wants a status parameter] Signed-off-by: NBoaz Harrosh <bharrosh@panasas.com> Signed-off-by: NBenny Halevy <bhalevy@panasas.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 提交于
In blocklayout driver. There are two things happening while layoutcommit/cleanup. 1. the modified extents are encoded. 2. On cleanup the extents are put back on the layout rw extents list, for reads. In the new system where actual xdr encoding is done in encode_layoutcommit() directly into xdr buffer, these are the new commit stages: 1. On setup_layoutcommit, the range is adjusted as before and a structure is allocated for communication with bl_encode_layoutcommit && bl_cleanup_layoutcommit (Generic layer provides a void-star to hang it on) 2. bl_encode_layoutcommit is called to do the actual encoding directly into xdr. The commit-extent-list is not freed and is stored on above structure. FIXME: The code is not yet converted to the new XDR cleanup 3. On cleanup the commit-extent-list is put back by a call to set_to_rw() as before, but with no need for XDR decoding of the list as before. And the commit-extent-list is freed. Finally allocated structure is freed. [rm inode and pnfs_layout_hdr args from cleanup_layoutcommit()] [pnfsblock: get rid of deprecated xdr macros] Signed-off-by: NJim Rees <rees@umich.edu> Signed-off-by: NPeng Tao <peng_tao@emc.com> Signed-off-by: NFred Isaman <iisaman@citi.umich.edu> [blocklayout: encode_layoutcommit implementation] Signed-off-by: NBoaz Harrosh <bharrosh@panasas.com> [pnfsblock: fix bug setting up layoutcommit.] Signed-off-by: NTao Guo <guotao@nrchpc.ac.cn> [pnfsblock: prevent commit list corruption] [pnfsblock: fix layoutcommit with an empty opaque] 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> Signed-off-by: NJim Rees <rees@umich.edu> Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
-
由 Fred Isaman 提交于
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> Signed-off-by: NJim Rees <rees@umich.edu> Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
-
由 Fred Isaman 提交于
Adds working implementations of various support functions to handle INVAL extents, needed by writes, such as bl_mark_sectors_init and bl_is_sector_init. [pnfsblock: fix 64-bit compiler warnings for extent manipulation] 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> [Implement release_inval_marks] Signed-off-by: NZhang Jingwang <zhangjingwang@nrchpc.ac.cn> Signed-off-by: NJim Rees <rees@umich.edu> Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
-
由 Fred Isaman 提交于
Implement bl_find_get_extent(), one of the core extent manipulation routines. [pnfsblock: Lookup list entry of layouts and tags in reverse order] Signed-off-by: NZhang Jingwang <zhangjingwang@nrchpc.ac.cn> Signed-off-by: NFred Isaman <iisaman@citi.umich.edu> Signed-off-by: NBenny Halevy <bhalevy@panasas.com> Signed-off-by: NJim Rees <rees@umich.edu> pnfsblock: fix print format warnings for sector_t and size_t gcc spews warnings about these on x86_64, e.g.: fs/nfs/blocklayout/blocklayout.c:74: warning: format ‘%Lu’ expects type ‘long long unsigned int’, but argument 2 has type ‘sector_t’ fs/nfs/blocklayout/blocklayout.c:388: warning: format ‘%d’ expects type ‘int’, but argument 5 has type ‘size_t’ Signed-off-by: NBenny Halevy <bhalevy@panasas.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 提交于
XDR decodes the block layout payload sent in LAYOUTGET result, storing the result in an extent list. [pnfsblock: get rid of deprecated xdr macros] Signed-off-by: NJim Rees <rees@umich.edu> Signed-off-by: NFred Isaman <iisaman@citi.umich.edu> [pnfsblock: fix bug getting pnfs_layout_type in translate_devid().] Signed-off-by: NTao Guo <guotao@nrchpc.ac.cn> Signed-off-by: NBenny Halevy <bhalevy@panasas.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 提交于
Call GETDEVICELIST during mount, then call and parse GETDEVICEINFO for each device returned. [pnfsblock: get rid of deprecated xdr macros] Signed-off-by: NJim Rees <rees@umich.edu> [pnfsblock: fix pnfs_deviceid references] Signed-off-by: NFred Isaman <iisaman@citi.umich.edu> [pnfsblock: fix print format warnings for sector_t and size_t] [pnfs-block: #include <linux/vmalloc.h>] [pnfsblock: no PNFS_NFS_SERVER] Signed-off-by: NBenny Halevy <bhalevy@panasas.com> [pnfsblock: fix bug determining size of striped volume] [pnfsblock: fix oops when using multiple devices] 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> [pnfsblock: get rid of vmap and deviceid->area structure] Signed-off-by: NPeng Tao <peng_tao@emc.com> Signed-off-by: NJim Rees <rees@umich.edu> Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
-
由 Fred Isaman 提交于
Replace a stub, so that extents underlying the layouts are properly added, merged, or ignored as necessary. Signed-off-by: NFred Isaman <iisaman@citi.umich.edu> [pnfsblock: delete the new node before put it] Signed-off-by: NMingyang Guo <guomingyang@nrchpc.ac.cn> Signed-off-by: NBenny Halevy <bhalevy@panasas.com> Signed-off-by: NPeng Tao <peng_tao@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 提交于
Signed-off-by: NFred Isaman <iisaman@citi.umich.edu> [pnfsblock: fix bug getting pnfs_layout_type in translate_devid().] Signed-off-by: NTao Guo <guotao@nrchpc.ac.cn> 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>
-
由 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>
-
由 Benny Halevy 提交于
[pnfsblock: use pnfs_generic_pg_init_read/write] Signed-off-by: NPeng Tao <peng_tao@emc.com> Signed-off-by: NBenny Halevy <bhalevy@panasas.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>
-