fs/9p: set fs cache cookie in create path also
authorAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Mon, 28 Feb 2011 11:33:55 +0000 (17:03 +0530)
committerEric Van Hensbergen <ericvh@gmail.com>
Tue, 15 Mar 2011 14:57:36 +0000 (09:57 -0500)
We need to call v9fs_cache_inode_set_cookie in create
path also

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>
fs/9p/vfs_file.c
fs/9p/vfs_inode.c
fs/9p/vfs_inode_dotl.c

index 6a671000263f05a9f5923d66e772cbb43c227b83..ce1eae48a127d63f180a8cfac9da2d6d90d37c4b 100644 (file)
@@ -87,10 +87,8 @@ int v9fs_file_open(struct inode *inode, struct file *file)
 
        file->private_data = fid;
 #ifdef CONFIG_9P_FSCACHE
-       if ((fid->qid.version) && (v9ses->cache)) {
-               P9_DPRINTK(P9_DEBUG_VFS, "cached");
+       if (v9ses->cache)
                v9fs_cache_inode_set_cookie(inode, file);
-       }
 #endif
        return 0;
 }
index 83af2b7e65db25dfa39ea9d3abc1effe0c4318ec..95f55011aca1cbd9822ac02f0df1df9403e1f3bb 100644 (file)
@@ -608,6 +608,10 @@ v9fs_vfs_create(struct inode *dir, struct dentry *dentry, int mode,
                }
 
                filp->private_data = fid;
+#ifdef CONFIG_9P_FSCACHE
+               if (v9ses->cache)
+                       v9fs_cache_inode_set_cookie(dentry->d_inode, filp);
+#endif
        } else
                p9_client_clunk(fid);
 
index fe3ffa9aace4eb35d0a6799d20d006ff4d9937b3..fbe957268f05ea4d4a8c667851f9c8f7cb07807e 100644 (file)
@@ -226,6 +226,10 @@ v9fs_vfs_create_dotl(struct inode *dir, struct dentry *dentry, int omode,
                return PTR_ERR(filp);
        }
        filp->private_data = ofid;
+#ifdef CONFIG_9P_FSCACHE
+       if (v9ses->cache)
+               v9fs_cache_inode_set_cookie(inode, filp);
+#endif
        return 0;
 
 error: