staging: erofs: set sb->s_root to NULL when failing from __getname()
authorChengguang Xu <cgxu519@gmail.com>
Mon, 6 May 2019 11:01:02 +0000 (19:01 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 20 May 2019 07:18:18 +0000 (09:18 +0200)
Set sb->s_root to NULL when failing from __getname(),
so that we can avoid double dput and unnecessary operations
in generic_shutdown_super().

Signed-off-by: Chengguang Xu <cgxu519@gmail.com>
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Reviewed-by: Gao Xiang <gaoxiang25@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/erofs/super.c

index 399847d21146666991473c0e417879a043ebfbac..f580d4ef77a1b94088e94920e03c00b82d7db803 100644 (file)
@@ -457,6 +457,7 @@ static int erofs_read_super(struct super_block *sb,
         */
 err_devname:
        dput(sb->s_root);
+       sb->s_root = NULL;
 err_iget:
 #ifdef EROFS_FS_HAS_MANAGED_CACHE
        iput(sbi->managed_cache);