Author: mjg
Date: Fri Oct 23 15:50:49 2020
New Revision: 366975
URL: https://svnweb.freebsd.org/changeset/base/366975

Log:
  vfs: drop spurious cache_purge on rmdir
  
  The removed directory gets cache_purged which is sufficient to remove any 
entries
  related to the parent.
  
  Note only tmpfs, ufs and zfs are patched.

Modified:
  head/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_vnops.c
  head/sys/fs/tmpfs/tmpfs_vnops.c
  head/sys/ufs/ufs/ufs_vnops.c

Modified: head/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_vnops.c
==============================================================================
--- head/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_vnops.c  Fri Oct 23 
15:49:18 2020        (r366974)
+++ head/sys/contrib/openzfs/module/os/freebsd/zfs/zfs_vnops.c  Fri Oct 23 
15:50:49 2020        (r366975)
@@ -2332,8 +2332,6 @@ zfs_rmdir_(vnode_t *dvp, vnode_t *vp, const char *name
                return (error);
        }
 
-       cache_purge(dvp);
-
        error = zfs_link_destroy(dzp, name, zp, tx, ZEXISTS, NULL);
 
        if (error == 0) {

Modified: head/sys/fs/tmpfs/tmpfs_vnops.c
==============================================================================
--- head/sys/fs/tmpfs/tmpfs_vnops.c     Fri Oct 23 15:49:18 2020        
(r366974)
+++ head/sys/fs/tmpfs/tmpfs_vnops.c     Fri Oct 23 15:50:49 2020        
(r366975)
@@ -1331,7 +1331,6 @@ tmpfs_rmdir(struct vop_rmdir_args *v)
        TMPFS_NODE_UNLOCK(dnode);
 
        if (tmpfs_use_nc(dvp)) {
-               cache_purge(dvp);
                cache_purge(vp);
        }
 

Modified: head/sys/ufs/ufs/ufs_vnops.c
==============================================================================
--- head/sys/ufs/ufs/ufs_vnops.c        Fri Oct 23 15:49:18 2020        
(r366974)
+++ head/sys/ufs/ufs/ufs_vnops.c        Fri Oct 23 15:50:49 2020        
(r366975)
@@ -2204,7 +2204,6 @@ ufs_rmdir(ap)
                        softdep_revert_rmdir(dp, ip);
                goto out;
        }
-       cache_purge(dvp);
        /*
         * The only stuff left in the directory is "." and "..". The "."
         * reference is inconsequential since we are quashing it. The soft
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to