?? nfs-cifs-intent-2.6-fc3.patch
字號:
Index: linux-2.6.10/fs/cifs/dir.c===================================================================--- linux-2.6.10.orig/fs/cifs/dir.c+++ linux-2.6.10/fs/cifs/dir.c@@ -199,23 +199,23 @@ cifs_create(struct inode *inode, struct } if(nd) {- if ((nd->intent.open.flags & O_ACCMODE) == O_RDONLY)+ if ((nd->intent.it_flags & O_ACCMODE) == O_RDONLY) desiredAccess = GENERIC_READ;- else if ((nd->intent.open.flags & O_ACCMODE) == O_WRONLY) {+ else if ((nd->intent.it_flags & O_ACCMODE) == O_WRONLY) { desiredAccess = GENERIC_WRITE; write_only = TRUE;- } else if ((nd->intent.open.flags & O_ACCMODE) == O_RDWR) {+ } else if ((nd->intent.it_flags & O_ACCMODE) == O_RDWR) { /* GENERIC_ALL is too much permission to request */ /* can cause unnecessary access denied on create */ /* desiredAccess = GENERIC_ALL; */ desiredAccess = GENERIC_READ | GENERIC_WRITE; } - if((nd->intent.open.flags & (O_CREAT | O_EXCL)) == (O_CREAT | O_EXCL))+ if((nd->intent.it_flags & (O_CREAT | O_EXCL)) == (O_CREAT | O_EXCL)) disposition = FILE_CREATE;- else if((nd->intent.open.flags & (O_CREAT | O_TRUNC)) == (O_CREAT | O_TRUNC))+ else if((nd->intent.it_flags & (O_CREAT | O_TRUNC)) == (O_CREAT | O_TRUNC)) disposition = FILE_OVERWRITE_IF;- else if((nd->intent.open.flags & O_CREAT) == O_CREAT)+ else if((nd->intent.it_flags & O_CREAT) == O_CREAT) disposition = FILE_OPEN_IF; else { cFYI(1,("Create flag not set in create function"));Index: linux-2.6.10/fs/nfs/nfs4proc.c===================================================================--- linux-2.6.10.orig/fs/nfs/nfs4proc.c+++ linux-2.6.10/fs/nfs/nfs4proc.c@@ -775,17 +775,17 @@ nfs4_atomic_open(struct inode *dir, stru struct nfs4_state *state; if (nd->flags & LOOKUP_CREATE) {- attr.ia_mode = nd->intent.open.create_mode;+ attr.ia_mode = nd->intent.it_create_mode; attr.ia_valid = ATTR_MODE; if (!IS_POSIXACL(dir)) attr.ia_mode &= ~current->fs->umask; } else { attr.ia_valid = 0;- BUG_ON(nd->intent.open.flags & O_CREAT);+ BUG_ON(nd->intent.it_flags & O_CREAT); } cred = rpcauth_lookupcred(NFS_SERVER(dir)->client->cl_auth, 0);- state = nfs4_do_open(dir, &dentry->d_name, nd->intent.open.flags, &attr, cred);+ state = nfs4_do_open(dir, &dentry->d_name, nd->intent.it_flags, &attr, cred); put_rpccred(cred); if (IS_ERR(state)) return (struct inode *)state;Index: linux-2.6.10/fs/nfs/dir.c===================================================================--- linux-2.6.10.orig/fs/nfs/dir.c+++ linux-2.6.10/fs/nfs/dir.c@@ -718,7 +718,7 @@ int nfs_is_exclusive_create(struct inode return 0; if (!nd || (nd->flags & LOOKUP_CONTINUE) || !(nd->flags & LOOKUP_CREATE)) return 0;- return (nd->intent.open.flags & O_EXCL) != 0;+ return (nd->intent.it_flags & O_EXCL) != 0; } static struct dentry *nfs_lookup(struct inode *dir, struct dentry * dentry, struct nameidata *nd)@@ -791,7 +791,7 @@ static int is_atomic_open(struct inode * if (nd->flags & LOOKUP_DIRECTORY) return 0; /* Are we trying to write to a read only partition? */- if (IS_RDONLY(dir) && (nd->intent.open.flags & (O_CREAT|O_TRUNC|FMODE_WRITE)))+ if (IS_RDONLY(dir) && (nd->intent.it_flags & (O_CREAT|O_TRUNC|FMODE_WRITE))) return 0; return 1; }@@ -812,7 +812,7 @@ static struct dentry *nfs_atomic_lookup( dentry->d_op = NFS_PROTO(dir)->dentry_ops; /* Let vfs_create() deal with O_EXCL */- if (nd->intent.open.flags & O_EXCL)+ if (nd->intent.it_flags & O_EXCL) goto no_entry; /* Open the file on the server */@@ -820,7 +820,7 @@ static struct dentry *nfs_atomic_lookup( /* Revalidate parent directory attribute cache */ nfs_revalidate_inode(NFS_SERVER(dir), dir); - if (nd->intent.open.flags & O_CREAT) {+ if (nd->intent.it_flags & O_CREAT) { nfs_begin_data_update(dir); inode = nfs4_atomic_open(dir, dentry, nd); nfs_end_data_update(dir);@@ -836,7 +836,7 @@ static struct dentry *nfs_atomic_lookup( break; /* This turned out not to be a regular file */ case -ELOOP:- if (!(nd->intent.open.flags & O_NOFOLLOW))+ if (!(nd->intent.it_flags & O_NOFOLLOW)) goto no_open; /* case -EISDIR: */ /* case -EINVAL: */@@ -875,7 +875,7 @@ static int nfs_open_revalidate(struct de /* NFS only supports OPEN on regular files */ if (!S_ISREG(inode->i_mode)) goto no_open;- openflags = nd->intent.open.flags;+ openflags = nd->intent.it_flags; /* We cannot do exclusive creation on a positive dentry */ if ((openflags & (O_CREAT|O_EXCL)) == (O_CREAT|O_EXCL)) goto no_open;@@ -1043,7 +1043,8 @@ static int nfs_create(struct inode *dir, attr.ia_valid = ATTR_MODE; if (nd && (nd->flags & LOOKUP_CREATE))- open_flags = nd->intent.open.flags;+ open_flags = nd->intent.it_flags;+ /* * The 0 argument passed into the create function should one day
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -