X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=fs%2Fsuper.c;h=cd352530eca906eb64d722592c85e2fa3ef02886;hb=ab7541c3addd344939e76d0636da0048ce24f2db;hp=cfadab2cbf35fdfd67139e6c341840308adb93b9;hpb=5e3b06d3bbdfb875ec6ad5e5fa5d86b0e79ea065;p=linux.git diff --git a/fs/super.c b/fs/super.c index cfadab2cbf35..cd352530eca9 100644 --- a/fs/super.c +++ b/fs/super.c @@ -448,10 +448,12 @@ void generic_shutdown_super(struct super_block *sb) sync_filesystem(sb); sb->s_flags &= ~SB_ACTIVE; - fsnotify_sb_delete(sb); cgroup_writeback_umount(); + /* evict all inodes with zero refcount */ evict_inodes(sb); + /* only nonzero refcount inodes can have marks */ + fsnotify_sb_delete(sb); if (sb->s_dio_done_wq) { destroy_workqueue(sb->s_dio_done_wq);