diff options
| -rw-r--r-- | fs/super.c | 6 | 
1 files changed, 5 insertions, 1 deletions
| diff --git a/fs/super.c b/fs/super.c index 7ff1349609e4..06bd25d90ba5 100644 --- a/fs/super.c +++ b/fs/super.c @@ -517,7 +517,11 @@ retry:  	hlist_add_head(&s->s_instances, &type->fs_supers);  	spin_unlock(&sb_lock);  	get_filesystem(type); -	register_shrinker(&s->s_shrink); +	err = register_shrinker(&s->s_shrink); +	if (err) { +		deactivate_locked_super(s); +		s = ERR_PTR(err); +	}  	return s;  } | 
