Index: linux-2.6.12-rc6/fs/nfs/dir.c =================================================================== --- linux-2.6.12-rc6.orig/fs/nfs/dir.c 2005-06-14 14:22:14.585699648 +0200 +++ linux-2.6.12-rc6/fs/nfs/dir.c 2005-06-14 14:26:39.884524523 +0200 @@ -727,7 +727,7 @@ return 0; if (nd == NULL || nfs_lookup_check_intent(nd, LOOKUP_CREATE) == 0) 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) @@ -783,7 +783,7 @@ 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; } @@ -805,7 +805,7 @@ 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 */ @@ -817,7 +817,7 @@ goto out; } - 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); @@ -833,7 +833,7 @@ 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: */ @@ -874,7 +874,7 @@ /* 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; @@ -1028,7 +1028,7 @@ attr.ia_valid = ATTR_MODE; if (nd && (nd->flags & LOOKUP_CREATE)) - open_flags = nd->intent.open.flags; + open_flags = nd->intent.it_flags; lock_kernel(); nfs_begin_data_update(dir); Index: linux-2.6.12-rc6/fs/nfs/nfs4proc.c =================================================================== --- linux-2.6.12-rc6.orig/fs/nfs/nfs4proc.c 2005-06-06 17:22:29.000000000 +0200 +++ linux-2.6.12-rc6/fs/nfs/nfs4proc.c 2005-06-14 14:30:18.499756220 +0200 @@ -877,19 +877,19 @@ 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); if (IS_ERR(cred)) return (struct inode *)cred; - state = nfs4_do_open(dir, dentry, nd->intent.open.flags, &attr, cred); + state = nfs4_do_open(dir, dentry, nd->intent.it_flags, &attr, cred); put_rpccred(cred); if (IS_ERR(state)) return (struct inode *)state; Index: linux-2.6.12-rc6/fs/cifs/dir.c =================================================================== --- linux-2.6.12-rc6.orig/fs/cifs/dir.c 2005-06-06 17:22:29.000000000 +0200 +++ linux-2.6.12-rc6/fs/cifs/dir.c 2005-06-14 14:26:39.915774522 +0200 @@ -146,23 +146,23 @@ } 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"));