Commit 9b243492 authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'pull-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs

Pull vfs fixes from Al Viro:
 "A couple of fixes - revert of regression from this cycle and a fix for
  erofs failure exit breakage (had been there since way back)"

* tag 'pull-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
  erofs: fix handling kern_mount() failure
  Revert "get rid of DCACHE_GENOCIDE"
parents ab0a97cf 2c88c16d
...@@ -3061,8 +3061,11 @@ static enum d_walk_ret d_genocide_kill(void *data, struct dentry *dentry) ...@@ -3061,8 +3061,11 @@ static enum d_walk_ret d_genocide_kill(void *data, struct dentry *dentry)
if (d_unhashed(dentry) || !dentry->d_inode) if (d_unhashed(dentry) || !dentry->d_inode)
return D_WALK_SKIP; return D_WALK_SKIP;
if (!(dentry->d_flags & DCACHE_GENOCIDE)) {
dentry->d_flags |= DCACHE_GENOCIDE;
dentry->d_lockref.count--; dentry->d_lockref.count--;
} }
}
return D_WALK_CONTINUE; return D_WALK_CONTINUE;
} }
......
...@@ -381,11 +381,12 @@ static int erofs_fscache_init_domain(struct super_block *sb) ...@@ -381,11 +381,12 @@ static int erofs_fscache_init_domain(struct super_block *sb)
goto out; goto out;
if (!erofs_pseudo_mnt) { if (!erofs_pseudo_mnt) {
erofs_pseudo_mnt = kern_mount(&erofs_fs_type); struct vfsmount *mnt = kern_mount(&erofs_fs_type);
if (IS_ERR(erofs_pseudo_mnt)) { if (IS_ERR(mnt)) {
err = PTR_ERR(erofs_pseudo_mnt); err = PTR_ERR(mnt);
goto out; goto out;
} }
erofs_pseudo_mnt = mnt;
} }
domain->volume = sbi->volume; domain->volume = sbi->volume;
......
...@@ -173,6 +173,7 @@ struct dentry_operations { ...@@ -173,6 +173,7 @@ struct dentry_operations {
#define DCACHE_DONTCACHE BIT(7) /* Purge from memory on final dput() */ #define DCACHE_DONTCACHE BIT(7) /* Purge from memory on final dput() */
#define DCACHE_CANT_MOUNT BIT(8) #define DCACHE_CANT_MOUNT BIT(8)
#define DCACHE_GENOCIDE BIT(9)
#define DCACHE_SHRINK_LIST BIT(10) #define DCACHE_SHRINK_LIST BIT(10)
#define DCACHE_OP_WEAK_REVALIDATE BIT(11) #define DCACHE_OP_WEAK_REVALIDATE BIT(11)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment