diff options
author | Trond Myklebust <Trond.Myklebust@netapp.com> | 2013-05-29 13:34:46 -0400 |
---|---|---|
committer | Trond Myklebust <Trond.Myklebust@netapp.com> | 2013-06-06 16:24:44 -0400 |
commit | c45ffdd26961302ec5eeac7311553d6f1e348e9c (patch) | |
tree | 2e7afeafe15c0a6c3886cd16a4cc601337ee3ea5 /include/linux/nfs_fs.h | |
parent | 275bb307865a316cef390e01e6ab5e21e97023a2 (diff) | |
download | linux-stable-c45ffdd26961302ec5eeac7311553d6f1e348e9c.tar.gz linux-stable-c45ffdd26961302ec5eeac7311553d6f1e348e9c.tar.bz2 linux-stable-c45ffdd26961302ec5eeac7311553d6f1e348e9c.zip |
NFSv4: Close another NFSv4 recovery race
State recovery currently relies on being able to find a valid
nfs_open_context in the inode->open_files list.
We therefore need to put the nfs_open_context on the list while
we're still protected by the sp->so_reclaim_seqcount in order
to avoid reboot races.
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Diffstat (limited to 'include/linux/nfs_fs.h')
-rw-r--r-- | include/linux/nfs_fs.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/nfs_fs.h b/include/linux/nfs_fs.h index fc01d5cb4cf1..1384ed92cad6 100644 --- a/include/linux/nfs_fs.h +++ b/include/linux/nfs_fs.h @@ -356,6 +356,7 @@ extern struct nfs_open_context *get_nfs_open_context(struct nfs_open_context *ct 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_open_context *alloc_nfs_open_context(struct dentry *dentry, fmode_t f_mode); +extern void nfs_inode_attach_open_context(struct nfs_open_context *ctx); extern void nfs_file_set_open_context(struct file *filp, struct nfs_open_context *ctx); 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); |