History

NFSv4: Honour the 'opened' parameter in the atomic_open() filesystem method

Determine if we've created a new file by examining the directory change attribute and/or the O_EXCL flag. This fixes a regression when doing a non-exclusive create of a new file. If the FILE_CREATED flag is not set, the atomic_open() command will perform full file access permissions checks instead of just checking for MAY_OPEN.

Trond Myklebust committed 13 years ago

Commit 5bc2afc1 parent 4a10c2a4 files · +24 −10Browse files

Showing the changes to include/linux (1 of 4 files). Show all

Unified · Split

include/linux/nfs_xdr.h+2−1
@@ -1455,7 +1455,8 @@ struct nfs_rpc_ops { · 1454 unmodified lines
1455 struct inode * (*open_context) (struct inode *dir,1455 struct inode * (*open_context) (struct inode *dir,
1456 struct nfs_open_context *ctx,1456 struct nfs_open_context *ctx,
1457 int open_flags,1457 int open_flags,
1458 struct iattr *iattr);1458 struct iattr *iattr,
1459 int *);
1459 int (*have_delegation)(struct inode *, fmode_t);1460 int (*have_delegation)(struct inode *, fmode_t);
1460 int (*return_delegation)(struct inode *);1461 int (*return_delegation)(struct inode *);
1461 struct nfs_client *(*alloc_client) (const struct nfs_client_initdata *);1462 struct nfs_client *(*alloc_client) (const struct nfs_client_initdata *);