lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-Id: <20200819073104.1141705-5-harshadshirwadkar@gmail.com> Date: Wed, 19 Aug 2020 00:30:59 -0700 From: Harshad Shirwadkar <harshadshirwadkar@...il.com> To: linux-ext4@...r.kernel.org Cc: tytso@....edu, lyx1209@...il.com, Harshad Shirwadkar <harshadshirwadkar@...il.com> Subject: [PATCH 4/9] ext4: add prefetching support for freespace trees This patch supports creation of freespace trees for prefetched block bitmaps. Signed-off-by: Harshad Shirwadkar <harshadshirwadkar@...il.com> --- fs/ext4/mballoc.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c index 74bdc2dcb49c..1f4e69c6f488 100644 --- a/fs/ext4/mballoc.c +++ b/fs/ext4/mballoc.c @@ -3145,6 +3145,9 @@ ext4_group_t ext4_mb_prefetch(struct super_block *sb, ext4_group_t group, void ext4_mb_prefetch_fini(struct super_block *sb, ext4_group_t group, unsigned int nr) { + struct ext4_buddy e4b; + int ret; + while (nr-- > 0) { struct ext4_group_desc *gdp = ext4_get_group_desc(sb, group, NULL); @@ -3159,8 +3162,15 @@ void ext4_mb_prefetch_fini(struct super_block *sb, ext4_group_t group, ext4_free_group_clusters(sb, gdp) > 0 && !(ext4_has_group_desc_csum(sb) && (gdp->bg_flags & cpu_to_le16(EXT4_BG_BLOCK_UNINIT)))) { - if (ext4_mb_init_group(sb, group, GFP_NOFS)) + if (ext4_mb_frsp_on(sb)) { + ret = ext4_mb_load_allocator(sb, group, &e4b, + 0); + if (ret) + break; + ext4_mb_unload_allocator(&e4b); + } else if (ext4_mb_init_group(sb, group, GFP_NOFS)) { break; + } } } } -- 2.28.0.220.ged08abb693-goog
Powered by blists - more mailing lists