]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - include/linux/nfs_fs.h
Merge branch 'nfs-for-2.6.36' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6
[net-next-2.6.git] / include / linux / nfs_fs.h
index bad4d121b16efa42fa161b2b525d1e73f42b8a71..508f8cf6da379bc7179b5c8f22d534a63a539ad0 100644 (file)
@@ -72,13 +72,20 @@ struct nfs_access_entry {
        int                     mask;
 };
 
+struct nfs_lock_context {
+       atomic_t count;
+       struct list_head list;
+       struct nfs_open_context *open_context;
+       fl_owner_t lockowner;
+       pid_t pid;
+};
+
 struct nfs4_state;
 struct nfs_open_context {
-       atomic_t count;
+       struct nfs_lock_context lock_context;
        struct path path;
        struct rpc_cred *cred;
        struct nfs4_state *state;
-       fl_owner_t lockowner;
        fmode_t mode;
 
        unsigned long flags;
@@ -353,6 +360,8 @@ extern void nfs_setattr_update_inode(struct inode *inode, struct iattr *attr);
 extern struct nfs_open_context *get_nfs_open_context(struct nfs_open_context *ctx);
 extern void put_nfs_open_context(struct nfs_open_context *ctx);
 extern struct nfs_open_context *nfs_find_open_context(struct inode *inode, struct rpc_cred *cred, fmode_t mode);
+extern struct nfs_lock_context *nfs_get_lock_context(struct nfs_open_context *ctx);
+extern void nfs_put_lock_context(struct nfs_lock_context *l_ctx);
 extern u64 nfs_compat_user_ino64(u64 fileid);
 extern void nfs_fattr_init(struct nfs_fattr *fattr);