linux/fs/nfs
Fred Isaman b2be7811dd pnfsblock: cleanup_layoutcommit
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: Jim Rees <rees@umich.edu>
[pnfsblock: introduce bl_committing list]
Signed-off-by: Peng Tao <peng_tao@emc.com>
[pnfsblock: SQUASHME: adjust to API change]
Signed-off-by: Fred Isaman <iisaman@citi.umich.edu>
[blocklayout: encode_layoutcommit implementation]
Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
[pnfsblock: fix bug setting up layoutcommit.]
Signed-off-by: Tao Guo <guotao@nrchpc.ac.cn>
[pnfsblock: cleanup_layoutcommit wants a status parameter]
Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
Signed-off-by: Benny Halevy <bhalevy@panasas.com>
Signed-off-by: Benny Halevy <bhalevy@tonian.com>
Signed-off-by: Jim Rees <rees@umich.edu>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2011-07-31 12:18:17 -04:00
..
blocklayout pnfsblock: cleanup_layoutcommit 2011-07-31 12:18:17 -04:00
objlayout pnfs: simplify pnfs files module autoloading 2011-07-15 19:21:58 -04:00
cache_lib.c switch vfs_path_lookup() to struct path 2011-07-20 01:44:14 -04:00
cache_lib.h
callback_proc.c NFS: move pnfs layouts to nfs_server structure 2011-07-12 13:40:27 -04:00
callback_xdr.c pnfs: CB_NOTIFY_DEVICEID 2011-05-29 20:52:31 +03:00
callback.c
callback.h pnfs: CB_NOTIFY_DEVICEID 2011-05-29 20:52:31 +03:00
client.c pnfsblock: add device operations 2011-07-31 12:18:16 -04:00
delegation.c NFSv4: Don't use the delegation->inode in nfs_mark_return_delegation() 2011-07-25 15:37:29 -04:00
delegation.h
dir.c Additional readdir cookie loop information 2011-07-30 14:37:14 -04:00
direct.c nfs_open_context doesn't need struct path either 2011-07-20 01:43:44 -04:00
dns_resolve.c
dns_resolve.h
file.c fs: push i_mutex and filemap_write_and_wait down into ->fsync() handlers 2011-07-20 20:47:59 -04:00
fscache-index.c
fscache.c FS-Cache: Add a helper to bulk uncache pages on an inode 2011-07-07 13:21:56 -07:00
fscache.h
getroot.c Merge branch 'nfs-for-2.6.39' into nfs-for-next 2011-03-24 17:03:14 -04:00
idmap.c
inode.c nfs_open_context doesn't need struct path either 2011-07-20 01:43:44 -04:00
internal.h NFS: Clean up - simplify the switch to read/write-through-MDS 2011-07-15 09:12:22 -04:00
iostat.h
Kconfig pnfsblock: add blocklayout Kconfig option, Makefile, and stubs 2011-07-31 12:18:15 -04:00
Makefile pnfsblock: add blocklayout Kconfig option, Makefile, and stubs 2011-07-31 12:18:15 -04:00
mount_clnt.c
namespace.c NFS: Add SECINFO_NO_NAME procedure 2011-07-12 13:40:27 -04:00
nfs2xdr.c
nfs3acl.c
nfs3proc.c NFS: lookup supports alternate client 2011-03-24 13:52:41 -04:00
nfs3xdr.c
nfs4_fs.h pnfs: ask for layout_blksize and save it in nfs_server 2011-07-31 12:18:15 -04:00
nfs4filelayout.c pnfs: save layoutcommit lwb at layout header 2011-07-31 12:18:14 -04:00
nfs4filelayout.h NFSv4.1: do not use deviceids after MDS clientid invalidation 2011-07-12 13:40:29 -04:00
nfs4filelayoutdev.c NFS: fix comment 2011-07-12 13:40:27 -04:00
nfs4namespace.c
nfs4proc.c pnfs: cleanup_layoutcommit 2011-07-31 12:18:15 -04:00
nfs4renewd.c
nfs4state.c Merge branch 'master' into devel and apply fixup from Stephen Rothwell: 2011-07-25 14:53:52 -04:00
nfs4xdr.c pnfs: cleanup_layoutcommit 2011-07-31 12:18:15 -04:00
nfsroot.c NFS: Revert NFSROOT default mount options 2011-05-27 17:42:47 -04:00
pagelist.c Merge branch 'master' into devel and apply fixup from Stephen Rothwell: 2011-07-25 14:53:52 -04:00
pnfs_dev.c NFSv4.1: do not use deviceids after MDS clientid invalidation 2011-07-12 13:40:29 -04:00
pnfs.c pnfs: cleanup_layoutcommit 2011-07-31 12:18:15 -04:00
pnfs.h pnfsblock: call and parse getdevicelist 2011-07-31 12:18:16 -04:00
proc.c NFS: lookup supports alternate client 2011-03-24 13:52:41 -04:00
read.c Merge branch 'master' into devel and apply fixup from Stephen Rothwell: 2011-07-25 14:53:52 -04:00
super.c switch vfs_path_lookup() to struct path 2011-07-20 01:44:14 -04:00
symlink.c
sysctl.c
unlink.c nfs: don't use d_move in nfs_async_rename_done 2011-07-25 15:00:21 -04:00
write.c Merge branch 'master' into devel and apply fixup from Stephen Rothwell: 2011-07-25 14:53:52 -04:00