diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-03-04 11:15:33 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-03-04 11:15:33 -0500 |
commit | 0f2cc4ecd81dc1917a041dc93db0ada28f8356fa (patch) | |
tree | f128b50f48f50f0cda6d2b20b53e9ad6e2dfded3 /fs/nfs | |
parent | 1fae4cfb97302289bb5df6a8195eb28385d0b002 (diff) | |
parent | 9643f5d94aadd47a5fa9754fb60f2c957de05903 (diff) |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (52 commits)
init: Open /dev/console from rootfs
mqueue: fix typo "failues" -> "failures"
mqueue: only set error codes if they are really necessary
mqueue: simplify do_open() error handling
mqueue: apply mathematics distributivity on mq_bytes calculation
mqueue: remove unneeded info->messages initialization
mqueue: fix mq_open() file descriptor leak on user-space processes
fix race in d_splice_alias()
set S_DEAD on unlink() and non-directory rename() victims
vfs: add NOFOLLOW flag to umount(2)
get rid of ->mnt_parent in tomoyo/realpath
hppfs can use existing proc_mnt, no need for do_kern_mount() in there
Mirror MS_KERNMOUNT in ->mnt_flags
get rid of useless vfsmount_lock use in put_mnt_ns()
Take vfsmount_lock to fs/internal.h
get rid of insanity with namespace roots in tomoyo
take check for new events in namespace (guts of mounts_poll()) to namespace.c
Don't mess with generic_permission() under ->d_lock in hpfs
sanitize const/signedness for udf
nilfs: sanitize const/signedness in dealing with ->d_name.name
...
Fix up fairly trivial (famous last words...) conflicts in
drivers/infiniband/core/uverbs_main.c and security/tomoyo/realpath.c
Diffstat (limited to 'fs/nfs')
-rw-r--r-- | fs/nfs/inode.c | 8 | ||||
-rw-r--r-- | fs/nfs/nfs4proc.c | 8 |
2 files changed, 8 insertions, 8 deletions
diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c index f141bde7756a..7570573bdb30 100644 --- a/fs/nfs/inode.c +++ b/fs/nfs/inode.c | |||
@@ -574,14 +574,14 @@ void nfs_close_context(struct nfs_open_context *ctx, int is_sync) | |||
574 | nfs_revalidate_inode(server, inode); | 574 | nfs_revalidate_inode(server, inode); |
575 | } | 575 | } |
576 | 576 | ||
577 | static struct nfs_open_context *alloc_nfs_open_context(struct vfsmount *mnt, struct dentry *dentry, struct rpc_cred *cred) | 577 | static struct nfs_open_context *alloc_nfs_open_context(struct path *path, struct rpc_cred *cred) |
578 | { | 578 | { |
579 | struct nfs_open_context *ctx; | 579 | struct nfs_open_context *ctx; |
580 | 580 | ||
581 | ctx = kmalloc(sizeof(*ctx), GFP_KERNEL); | 581 | ctx = kmalloc(sizeof(*ctx), GFP_KERNEL); |
582 | if (ctx != NULL) { | 582 | if (ctx != NULL) { |
583 | ctx->path.dentry = dget(dentry); | 583 | ctx->path = *path; |
584 | ctx->path.mnt = mntget(mnt); | 584 | path_get(&ctx->path); |
585 | ctx->cred = get_rpccred(cred); | 585 | ctx->cred = get_rpccred(cred); |
586 | ctx->state = NULL; | 586 | ctx->state = NULL; |
587 | ctx->lockowner = current->files; | 587 | ctx->lockowner = current->files; |
@@ -686,7 +686,7 @@ int nfs_open(struct inode *inode, struct file *filp) | |||
686 | cred = rpc_lookup_cred(); | 686 | cred = rpc_lookup_cred(); |
687 | if (IS_ERR(cred)) | 687 | if (IS_ERR(cred)) |
688 | return PTR_ERR(cred); | 688 | return PTR_ERR(cred); |
689 | ctx = alloc_nfs_open_context(filp->f_path.mnt, filp->f_path.dentry, cred); | 689 | ctx = alloc_nfs_open_context(&filp->f_path, cred); |
690 | put_rpccred(cred); | 690 | put_rpccred(cred); |
691 | if (ctx == NULL) | 691 | if (ctx == NULL) |
692 | return -ENOMEM; | 692 | return -ENOMEM; |
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index 375f0fae2c6a..84d83be25a98 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c | |||
@@ -724,8 +724,8 @@ static struct nfs4_opendata *nfs4_opendata_alloc(struct path *path, | |||
724 | p->o_arg.seqid = nfs_alloc_seqid(&sp->so_seqid); | 724 | p->o_arg.seqid = nfs_alloc_seqid(&sp->so_seqid); |
725 | if (p->o_arg.seqid == NULL) | 725 | if (p->o_arg.seqid == NULL) |
726 | goto err_free; | 726 | goto err_free; |
727 | p->path.mnt = mntget(path->mnt); | 727 | path_get(path); |
728 | p->path.dentry = dget(path->dentry); | 728 | p->path = *path; |
729 | p->dir = parent; | 729 | p->dir = parent; |
730 | p->owner = sp; | 730 | p->owner = sp; |
731 | atomic_inc(&sp->so_count); | 731 | atomic_inc(&sp->so_count); |
@@ -1944,8 +1944,8 @@ int nfs4_do_close(struct path *path, struct nfs4_state *state, int wait) | |||
1944 | calldata->res.seqid = calldata->arg.seqid; | 1944 | calldata->res.seqid = calldata->arg.seqid; |
1945 | calldata->res.server = server; | 1945 | calldata->res.server = server; |
1946 | calldata->res.seq_res.sr_slotid = NFS4_MAX_SLOT_TABLE; | 1946 | calldata->res.seq_res.sr_slotid = NFS4_MAX_SLOT_TABLE; |
1947 | calldata->path.mnt = mntget(path->mnt); | 1947 | path_get(path); |
1948 | calldata->path.dentry = dget(path->dentry); | 1948 | calldata->path = *path; |
1949 | 1949 | ||
1950 | msg.rpc_argp = &calldata->arg, | 1950 | msg.rpc_argp = &calldata->arg, |
1951 | msg.rpc_resp = &calldata->res, | 1951 | msg.rpc_resp = &calldata->res, |