[PATCH] nfs_unlink() again, and trivial nfs_fhget

From: Frank Cusack (fcusack@fcusack.com)
Date: Tue Jun 17 2003 - 07:14:09 EST


The first one didn't make it into 2.5.71/72, but is necessary. :-)
The second one removes a redundant assignment.

/fc

diff -urp linux-2.5.72/fs/namei.c linux-2.5.72-silly/fs/namei.c
--- linux-2.5.72/fs/namei.c Mon Jun 16 21:19:57 2003
+++ linux-2.5.72-silly/fs/namei.c Tue Jun 17 05:09:04 2003
@@ -985,6 +985,8 @@ static inline int check_sticky(struct in
  * 7. If we were asked to remove a directory and victim isn't one - ENOTDIR.
  * 8. If we were asked to remove a non-directory and victim isn't one - EISDIR.
  * 9. We can't remove a root or mountpoint.
+ * 10. We don't allow removal of NFS sillyrenamed files; it's handled by
+ * nfs_async_unlink().
  */
 static inline int may_delete(struct inode *dir,struct dentry *victim, int isdir)
 {
@@ -1008,6 +1010,8 @@ static inline int may_delete(struct inod
                 return -EISDIR;
         if (IS_DEADDIR(dir))
                 return -ENOENT;
+ if (victim->d_flags & DCACHE_NFSFS_RENAMED)
+ return -EBUSY;
         return 0;
 }
 
diff -urp linux-2.5.72/fs/nfs/inode.c linux-2.5.72-silly/fs/nfs/inode.c
--- linux-2.5.72/fs/nfs/inode.c Mon Jun 16 21:20:20 2003
+++ linux-2.5.72-silly/fs/nfs/inode.c Tue Jun 17 05:03:19 2003
@@ -715,7 +715,6 @@ __nfs_fhget(struct super_block *sb, stru
                 if (fattr->valid & NFS_ATTR_FATTR_V4)
                         nfsi->change_attr = fattr->change_attr;
                 inode->i_size = nfs_size_to_loff_t(fattr->size);
- inode->i_mode = fattr->mode;
                 inode->i_nlink = fattr->nlink;
                 inode->i_uid = fattr->uid;
                 inode->i_gid = fattr->gid;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon Jun 23 2003 - 22:00:20 EST