On Tue, Jun 02, 2015 at 05:19:14PM -0700, Omar Sandoval wrote: > I also can't figure out what that shrink_dcache_sb() is doing there. > d_invalidate() already prunes the dentry cache under the deleted > subvolume, but this clears the dcache for the whole filesystem, which > could incur unnecessary overhead. Correct analysis and the penalty is noticeable. In a directory where the new/deleted subvolume flux is high. A 'ls' can take very long because all the cached dentries are forcibly dropped and the metadata blocks have to be read again. > The call was added by efefb1438be2 > ("Btrfs: remove negative dentry when deleting subvolumne"), which fixes > a problem in btrfs_dentry_delete(), but the commit message doesn't > explain what shrink_dcache_sb() had to do with it. I'll send in an > updated version with d_invalidate() moved and shrink_dcache_sb() removed > and see if anyone can enlighten me. I think it's a material for a separate patch. -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html