diff options
author | Ben Myers <bpm@sgi.com> | 2010-02-17 14:05:11 -0600 |
---|---|---|
committer | J. Bruce Fields <bfields@citi.umich.edu> | 2010-02-20 13:13:44 -0800 |
commit | f501912a35c02eadc55ca9396ece55fe36f785d0 (patch) | |
tree | f5d6f66d2ad14910e3c2c3d6725cac9402f37c1a /fs/nfsd/nfs4recover.c | |
parent | 7e469af97eed947ba9204712601281a69ae8eb6c (diff) | |
download | linux-3.10-f501912a35c02eadc55ca9396ece55fe36f785d0.tar.gz linux-3.10-f501912a35c02eadc55ca9396ece55fe36f785d0.tar.bz2 linux-3.10-f501912a35c02eadc55ca9396ece55fe36f785d0.zip |
commit_metadata export operation replacing nfsd_sync_dir
- Add commit_metadata export_operation to allow the underlying filesystem to
decide how to commit an inode most efficiently.
- Usage of nfsd_sync_dir and write_inode_now has been replaced with the
commit_metadata function that takes a svc_fh.
- The commit_metadata function calls the commit_metadata export_op if it's
there, or else falls back to sync_inode instead of fsync and write_inode_now
because only metadata need be synced here.
- nfsd4_sync_rec_dir now uses vfs_fsync so that commit_metadata can be static
Signed-off-by: Ben Myers <bpm@sgi.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Diffstat (limited to 'fs/nfsd/nfs4recover.c')
-rw-r--r-- | fs/nfsd/nfs4recover.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/fs/nfsd/nfs4recover.c b/fs/nfsd/nfs4recover.c index 5a754f7b71e..98fb98e330b 100644 --- a/fs/nfsd/nfs4recover.c +++ b/fs/nfsd/nfs4recover.c @@ -119,9 +119,7 @@ out_no_tfm: static void nfsd4_sync_rec_dir(void) { - mutex_lock(&rec_dir.dentry->d_inode->i_mutex); - nfsd_sync_dir(rec_dir.dentry); - mutex_unlock(&rec_dir.dentry->d_inode->i_mutex); + vfs_fsync(NULL, rec_dir.dentry, 0); } int |