diff options
author | Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> | 2011-02-28 06:34:05 -0500 |
---|---|---|
committer | Eric Van Hensbergen <ericvh@gmail.com> | 2011-03-15 10:57:40 -0400 |
commit | edd73cf544849c10e0fbc294ca2171f6c28b4093 (patch) | |
tree | 4cbed331b374324960e3c2a94ab6c6ce82430cd5 /fs/9p | |
parent | e959b54901e835f062ac8d44107bc543b66f0364 (diff) |
fs/9p: Add drop_inode 9p callback
We want to immediately drop the inode in non cached mode
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: Venkateswararao Jujjuri <jvrao@linux.vnet.ibm.com>
Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
Diffstat (limited to 'fs/9p')
-rw-r--r-- | fs/9p/vfs_super.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/fs/9p/vfs_super.c b/fs/9p/vfs_super.c index f84d625b8790..3fdaeb3c6eda 100644 --- a/fs/9p/vfs_super.c +++ b/fs/9p/vfs_super.c | |||
@@ -293,6 +293,20 @@ static int v9fs_sync_fs(struct super_block *sb, int wait) | |||
293 | return p9_client_sync_fs(v9ses->root_fid); | 293 | return p9_client_sync_fs(v9ses->root_fid); |
294 | } | 294 | } |
295 | 295 | ||
296 | static int v9fs_drop_inode(struct inode *inode) | ||
297 | { | ||
298 | struct v9fs_session_info *v9ses; | ||
299 | v9ses = v9fs_inode2v9ses(inode); | ||
300 | if (v9ses->cache) | ||
301 | return generic_drop_inode(inode); | ||
302 | /* | ||
303 | * in case of non cached mode always drop the | ||
304 | * the inode because we want the inode attribute | ||
305 | * to always match that on the server. | ||
306 | */ | ||
307 | return 1; | ||
308 | } | ||
309 | |||
296 | static const struct super_operations v9fs_super_ops = { | 310 | static const struct super_operations v9fs_super_ops = { |
297 | .alloc_inode = v9fs_alloc_inode, | 311 | .alloc_inode = v9fs_alloc_inode, |
298 | .destroy_inode = v9fs_destroy_inode, | 312 | .destroy_inode = v9fs_destroy_inode, |
@@ -307,6 +321,7 @@ static const struct super_operations v9fs_super_ops_dotl = { | |||
307 | .destroy_inode = v9fs_destroy_inode, | 321 | .destroy_inode = v9fs_destroy_inode, |
308 | .sync_fs = v9fs_sync_fs, | 322 | .sync_fs = v9fs_sync_fs, |
309 | .statfs = v9fs_statfs, | 323 | .statfs = v9fs_statfs, |
324 | .drop_inode = v9fs_drop_inode, | ||
310 | .evict_inode = v9fs_evict_inode, | 325 | .evict_inode = v9fs_evict_inode, |
311 | .show_options = generic_show_options, | 326 | .show_options = generic_show_options, |
312 | .umount_begin = v9fs_umount_begin, | 327 | .umount_begin = v9fs_umount_begin, |