staging: erofs: don't check special inode layout
authorYue Hu <huyue2@yulong.com>
Fri, 28 Jun 2019 03:42:34 +0000 (11:42 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 1 Jul 2019 06:45:00 +0000 (08:45 +0200)
Currently, we will check if inode layout is compression or inline if
the inode is special in fill_inode(). Also set ->i_mapping->a_ops for
it. That is pointless since the both modes won't be set for special
inode when creating EROFS filesystem image. So, let's avoid it.

Signed-off-by: Yue Hu <huyue2@yulong.com>
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/erofs/inode.c

index 35fc598..4c3d8bf 100644 (file)
@@ -204,6 +204,7 @@ static int fill_inode(struct inode *inode, int isdir)
                        S_ISFIFO(inode->i_mode) || S_ISSOCK(inode->i_mode)) {
                        inode->i_op = &erofs_generic_iops;
                        init_special_inode(inode, inode->i_mode, inode->i_rdev);
+                       goto out_unlock;
                } else {
                        err = -EIO;
                        goto out_unlock;