2018-02-12 12:00:47

by Artem Blagodarenko

[permalink] [raw]
Subject: [PATCH] e2fsck: properly account cluster size

From: Andrew Perepechko <[email protected]>

The patch fixes the quota_data_add() call so that
not num_blocks * block_size is passed, but instead
num_blocks * blocks_per_cluster * block_size.

Otherwise, any trivial test with -O bigalloc,quota
filesystem leads to check errors like

[QUOTA WARNING] Usage inconsistent for ID 0:actual (8192, 2) != expected
(131072, 2)
Update quota info for quota type 0<y>? cancelled!
[QUOTA WARNING] Usage inconsistent for ID 0:actual (8192, 2) != expected
(131072, 2)
Update quota info for quota type 1<y>? cancelled!

Cray-bug-id: LUS-5373

Signed-off-by: Andrew Perepechko <[email protected]>
Signed-off-by: Artem Blagodarenko <[email protected]>
---
e2fsck/pass1.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/e2fsck/pass1.c b/e2fsck/pass1.c
index 5015d938..471162ea 100644
--- a/e2fsck/pass1.c
+++ b/e2fsck/pass1.c
@@ -3387,6 +3387,8 @@ static void check_blocks(e2fsck_t ctx, struct problem_context *pctx,
}
}

+ pb.num_blocks *= EXT2FS_CLUSTER_RATIO(fs);
+
if (ino != quota_type2inum(PRJQUOTA, fs->super) &&
(ino == EXT2_ROOT_INO || ino >= EXT2_FIRST_INODE(ctx->fs->super)) &&
!(inode->i_flags & EXT4_EA_INODE_FL)) {
--
2.14.3 (Apple Git-98)


2018-02-15 14:45:39

by Artem Blagodarenko

[permalink] [raw]
Subject: Re: [PATCH] e2fsck: properly account cluster size

Sorry, this patch is duplicate of
[PATCH] e2fsck: fix quota accounting to use cluster units
from Eric W at 5 April.


> On 12 Feb 2018, at 15:00, Artem Blagodarenko <[email protected]> wrote:
>
> From: Andrew Perepechko <[email protected]>
>
> The patch fixes the quota_data_add() call so that
> not num_blocks * block_size is passed, but instead
> num_blocks * blocks_per_cluster * block_size.
>
> Otherwise, any trivial test with -O bigalloc,quota
> filesystem leads to check errors like
>
> [QUOTA WARNING] Usage inconsistent for ID 0:actual (8192, 2) != expected
> (131072, 2)
> Update quota info for quota type 0<y>? cancelled!
> [QUOTA WARNING] Usage inconsistent for ID 0:actual (8192, 2) != expected
> (131072, 2)
> Update quota info for quota type 1<y>? cancelled!
>
> Cray-bug-id: LUS-5373
>
> Signed-off-by: Andrew Perepechko <[email protected]>
> Signed-off-by: Artem Blagodarenko <[email protected]>
> ---
> e2fsck/pass1.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/e2fsck/pass1.c b/e2fsck/pass1.c
> index 5015d938..471162ea 100644
> --- a/e2fsck/pass1.c
> +++ b/e2fsck/pass1.c
> @@ -3387,6 +3387,8 @@ static void check_blocks(e2fsck_t ctx, struct problem_context *pctx,
> }
> }
>
> + pb.num_blocks *= EXT2FS_CLUSTER_RATIO(fs);
> +
> if (ino != quota_type2inum(PRJQUOTA, fs->super) &&
> (ino == EXT2_ROOT_INO || ino >= EXT2_FIRST_INODE(ctx->fs->super)) &&
> !(inode->i_flags & EXT4_EA_INODE_FL)) {
> --
> 2.14.3 (Apple Git-98)
>

2018-02-15 18:41:42

by Theodore Ts'o

[permalink] [raw]
Subject: Re: [PATCH] e2fsck: properly account cluster size

On Thu, Feb 15, 2018 at 05:45:34PM +0300, Благодаренко Артём wrote:
> Sorry, this patch is duplicate of
> [PATCH] e2fsck: fix quota accounting to use cluster units
> from Eric W at 5 April.

... and which is e2fsprogs 1.43.5 and newer....

- Ted