staging: erofs: no need to take page lock in readdir
authorGao Xiang <gaoxiang25@huawei.com>
Thu, 21 Feb 2019 02:34:10 +0000 (10:34 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 26 Feb 2019 10:52:45 +0000 (11:52 +0100)
VFS will take inode_lock for readdir, therefore no need to
take page lock in readdir at all just as the majority of
other generic filesystems.

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

index e195570..8f8ac96 100644 (file)
@@ -98,7 +98,6 @@ static int erofs_readdir(struct file *f, struct dir_context *ctx)
                if (IS_ERR(dentry_page))
                        continue;
 
-               lock_page(dentry_page);
                de = (struct erofs_dirent *)kmap(dentry_page);
 
                nameoff = le16_to_cpu(de->nameoff);
@@ -128,7 +127,6 @@ static int erofs_readdir(struct file *f, struct dir_context *ctx)
 skip_this:
                kunmap(dentry_page);
 
-               unlock_page(dentry_page);
                put_page(dentry_page);
 
                ctx->pos = blknr_to_addr(i) + ofs;