* [PATCH v2 0/4] Parameter cleanup
@ 2022-10-20 16:59 David Sterba
2022-10-20 16:59 ` [PATCH v2 1/4] btrfs: sink gfp_t parameter to btrfs_backref_iter_alloc David Sterba
` (5 more replies)
0 siblings, 6 replies; 7+ messages in thread
From: David Sterba @ 2022-10-20 16:59 UTC (permalink / raw)
To: linux-btrfs; +Cc: David Sterba
A few more cases where value passed by parameter can be used directly.
v2:
- move related code from patch 2 to patch 1
David Sterba (4):
btrfs: sink gfp_t parameter to btrfs_backref_iter_alloc
btrfs: sink gfp_t parameter to btrfs_qgroup_trace_extent
btrfs: switch GFP_NOFS to GFP_KERNEL in scrub_setup_recheck_block
btrfs: sink gfp_t parameter to alloc_scrub_sector
fs/btrfs/backref.c | 5 ++---
fs/btrfs/backref.h | 3 +--
fs/btrfs/qgroup.c | 17 +++++++----------
fs/btrfs/qgroup.h | 2 +-
fs/btrfs/relocation.c | 2 +-
fs/btrfs/scrub.c | 14 +++++++-------
fs/btrfs/tree-log.c | 3 +--
7 files changed, 20 insertions(+), 26 deletions(-)
--
2.37.3
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v2 1/4] btrfs: sink gfp_t parameter to btrfs_backref_iter_alloc
2022-10-20 16:59 [PATCH v2 0/4] Parameter cleanup David Sterba
@ 2022-10-20 16:59 ` David Sterba
2022-10-20 16:59 ` [PATCH v2 2/4] btrfs: sink gfp_t parameter to btrfs_qgroup_trace_extent David Sterba
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: David Sterba @ 2022-10-20 16:59 UTC (permalink / raw)
To: linux-btrfs; +Cc: David Sterba
There's only one caller that passes GFP_NOFS, we can drop the parameter
an use the flags directly.
Signed-off-by: David Sterba <dsterba@suse.com>
---
fs/btrfs/backref.c | 5 ++---
fs/btrfs/backref.h | 3 +--
fs/btrfs/relocation.c | 2 +-
3 files changed, 4 insertions(+), 6 deletions(-)
diff --git a/fs/btrfs/backref.c b/fs/btrfs/backref.c
index 719077ac9d03..c55abd8574ee 100644
--- a/fs/btrfs/backref.c
+++ b/fs/btrfs/backref.c
@@ -2636,12 +2636,11 @@ void free_ipath(struct inode_fs_paths *ipath)
kfree(ipath);
}
-struct btrfs_backref_iter *btrfs_backref_iter_alloc(
- struct btrfs_fs_info *fs_info, gfp_t gfp_flag)
+struct btrfs_backref_iter *btrfs_backref_iter_alloc(struct btrfs_fs_info *fs_info)
{
struct btrfs_backref_iter *ret;
- ret = kzalloc(sizeof(*ret), gfp_flag);
+ ret = kzalloc(sizeof(*ret), GFP_NOFS);
if (!ret)
return NULL;
diff --git a/fs/btrfs/backref.h b/fs/btrfs/backref.h
index fa3c9cbf9ae7..2dd68f87dca5 100644
--- a/fs/btrfs/backref.h
+++ b/fs/btrfs/backref.h
@@ -156,8 +156,7 @@ struct btrfs_backref_iter {
u32 end_ptr;
};
-struct btrfs_backref_iter *btrfs_backref_iter_alloc(
- struct btrfs_fs_info *fs_info, gfp_t gfp_flag);
+struct btrfs_backref_iter *btrfs_backref_iter_alloc(struct btrfs_fs_info *fs_info);
static inline void btrfs_backref_iter_free(struct btrfs_backref_iter *iter)
{
diff --git a/fs/btrfs/relocation.c b/fs/btrfs/relocation.c
index 3d0a63465a74..77d03dce2521 100644
--- a/fs/btrfs/relocation.c
+++ b/fs/btrfs/relocation.c
@@ -473,7 +473,7 @@ static noinline_for_stack struct btrfs_backref_node *build_backref_tree(
int ret;
int err = 0;
- iter = btrfs_backref_iter_alloc(rc->extent_root->fs_info, GFP_NOFS);
+ iter = btrfs_backref_iter_alloc(rc->extent_root->fs_info);
if (!iter)
return ERR_PTR(-ENOMEM);
path = btrfs_alloc_path();
--
2.37.3
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v2 2/4] btrfs: sink gfp_t parameter to btrfs_qgroup_trace_extent
2022-10-20 16:59 [PATCH v2 0/4] Parameter cleanup David Sterba
2022-10-20 16:59 ` [PATCH v2 1/4] btrfs: sink gfp_t parameter to btrfs_backref_iter_alloc David Sterba
@ 2022-10-20 16:59 ` David Sterba
2022-10-20 16:59 ` [PATCH v2 3/4] btrfs: switch GFP_NOFS to GFP_KERNEL in scrub_setup_recheck_block David Sterba
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: David Sterba @ 2022-10-20 16:59 UTC (permalink / raw)
To: linux-btrfs; +Cc: David Sterba
All callers pass GFP_NOFS, we can drop the parameter and use it
directly.
Signed-off-by: David Sterba <dsterba@suse.com>
---
fs/btrfs/qgroup.c | 17 +++++++----------
fs/btrfs/qgroup.h | 2 +-
fs/btrfs/tree-log.c | 3 +--
3 files changed, 9 insertions(+), 13 deletions(-)
diff --git a/fs/btrfs/qgroup.c b/fs/btrfs/qgroup.c
index 1e42404afc8d..9aa6c19f0cde 100644
--- a/fs/btrfs/qgroup.c
+++ b/fs/btrfs/qgroup.c
@@ -1842,7 +1842,7 @@ int btrfs_qgroup_trace_extent_post(struct btrfs_trans_handle *trans,
}
int btrfs_qgroup_trace_extent(struct btrfs_trans_handle *trans, u64 bytenr,
- u64 num_bytes, gfp_t gfp_flag)
+ u64 num_bytes)
{
struct btrfs_fs_info *fs_info = trans->fs_info;
struct btrfs_qgroup_extent_record *record;
@@ -1852,7 +1852,7 @@ int btrfs_qgroup_trace_extent(struct btrfs_trans_handle *trans, u64 bytenr,
if (!test_bit(BTRFS_FS_QUOTA_ENABLED, &fs_info->flags)
|| bytenr == 0 || num_bytes == 0)
return 0;
- record = kzalloc(sizeof(*record), gfp_flag);
+ record = kzalloc(sizeof(*record), GFP_NOFS);
if (!record)
return -ENOMEM;
@@ -1904,8 +1904,7 @@ int btrfs_qgroup_trace_leaf_items(struct btrfs_trans_handle *trans,
num_bytes = btrfs_file_extent_disk_num_bytes(eb, fi);
- ret = btrfs_qgroup_trace_extent(trans, bytenr, num_bytes,
- GFP_NOFS);
+ ret = btrfs_qgroup_trace_extent(trans, bytenr, num_bytes);
if (ret)
return ret;
}
@@ -2104,12 +2103,11 @@ static int qgroup_trace_extent_swap(struct btrfs_trans_handle* trans,
* blocks for qgroup accounting.
*/
ret = btrfs_qgroup_trace_extent(trans, src_path->nodes[dst_level]->start,
- nodesize, GFP_NOFS);
+ nodesize);
if (ret < 0)
goto out;
- ret = btrfs_qgroup_trace_extent(trans,
- dst_path->nodes[dst_level]->start,
- nodesize, GFP_NOFS);
+ ret = btrfs_qgroup_trace_extent(trans, dst_path->nodes[dst_level]->start,
+ nodesize);
if (ret < 0)
goto out;
@@ -2393,8 +2391,7 @@ int btrfs_qgroup_trace_subtree(struct btrfs_trans_handle *trans,
path->locks[level] = BTRFS_READ_LOCK;
ret = btrfs_qgroup_trace_extent(trans, child_bytenr,
- fs_info->nodesize,
- GFP_NOFS);
+ fs_info->nodesize);
if (ret)
goto out;
}
diff --git a/fs/btrfs/qgroup.h b/fs/btrfs/qgroup.h
index 3fb5459c9309..7bffa10589d6 100644
--- a/fs/btrfs/qgroup.h
+++ b/fs/btrfs/qgroup.h
@@ -321,7 +321,7 @@ int btrfs_qgroup_trace_extent_post(struct btrfs_trans_handle *trans,
* (NULL trans)
*/
int btrfs_qgroup_trace_extent(struct btrfs_trans_handle *trans, u64 bytenr,
- u64 num_bytes, gfp_t gfp_flag);
+ u64 num_bytes);
/*
* Inform qgroup to trace all leaf items of data
diff --git a/fs/btrfs/tree-log.c b/fs/btrfs/tree-log.c
index 823fbd826944..e1a47e0561aa 100644
--- a/fs/btrfs/tree-log.c
+++ b/fs/btrfs/tree-log.c
@@ -749,8 +749,7 @@ static noinline int replay_one_extent(struct btrfs_trans_handle *trans,
*/
ret = btrfs_qgroup_trace_extent(trans,
btrfs_file_extent_disk_bytenr(eb, item),
- btrfs_file_extent_disk_num_bytes(eb, item),
- GFP_NOFS);
+ btrfs_file_extent_disk_num_bytes(eb, item));
if (ret < 0)
goto out;
--
2.37.3
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v2 3/4] btrfs: switch GFP_NOFS to GFP_KERNEL in scrub_setup_recheck_block
2022-10-20 16:59 [PATCH v2 0/4] Parameter cleanup David Sterba
2022-10-20 16:59 ` [PATCH v2 1/4] btrfs: sink gfp_t parameter to btrfs_backref_iter_alloc David Sterba
2022-10-20 16:59 ` [PATCH v2 2/4] btrfs: sink gfp_t parameter to btrfs_qgroup_trace_extent David Sterba
@ 2022-10-20 16:59 ` David Sterba
2022-10-20 16:59 ` [PATCH v2 4/4] btrfs: sink gfp_t parameter to alloc_scrub_sector David Sterba
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: David Sterba @ 2022-10-20 16:59 UTC (permalink / raw)
To: linux-btrfs; +Cc: David Sterba
There's only one caller that calls scrub_setup_recheck_block in the
memalloc_nofs_save/_restore protection so it's effectively already
GFP_NOFS and it's safe to use GFP_KERNEL.
Signed-off-by: David Sterba <dsterba@suse.com>
---
fs/btrfs/scrub.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/fs/btrfs/scrub.c b/fs/btrfs/scrub.c
index e419c9f948e8..5dc3183d88a0 100644
--- a/fs/btrfs/scrub.c
+++ b/fs/btrfs/scrub.c
@@ -1493,7 +1493,7 @@ static int scrub_setup_recheck_block(struct scrub_block *original_sblock,
return -EIO;
}
- recover = kzalloc(sizeof(struct scrub_recover), GFP_NOFS);
+ recover = kzalloc(sizeof(struct scrub_recover), GFP_KERNEL);
if (!recover) {
btrfs_put_bioc(bioc);
btrfs_bio_counter_dec(fs_info);
@@ -1516,7 +1516,7 @@ static int scrub_setup_recheck_block(struct scrub_block *original_sblock,
sblock = sblocks_for_recheck[mirror_index];
sblock->sctx = sctx;
- sector = alloc_scrub_sector(sblock, logical, GFP_NOFS);
+ sector = alloc_scrub_sector(sblock, logical, GFP_KERNEL);
if (!sector) {
spin_lock(&sctx->stat_lock);
sctx->stat.malloc_errors++;
--
2.37.3
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v2 4/4] btrfs: sink gfp_t parameter to alloc_scrub_sector
2022-10-20 16:59 [PATCH v2 0/4] Parameter cleanup David Sterba
` (2 preceding siblings ...)
2022-10-20 16:59 ` [PATCH v2 3/4] btrfs: switch GFP_NOFS to GFP_KERNEL in scrub_setup_recheck_block David Sterba
@ 2022-10-20 16:59 ` David Sterba
2022-10-21 2:42 ` [PATCH v2 0/4] Parameter cleanup Anand Jain
2022-10-21 8:07 ` Johannes Thumshirn
5 siblings, 0 replies; 7+ messages in thread
From: David Sterba @ 2022-10-20 16:59 UTC (permalink / raw)
To: linux-btrfs; +Cc: David Sterba
All callers pas GFP_KERNEL as parameter so we can use it directly in
alloc_scrub_sector.
Signed-off-by: David Sterba <dsterba@suse.com>
---
fs/btrfs/scrub.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/fs/btrfs/scrub.c b/fs/btrfs/scrub.c
index 5dc3183d88a0..f50979511794 100644
--- a/fs/btrfs/scrub.c
+++ b/fs/btrfs/scrub.c
@@ -297,7 +297,7 @@ static struct scrub_block *alloc_scrub_block(struct scrub_ctx *sctx,
* Will also allocate new pages for @sblock if needed.
*/
static struct scrub_sector *alloc_scrub_sector(struct scrub_block *sblock,
- u64 logical, gfp_t gfp)
+ u64 logical)
{
const pgoff_t page_index = (logical - sblock->logical) >> PAGE_SHIFT;
struct scrub_sector *ssector;
@@ -305,7 +305,7 @@ static struct scrub_sector *alloc_scrub_sector(struct scrub_block *sblock,
/* We must never have scrub_block exceed U32_MAX in size. */
ASSERT(logical - sblock->logical < U32_MAX);
- ssector = kzalloc(sizeof(*ssector), gfp);
+ ssector = kzalloc(sizeof(*ssector), GFP_KERNEL);
if (!ssector)
return NULL;
@@ -313,7 +313,7 @@ static struct scrub_sector *alloc_scrub_sector(struct scrub_block *sblock,
if (!sblock->pages[page_index]) {
int ret;
- sblock->pages[page_index] = alloc_page(gfp);
+ sblock->pages[page_index] = alloc_page(GFP_KERNEL);
if (!sblock->pages[page_index]) {
kfree(ssector);
return NULL;
@@ -1516,7 +1516,7 @@ static int scrub_setup_recheck_block(struct scrub_block *original_sblock,
sblock = sblocks_for_recheck[mirror_index];
sblock->sctx = sctx;
- sector = alloc_scrub_sector(sblock, logical, GFP_KERNEL);
+ sector = alloc_scrub_sector(sblock, logical);
if (!sector) {
spin_lock(&sctx->stat_lock);
sctx->stat.malloc_errors++;
@@ -2438,7 +2438,7 @@ static int scrub_sectors(struct scrub_ctx *sctx, u64 logical, u32 len,
*/
u32 l = min(sectorsize, len);
- sector = alloc_scrub_sector(sblock, logical, GFP_KERNEL);
+ sector = alloc_scrub_sector(sblock, logical);
if (!sector) {
spin_lock(&sctx->stat_lock);
sctx->stat.malloc_errors++;
@@ -2775,7 +2775,7 @@ static int scrub_sectors_for_parity(struct scrub_parity *sparity,
for (index = 0; len > 0; index++) {
struct scrub_sector *sector;
- sector = alloc_scrub_sector(sblock, logical, GFP_KERNEL);
+ sector = alloc_scrub_sector(sblock, logical);
if (!sector) {
spin_lock(&sctx->stat_lock);
sctx->stat.malloc_errors++;
--
2.37.3
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v2 0/4] Parameter cleanup
2022-10-20 16:59 [PATCH v2 0/4] Parameter cleanup David Sterba
` (3 preceding siblings ...)
2022-10-20 16:59 ` [PATCH v2 4/4] btrfs: sink gfp_t parameter to alloc_scrub_sector David Sterba
@ 2022-10-21 2:42 ` Anand Jain
2022-10-21 8:07 ` Johannes Thumshirn
5 siblings, 0 replies; 7+ messages in thread
From: Anand Jain @ 2022-10-21 2:42 UTC (permalink / raw)
To: David Sterba, linux-btrfs
On 21/10/2022 00:59, David Sterba wrote:
> A few more cases where value passed by parameter can be used directly.
>
> v2:
> - move related code from patch 2 to patch 1
>
> David Sterba (4):
> btrfs: sink gfp_t parameter to btrfs_backref_iter_alloc
> btrfs: sink gfp_t parameter to btrfs_qgroup_trace_extent
> btrfs: switch GFP_NOFS to GFP_KERNEL in scrub_setup_recheck_block
> btrfs: sink gfp_t parameter to alloc_scrub_sector
For the series:
Reviewed-by: Anand Jain <anand.jain@oracle.com>
>
> fs/btrfs/backref.c | 5 ++---
> fs/btrfs/backref.h | 3 +--
> fs/btrfs/qgroup.c | 17 +++++++----------
> fs/btrfs/qgroup.h | 2 +-
> fs/btrfs/relocation.c | 2 +-
> fs/btrfs/scrub.c | 14 +++++++-------
> fs/btrfs/tree-log.c | 3 +--
> 7 files changed, 20 insertions(+), 26 deletions(-)
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2 0/4] Parameter cleanup
2022-10-20 16:59 [PATCH v2 0/4] Parameter cleanup David Sterba
` (4 preceding siblings ...)
2022-10-21 2:42 ` [PATCH v2 0/4] Parameter cleanup Anand Jain
@ 2022-10-21 8:07 ` Johannes Thumshirn
5 siblings, 0 replies; 7+ messages in thread
From: Johannes Thumshirn @ 2022-10-21 8:07 UTC (permalink / raw)
To: David Sterba, linux-btrfs
For the series,
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2022-10-21 8:07 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-10-20 16:59 [PATCH v2 0/4] Parameter cleanup David Sterba
2022-10-20 16:59 ` [PATCH v2 1/4] btrfs: sink gfp_t parameter to btrfs_backref_iter_alloc David Sterba
2022-10-20 16:59 ` [PATCH v2 2/4] btrfs: sink gfp_t parameter to btrfs_qgroup_trace_extent David Sterba
2022-10-20 16:59 ` [PATCH v2 3/4] btrfs: switch GFP_NOFS to GFP_KERNEL in scrub_setup_recheck_block David Sterba
2022-10-20 16:59 ` [PATCH v2 4/4] btrfs: sink gfp_t parameter to alloc_scrub_sector David Sterba
2022-10-21 2:42 ` [PATCH v2 0/4] Parameter cleanup Anand Jain
2022-10-21 8:07 ` Johannes Thumshirn
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.