2022-05-18 03:24:45

by Hsin-Yi Wang

[permalink] [raw]
Subject: [PATCH v2 1/3] Revert "squashfs: provide backing_dev_info in order to disable read-ahead"

This reverts commit 9eec1d897139e5de287af5d559a02b811b844d82.

Revert closing the readahead to squashfs since the readahead callback
for squashfs is implemented.

Suggested-by: Xiongwei Song <[email protected]>
Signed-off-by: Hsin-Yi Wang <[email protected]>
---
fs/squashfs/super.c | 33 ---------------------------------
1 file changed, 33 deletions(-)

diff --git a/fs/squashfs/super.c b/fs/squashfs/super.c
index 6d594ba2ed28..32565dafa7f3 100644
--- a/fs/squashfs/super.c
+++ b/fs/squashfs/super.c
@@ -29,7 +29,6 @@
#include <linux/module.h>
#include <linux/magic.h>
#include <linux/xattr.h>
-#include <linux/backing-dev.h>

#include "squashfs_fs.h"
#include "squashfs_fs_sb.h"
@@ -113,24 +112,6 @@ static const struct squashfs_decompressor *supported_squashfs_filesystem(
return decompressor;
}

-static int squashfs_bdi_init(struct super_block *sb)
-{
- int err;
- unsigned int major = MAJOR(sb->s_dev);
- unsigned int minor = MINOR(sb->s_dev);
-
- bdi_put(sb->s_bdi);
- sb->s_bdi = &noop_backing_dev_info;
-
- err = super_setup_bdi_name(sb, "squashfs_%u_%u", major, minor);
- if (err)
- return err;
-
- sb->s_bdi->ra_pages = 0;
- sb->s_bdi->io_pages = 0;
-
- return 0;
-}

static int squashfs_fill_super(struct super_block *sb, struct fs_context *fc)
{
@@ -146,20 +127,6 @@ static int squashfs_fill_super(struct super_block *sb, struct fs_context *fc)

TRACE("Entered squashfs_fill_superblock\n");

- /*
- * squashfs provides 'backing_dev_info' in order to disable read-ahead. For
- * squashfs, I/O is not deferred, it is done immediately in read_folio,
- * which means the user would always have to wait their own I/O. So the effect
- * of readahead is very weak for squashfs. squashfs_bdi_init will set
- * sb->s_bdi->ra_pages and sb->s_bdi->io_pages to 0 and close readahead for
- * squashfs.
- */
- err = squashfs_bdi_init(sb);
- if (err) {
- errorf(fc, "squashfs init bdi failed");
- return err;
- }
-
sb->s_fs_info = kzalloc(sizeof(*msblk), GFP_KERNEL);
if (sb->s_fs_info == NULL) {
ERROR("Failed to allocate squashfs_sb_info\n");
--
2.36.0.550.gb090851708-goog



2022-05-18 03:50:00

by Xiongwei Song

[permalink] [raw]
Subject: Re: [PATCH v2 1/3] Revert "squashfs: provide backing_dev_info in order to disable read-ahead"

On Tue, May 17, 2022 at 4:27 PM Hsin-Yi Wang <[email protected]> wrote:
>
> This reverts commit 9eec1d897139e5de287af5d559a02b811b844d82.
>
> Revert closing the readahead to squashfs since the readahead callback
> for squashfs is implemented.
>
> Suggested-by: Xiongwei Song <[email protected]>

I'd like to use "[email protected]" in my tag.

> Signed-off-by: Hsin-Yi Wang <[email protected]>
> ---
> fs/squashfs/super.c | 33 ---------------------------------
> 1 file changed, 33 deletions(-)
>
> diff --git a/fs/squashfs/super.c b/fs/squashfs/super.c
> index 6d594ba2ed28..32565dafa7f3 100644
> --- a/fs/squashfs/super.c
> +++ b/fs/squashfs/super.c
> @@ -29,7 +29,6 @@
> #include <linux/module.h>
> #include <linux/magic.h>
> #include <linux/xattr.h>
> -#include <linux/backing-dev.h>
>
> #include "squashfs_fs.h"
> #include "squashfs_fs_sb.h"
> @@ -113,24 +112,6 @@ static const struct squashfs_decompressor *supported_squashfs_filesystem(
> return decompressor;
> }
>
> -static int squashfs_bdi_init(struct super_block *sb)
> -{
> - int err;
> - unsigned int major = MAJOR(sb->s_dev);
> - unsigned int minor = MINOR(sb->s_dev);
> -
> - bdi_put(sb->s_bdi);
> - sb->s_bdi = &noop_backing_dev_info;
> -
> - err = super_setup_bdi_name(sb, "squashfs_%u_%u", major, minor);
> - if (err)
> - return err;
> -
> - sb->s_bdi->ra_pages = 0;
> - sb->s_bdi->io_pages = 0;
> -
> - return 0;
> -}
>
> static int squashfs_fill_super(struct super_block *sb, struct fs_context *fc)
> {
> @@ -146,20 +127,6 @@ static int squashfs_fill_super(struct super_block *sb, struct fs_context *fc)
>
> TRACE("Entered squashfs_fill_superblock\n");
>
> - /*
> - * squashfs provides 'backing_dev_info' in order to disable read-ahead. For
> - * squashfs, I/O is not deferred, it is done immediately in read_folio,
> - * which means the user would always have to wait their own I/O. So the effect
> - * of readahead is very weak for squashfs. squashfs_bdi_init will set
> - * sb->s_bdi->ra_pages and sb->s_bdi->io_pages to 0 and close readahead for
> - * squashfs.
> - */
> - err = squashfs_bdi_init(sb);
> - if (err) {
> - errorf(fc, "squashfs init bdi failed");
> - return err;
> - }
> -
> sb->s_fs_info = kzalloc(sizeof(*msblk), GFP_KERNEL);
> if (sb->s_fs_info == NULL) {
> ERROR("Failed to allocate squashfs_sb_info\n");
> --
> 2.36.0.550.gb090851708-goog
>
>