Does this patch help?

--- linux-2.4.22/fs/namei.c     2003-08-25 04:44:43.000000000 -0700
+++ linux-2.4.22-gg4/fs/namei.c 2003-09-26 00:03:16.000000000 -0700
@@ -893,6 +893,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)
 {
@@ -916,6 +918,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;
 }
 
@@ -1484,13 +1488,14 @@ int vfs_unlink(struct inode *dir, struct
                                lock_kernel();
                                error = dir->i_op->unlink(dir, dentry);
                                unlock_kernel();
-                               if (!error)
+                               if (!error &&
+                                   !(dentry->d_flags & DCACHE_NFSFS_RENAMED))
                                        d_delete(dentry);
                        }
                }
        }
        up(&dir->i_zombie);
-       if (!error)
+       if (!error && !(dentry->d_flags & DCACHE_NFSFS_RENAMED))
                inode_dir_notify(dir, DN_DELETE);
        return error;
 }
_______________________________________________
autofs mailing list
[EMAIL PROTECTED]
http://linux.kernel.org/mailman/listinfo/autofs

Reply via email to