Commit cd3758e3 authored by Trond Myklebust's avatar Trond Myklebust

NFS: Replace file->private_data with calls to nfs_file_open_context()

Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
parent c03025d5
...@@ -52,7 +52,7 @@ static int nfs_delegation_claim_locks(struct nfs_open_context *ctx, struct nfs4_ ...@@ -52,7 +52,7 @@ static int nfs_delegation_claim_locks(struct nfs_open_context *ctx, struct nfs4_
for (fl = inode->i_flock; fl != 0; fl = fl->fl_next) { for (fl = inode->i_flock; fl != 0; fl = fl->fl_next) {
if (!(fl->fl_flags & (FL_POSIX|FL_FLOCK))) if (!(fl->fl_flags & (FL_POSIX|FL_FLOCK)))
continue; continue;
if ((struct nfs_open_context *)fl->fl_file->private_data != ctx) if (nfs_file_open_context(fl->fl_file) != ctx)
continue; continue;
status = nfs4_lock_delegation_recall(state, fl); status = nfs4_lock_delegation_recall(state, fl);
if (status >= 0) if (status >= 0)
......
...@@ -558,7 +558,7 @@ static int nfs_readdir(struct file *filp, void *dirent, filldir_t filldir) ...@@ -558,7 +558,7 @@ static int nfs_readdir(struct file *filp, void *dirent, filldir_t filldir)
memset(desc, 0, sizeof(*desc)); memset(desc, 0, sizeof(*desc));
desc->file = filp; desc->file = filp;
desc->dir_cookie = &((struct nfs_open_context *)filp->private_data)->dir_cookie; desc->dir_cookie = &nfs_file_open_context(filp)->dir_cookie;
desc->decode = NFS_PROTO(inode)->decode_dirent; desc->decode = NFS_PROTO(inode)->decode_dirent;
desc->plus = NFS_USE_READDIRPLUS(inode); desc->plus = NFS_USE_READDIRPLUS(inode);
...@@ -623,7 +623,7 @@ static loff_t nfs_llseek_dir(struct file *filp, loff_t offset, int origin) ...@@ -623,7 +623,7 @@ static loff_t nfs_llseek_dir(struct file *filp, loff_t offset, int origin)
} }
if (offset != filp->f_pos) { if (offset != filp->f_pos) {
filp->f_pos = offset; filp->f_pos = offset;
((struct nfs_open_context *)filp->private_data)->dir_cookie = 0; nfs_file_open_context(filp)->dir_cookie = 0;
} }
out: out:
mutex_unlock(&filp->f_path.dentry->d_inode->i_mutex); mutex_unlock(&filp->f_path.dentry->d_inode->i_mutex);
......
...@@ -368,7 +368,7 @@ static ssize_t nfs_direct_read(struct kiocb *iocb, unsigned long user_addr, size ...@@ -368,7 +368,7 @@ static ssize_t nfs_direct_read(struct kiocb *iocb, unsigned long user_addr, size
return -ENOMEM; return -ENOMEM;
dreq->inode = inode; dreq->inode = inode;
dreq->ctx = get_nfs_open_context((struct nfs_open_context *)iocb->ki_filp->private_data); dreq->ctx = get_nfs_open_context(nfs_file_open_context(iocb->ki_filp));
if (!is_sync_kiocb(iocb)) if (!is_sync_kiocb(iocb))
dreq->iocb = iocb; dreq->iocb = iocb;
...@@ -718,7 +718,7 @@ static ssize_t nfs_direct_write(struct kiocb *iocb, unsigned long user_addr, siz ...@@ -718,7 +718,7 @@ static ssize_t nfs_direct_write(struct kiocb *iocb, unsigned long user_addr, siz
sync = FLUSH_STABLE; sync = FLUSH_STABLE;
dreq->inode = inode; dreq->inode = inode;
dreq->ctx = get_nfs_open_context((struct nfs_open_context *)iocb->ki_filp->private_data); dreq->ctx = get_nfs_open_context(nfs_file_open_context(iocb->ki_filp));
if (!is_sync_kiocb(iocb)) if (!is_sync_kiocb(iocb))
dreq->iocb = iocb; dreq->iocb = iocb;
......
...@@ -208,7 +208,7 @@ static int nfs_do_fsync(struct nfs_open_context *ctx, struct inode *inode) ...@@ -208,7 +208,7 @@ static int nfs_do_fsync(struct nfs_open_context *ctx, struct inode *inode)
static int static int
nfs_file_flush(struct file *file, fl_owner_t id) nfs_file_flush(struct file *file, fl_owner_t id)
{ {
struct nfs_open_context *ctx = (struct nfs_open_context *)file->private_data; struct nfs_open_context *ctx = nfs_file_open_context(file);
struct inode *inode = file->f_path.dentry->d_inode; struct inode *inode = file->f_path.dentry->d_inode;
int status; int status;
...@@ -296,7 +296,7 @@ nfs_file_mmap(struct file * file, struct vm_area_struct * vma) ...@@ -296,7 +296,7 @@ nfs_file_mmap(struct file * file, struct vm_area_struct * vma)
static int static int
nfs_fsync(struct file *file, struct dentry *dentry, int datasync) nfs_fsync(struct file *file, struct dentry *dentry, int datasync)
{ {
struct nfs_open_context *ctx = (struct nfs_open_context *)file->private_data; struct nfs_open_context *ctx = nfs_file_open_context(file);
struct inode *inode = dentry->d_inode; struct inode *inode = dentry->d_inode;
dfprintk(VFS, "nfs: fsync(%s/%ld)\n", inode->i_sb->s_id, inode->i_ino); dfprintk(VFS, "nfs: fsync(%s/%ld)\n", inode->i_sb->s_id, inode->i_ino);
...@@ -395,7 +395,7 @@ static int nfs_need_sync_write(struct file *filp, struct inode *inode) ...@@ -395,7 +395,7 @@ static int nfs_need_sync_write(struct file *filp, struct inode *inode)
if (IS_SYNC(inode) || (filp->f_flags & O_SYNC)) if (IS_SYNC(inode) || (filp->f_flags & O_SYNC))
return 1; return 1;
ctx = filp->private_data; ctx = nfs_file_open_context(filp);
if (test_bit(NFS_CONTEXT_ERROR_WRITE, &ctx->flags)) if (test_bit(NFS_CONTEXT_ERROR_WRITE, &ctx->flags))
return 1; return 1;
return 0; return 0;
...@@ -438,7 +438,7 @@ static ssize_t nfs_file_write(struct kiocb *iocb, const struct iovec *iov, ...@@ -438,7 +438,7 @@ static ssize_t nfs_file_write(struct kiocb *iocb, const struct iovec *iov,
result = generic_file_aio_write(iocb, iov, nr_segs, pos); result = generic_file_aio_write(iocb, iov, nr_segs, pos);
/* Return error values for O_SYNC and IS_SYNC() */ /* Return error values for O_SYNC and IS_SYNC() */
if (result >= 0 && nfs_need_sync_write(iocb->ki_filp, inode)) { if (result >= 0 && nfs_need_sync_write(iocb->ki_filp, inode)) {
int err = nfs_do_fsync(iocb->ki_filp->private_data, inode); int err = nfs_do_fsync(nfs_file_open_context(iocb->ki_filp), inode);
if (err < 0) if (err < 0)
result = err; result = err;
} }
......
...@@ -538,7 +538,7 @@ struct nfs_open_context *nfs_find_open_context(struct inode *inode, struct rpc_c ...@@ -538,7 +538,7 @@ struct nfs_open_context *nfs_find_open_context(struct inode *inode, struct rpc_c
static void nfs_file_clear_open_context(struct file *filp) static void nfs_file_clear_open_context(struct file *filp)
{ {
struct inode *inode = filp->f_path.dentry->d_inode; struct inode *inode = filp->f_path.dentry->d_inode;
struct nfs_open_context *ctx = (struct nfs_open_context *)filp->private_data; struct nfs_open_context *ctx = nfs_file_open_context(filp);
if (ctx) { if (ctx) {
filp->private_data = NULL; filp->private_data = NULL;
......
...@@ -1390,7 +1390,7 @@ static int nfs4_intent_set_file(struct nameidata *nd, struct path *path, struct ...@@ -1390,7 +1390,7 @@ static int nfs4_intent_set_file(struct nameidata *nd, struct path *path, struct
filp = lookup_instantiate_filp(nd, path->dentry, NULL); filp = lookup_instantiate_filp(nd, path->dentry, NULL);
if (!IS_ERR(filp)) { if (!IS_ERR(filp)) {
struct nfs_open_context *ctx; struct nfs_open_context *ctx;
ctx = (struct nfs_open_context *)filp->private_data; ctx = nfs_file_open_context(filp);
ctx->state = state; ctx->state = state;
return 0; return 0;
} }
...@@ -3303,7 +3303,7 @@ static int nfs4_proc_unlck(struct nfs4_state *state, int cmd, struct file_lock * ...@@ -3303,7 +3303,7 @@ static int nfs4_proc_unlck(struct nfs4_state *state, int cmd, struct file_lock *
status = -ENOMEM; status = -ENOMEM;
if (seqid == NULL) if (seqid == NULL)
goto out; goto out;
task = nfs4_do_unlck(request, request->fl_file->private_data, lsp, seqid); task = nfs4_do_unlck(request, nfs_file_open_context(request->fl_file), lsp, seqid);
status = PTR_ERR(task); status = PTR_ERR(task);
if (IS_ERR(task)) if (IS_ERR(task))
goto out; goto out;
...@@ -3447,7 +3447,7 @@ static int _nfs4_do_setlk(struct nfs4_state *state, int cmd, struct file_lock *f ...@@ -3447,7 +3447,7 @@ static int _nfs4_do_setlk(struct nfs4_state *state, int cmd, struct file_lock *f
int ret; int ret;
dprintk("%s: begin!\n", __FUNCTION__); dprintk("%s: begin!\n", __FUNCTION__);
data = nfs4_alloc_lockdata(fl, fl->fl_file->private_data, data = nfs4_alloc_lockdata(fl, nfs_file_open_context(fl->fl_file),
fl->fl_u.nfs4_fl.owner); fl->fl_u.nfs4_fl.owner);
if (data == NULL) if (data == NULL)
return -ENOMEM; return -ENOMEM;
...@@ -3573,7 +3573,7 @@ nfs4_proc_lock(struct file *filp, int cmd, struct file_lock *request) ...@@ -3573,7 +3573,7 @@ nfs4_proc_lock(struct file *filp, int cmd, struct file_lock *request)
int status; int status;
/* verify open state */ /* verify open state */
ctx = (struct nfs_open_context *)filp->private_data; ctx = nfs_file_open_context(filp);
state = ctx->state; state = ctx->state;
if (request->fl_start < 0 || request->fl_end < 0) if (request->fl_start < 0 || request->fl_end < 0)
......
...@@ -774,7 +774,7 @@ static int nfs4_reclaim_locks(struct nfs4_state_recovery_ops *ops, struct nfs4_s ...@@ -774,7 +774,7 @@ static int nfs4_reclaim_locks(struct nfs4_state_recovery_ops *ops, struct nfs4_s
for (fl = inode->i_flock; fl != 0; fl = fl->fl_next) { for (fl = inode->i_flock; fl != 0; fl = fl->fl_next) {
if (!(fl->fl_flags & (FL_POSIX|FL_FLOCK))) if (!(fl->fl_flags & (FL_POSIX|FL_FLOCK)))
continue; continue;
if (((struct nfs_open_context *)fl->fl_file->private_data)->state != state) if (nfs_file_open_context(fl->fl_file)->state != state)
continue; continue;
status = ops->recover_lock(state, fl); status = ops->recover_lock(state, fl);
if (status >= 0) if (status >= 0)
......
...@@ -497,8 +497,7 @@ int nfs_readpage(struct file *file, struct page *page) ...@@ -497,8 +497,7 @@ int nfs_readpage(struct file *file, struct page *page)
if (ctx == NULL) if (ctx == NULL)
goto out_unlock; goto out_unlock;
} else } else
ctx = get_nfs_open_context((struct nfs_open_context *) ctx = get_nfs_open_context(nfs_file_open_context(file));
file->private_data);
error = nfs_readpage_async(ctx, inode, page); error = nfs_readpage_async(ctx, inode, page);
...@@ -576,8 +575,7 @@ int nfs_readpages(struct file *filp, struct address_space *mapping, ...@@ -576,8 +575,7 @@ int nfs_readpages(struct file *filp, struct address_space *mapping,
if (desc.ctx == NULL) if (desc.ctx == NULL)
return -EBADF; return -EBADF;
} else } else
desc.ctx = get_nfs_open_context((struct nfs_open_context *) desc.ctx = get_nfs_open_context(nfs_file_open_context(filp));
filp->private_data);
if (rsize < PAGE_CACHE_SIZE) if (rsize < PAGE_CACHE_SIZE)
nfs_pageio_init(&pgio, inode, nfs_pagein_multi, rsize, 0); nfs_pageio_init(&pgio, inode, nfs_pagein_multi, rsize, 0);
else else
......
...@@ -667,7 +667,7 @@ static struct nfs_page * nfs_update_request(struct nfs_open_context* ctx, ...@@ -667,7 +667,7 @@ static struct nfs_page * nfs_update_request(struct nfs_open_context* ctx,
int nfs_flush_incompatible(struct file *file, struct page *page) int nfs_flush_incompatible(struct file *file, struct page *page)
{ {
struct nfs_open_context *ctx = (struct nfs_open_context *)file->private_data; struct nfs_open_context *ctx = nfs_file_open_context(file);
struct nfs_page *req; struct nfs_page *req;
int do_flush, status; int do_flush, status;
/* /*
...@@ -701,7 +701,7 @@ int nfs_flush_incompatible(struct file *file, struct page *page) ...@@ -701,7 +701,7 @@ int nfs_flush_incompatible(struct file *file, struct page *page)
int nfs_updatepage(struct file *file, struct page *page, int nfs_updatepage(struct file *file, struct page *page,
unsigned int offset, unsigned int count) unsigned int offset, unsigned int count)
{ {
struct nfs_open_context *ctx = (struct nfs_open_context *)file->private_data; struct nfs_open_context *ctx = nfs_file_open_context(file);
struct inode *inode = page->mapping->host; struct inode *inode = page->mapping->host;
int status = 0; int status = 0;
......
...@@ -338,12 +338,8 @@ static inline struct nfs_open_context *nfs_file_open_context(struct file *filp) ...@@ -338,12 +338,8 @@ static inline struct nfs_open_context *nfs_file_open_context(struct file *filp)
static inline struct rpc_cred *nfs_file_cred(struct file *file) static inline struct rpc_cred *nfs_file_cred(struct file *file)
{ {
if (file != NULL) { if (file != NULL)
struct nfs_open_context *ctx; return nfs_file_open_context(file)->cred;
ctx = (struct nfs_open_context*)file->private_data;
return ctx->cred;
}
return NULL; return NULL;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment