From b45c7e092e2cf777e1e8fc9381f318d41b99fc57 Mon Sep 17 00:00:00 2001 From: Trond Myklebust Date: Thu, 13 Jan 2011 14:15:50 -0500 Subject: [PATCH] --- yaml --- r: 230631 b: refs/heads/master c: 8a0eebf66e3b1deae036553ba641a9c2bdbae678 h: refs/heads/master i: 230629: b579f1ced2961b79c03125245c3491f31c2e27dc 230627: 35104086ef6278edf533ad3a1aa3aa9bb12cd044 230623: 90a2d57c384310309a9268216f6fa82143bf8522 v: v3 --- [refs] | 2 +- trunk/fs/nfs/dir.c | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 35aa84738439..bfad6e22dd5a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 581548db3b3c0f6e25b500329eb02e3c72e7acbe +refs/heads/master: 8a0eebf66e3b1deae036553ba641a9c2bdbae678 diff --git a/trunk/fs/nfs/dir.c b/trunk/fs/nfs/dir.c index 95b081bc9e25..64ee240f3c80 100644 --- a/trunk/fs/nfs/dir.c +++ b/trunk/fs/nfs/dir.c @@ -1579,6 +1579,7 @@ static int nfs_create(struct inode *dir, struct dentry *dentry, int mode, { struct iattr attr; int error; + int open_flags = 0; dfprintk(VFS, "NFS: create(%s/%ld), %s\n", dir->i_sb->s_id, dir->i_ino, dentry->d_name.name); @@ -1586,7 +1587,10 @@ static int nfs_create(struct inode *dir, struct dentry *dentry, int mode, attr.ia_mode = mode; attr.ia_valid = ATTR_MODE; - error = NFS_PROTO(dir)->create(dir, dentry, &attr, 0, NULL); + if ((nd->flags & LOOKUP_CREATE) != 0) + open_flags = nd->intent.open.flags; + + error = NFS_PROTO(dir)->create(dir, dentry, &attr, open_flags, NULL); if (error != 0) goto out_err; return 0;