Merge branch 'x86-mrst-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[pandora-kernel.git] / include / linux / nfs_fs.h
index bad4d12..d0edf7d 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;
@@ -178,7 +185,7 @@ struct nfs_inode {
        struct nfs4_cached_acl  *nfs4_acl;
         /* NFSv4 state */
        struct list_head        open_states;
-       struct nfs_delegation   *delegation;
+       struct nfs_delegation __rcu *delegation;
        fmode_t                  delegation_state;
        struct rw_semaphore     rwsem;
 #endif /* CONFIG_NFS_V4*/
@@ -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);