This commit was manufactured by cvs2svn to create tag
[linux-2.6.git] / fs / nfsd / nfs4state.c
index 0ff4425..4df0ded 100644 (file)
@@ -1140,9 +1140,10 @@ int status;
 
        if (share_access & NFS4_SHARE_ACCESS_WRITE) {
                status = get_write_access(filp->f_dentry->d_inode);
-               if (status)
+               if (!status)
+                       filp->f_mode = FMODE_WRITE;
+               else
                        return nfserrno(status);
-               filp->f_mode = (filp->f_mode | FMODE_WRITE) & ~FMODE_READ;
        }
        return nfs_ok;
 }
@@ -1152,7 +1153,7 @@ nfs4_file_downgrade(struct file *filp, unsigned int share_access)
 {
        if (share_access & NFS4_SHARE_ACCESS_WRITE) {
                put_write_access(filp->f_dentry->d_inode);
-               filp->f_mode = (filp->f_mode | FMODE_READ) & ~FMODE_WRITE;
+               filp->f_mode = FMODE_READ;
        }
 }