* [f2fs-dev] [PATCH 00/11] f2fs folio patches
@ 2024-11-28 4:58 Matthew Wilcox (Oracle)
2024-11-28 4:58 ` [f2fs-dev] [PATCH 01/11] f2fs: Use a folio in f2fs_all_cluster_page_ready() Matthew Wilcox (Oracle)
` (13 more replies)
0 siblings, 14 replies; 16+ messages in thread
From: Matthew Wilcox (Oracle) @ 2024-11-28 4:58 UTC (permalink / raw)
To: Jaegeuk Kim, Chao Yu; +Cc: Matthew Wilcox (Oracle), linux-f2fs-devel
This round of f2fs patches accomplishes two things:
- Removal of all references to page->index in f2fs. I'm looking to
finish this conversion in the January merge window.
- Removal of all calls to page_file_mapping() and folio_file_mapping()
I have only compile-tested these patches.
Matthew Wilcox (Oracle) (11):
f2fs: Use a folio in f2fs_all_cluster_page_ready()
f2fs: Use a folio in f2fs_compress_write_end()
f2fs: Use a folio in f2fs_truncate_partial_cluster()
f2fs: Use a folio in f2fs_write_compressed_pages()
f2fs: Convert submit tracepoints to take a folio
f2fs: Add F2FS_F_SB()
f2fs: Convert f2fs_finish_read_bio() to use folios
f2fs: Use a folio more in f2fs_submit_page_bio()
f2fs: Use a data folio in f2fs_submit_page_bio()
f2fs: Convert __read_io_type() to take a folio
f2fs: Remove calls to folio_file_mapping()
fs/f2fs/compress.c | 28 ++++++++++++--------
fs/f2fs/data.c | 53 +++++++++++++++----------------------
fs/f2fs/f2fs.h | 7 ++++-
fs/f2fs/inline.c | 2 +-
include/trace/events/f2fs.h | 39 +++++++++++++--------------
5 files changed, 65 insertions(+), 64 deletions(-)
--
2.45.2
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
^ permalink raw reply [flat|nested] 16+ messages in thread
* [f2fs-dev] [PATCH 01/11] f2fs: Use a folio in f2fs_all_cluster_page_ready()
2024-11-28 4:58 [f2fs-dev] [PATCH 00/11] f2fs folio patches Matthew Wilcox (Oracle)
@ 2024-11-28 4:58 ` Matthew Wilcox (Oracle)
2024-11-28 4:58 ` [f2fs-dev] [PATCH 02/11] f2fs: Use a folio in f2fs_compress_write_end() Matthew Wilcox (Oracle)
` (12 subsequent siblings)
13 siblings, 0 replies; 16+ messages in thread
From: Matthew Wilcox (Oracle) @ 2024-11-28 4:58 UTC (permalink / raw)
To: Jaegeuk Kim, Chao Yu; +Cc: Matthew Wilcox (Oracle), linux-f2fs-devel
Remove references to page->index and use folio_test_uptodate()
instead of PageUptodate().
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
---
fs/f2fs/compress.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/fs/f2fs/compress.c b/fs/f2fs/compress.c
index 7f26440e8595..9f8d0f4c8564 100644
--- a/fs/f2fs/compress.c
+++ b/fs/f2fs/compress.c
@@ -846,7 +846,7 @@ bool f2fs_cluster_can_merge_page(struct compress_ctx *cc, pgoff_t index)
bool f2fs_all_cluster_page_ready(struct compress_ctx *cc, struct page **pages,
int index, int nr_pages, bool uptodate)
{
- unsigned long pgidx = pages[index]->index;
+ unsigned long pgidx = page_folio(pages[index])->index;
int i = uptodate ? 0 : 1;
/*
@@ -860,9 +860,11 @@ bool f2fs_all_cluster_page_ready(struct compress_ctx *cc, struct page **pages,
return false;
for (; i < cc->cluster_size; i++) {
- if (pages[index + i]->index != pgidx + i)
+ struct folio *folio = page_folio(pages[index + i]);
+
+ if (folio->index != pgidx + i)
return false;
- if (uptodate && !PageUptodate(pages[index + i]))
+ if (uptodate && !folio_test_uptodate(folio))
return false;
}
--
2.45.2
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [f2fs-dev] [PATCH 02/11] f2fs: Use a folio in f2fs_compress_write_end()
2024-11-28 4:58 [f2fs-dev] [PATCH 00/11] f2fs folio patches Matthew Wilcox (Oracle)
2024-11-28 4:58 ` [f2fs-dev] [PATCH 01/11] f2fs: Use a folio in f2fs_all_cluster_page_ready() Matthew Wilcox (Oracle)
@ 2024-11-28 4:58 ` Matthew Wilcox (Oracle)
2024-11-28 4:58 ` [f2fs-dev] [PATCH 03/11] f2fs: Use a folio in f2fs_truncate_partial_cluster() Matthew Wilcox (Oracle)
` (11 subsequent siblings)
13 siblings, 0 replies; 16+ messages in thread
From: Matthew Wilcox (Oracle) @ 2024-11-28 4:58 UTC (permalink / raw)
To: Jaegeuk Kim, Chao Yu; +Cc: Matthew Wilcox (Oracle), linux-f2fs-devel
This removes an access of page->index.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
---
fs/f2fs/compress.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/fs/f2fs/compress.c b/fs/f2fs/compress.c
index 9f8d0f4c8564..c91a2e4fe60c 100644
--- a/fs/f2fs/compress.c
+++ b/fs/f2fs/compress.c
@@ -1197,7 +1197,8 @@ bool f2fs_compress_write_end(struct inode *inode, void *fsdata,
.cluster_size = F2FS_I(inode)->i_cluster_size,
.rpages = fsdata,
};
- bool first_index = (index == cc.rpages[0]->index);
+ struct folio *folio = page_folio(cc.rpages[0]);
+ bool first_index = (index == folio->index);
if (copied)
set_cluster_dirty(&cc);
--
2.45.2
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [f2fs-dev] [PATCH 03/11] f2fs: Use a folio in f2fs_truncate_partial_cluster()
2024-11-28 4:58 [f2fs-dev] [PATCH 00/11] f2fs folio patches Matthew Wilcox (Oracle)
2024-11-28 4:58 ` [f2fs-dev] [PATCH 01/11] f2fs: Use a folio in f2fs_all_cluster_page_ready() Matthew Wilcox (Oracle)
2024-11-28 4:58 ` [f2fs-dev] [PATCH 02/11] f2fs: Use a folio in f2fs_compress_write_end() Matthew Wilcox (Oracle)
@ 2024-11-28 4:58 ` Matthew Wilcox (Oracle)
2024-11-28 4:58 ` [f2fs-dev] [PATCH 04/11] f2fs: Use a folio in f2fs_write_compressed_pages() Matthew Wilcox (Oracle)
` (10 subsequent siblings)
13 siblings, 0 replies; 16+ messages in thread
From: Matthew Wilcox (Oracle) @ 2024-11-28 4:58 UTC (permalink / raw)
To: Jaegeuk Kim, Chao Yu; +Cc: Matthew Wilcox (Oracle), linux-f2fs-devel
Convert the incoming page to a folio and use it throughout.
Removes an access to page->index.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
---
fs/f2fs/compress.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/fs/f2fs/compress.c b/fs/f2fs/compress.c
index c91a2e4fe60c..494baa1e8bd3 100644
--- a/fs/f2fs/compress.c
+++ b/fs/f2fs/compress.c
@@ -1242,13 +1242,14 @@ int f2fs_truncate_partial_cluster(struct inode *inode, u64 from, bool lock)
int i;
for (i = cluster_size - 1; i >= 0; i--) {
- loff_t start = rpages[i]->index << PAGE_SHIFT;
+ struct folio *folio = page_folio(rpages[i]);
+ loff_t start = folio->index << PAGE_SHIFT;
if (from <= start) {
- zero_user_segment(rpages[i], 0, PAGE_SIZE);
+ folio_zero_segment(folio, 0, folio_size(folio));
} else {
- zero_user_segment(rpages[i], from - start,
- PAGE_SIZE);
+ folio_zero_segment(folio, from - start,
+ folio_size(folio));
break;
}
}
--
2.45.2
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [f2fs-dev] [PATCH 04/11] f2fs: Use a folio in f2fs_write_compressed_pages()
2024-11-28 4:58 [f2fs-dev] [PATCH 00/11] f2fs folio patches Matthew Wilcox (Oracle)
` (2 preceding siblings ...)
2024-11-28 4:58 ` [f2fs-dev] [PATCH 03/11] f2fs: Use a folio in f2fs_truncate_partial_cluster() Matthew Wilcox (Oracle)
@ 2024-11-28 4:58 ` Matthew Wilcox (Oracle)
2024-11-28 4:58 ` [f2fs-dev] [PATCH 05/11] f2fs: Convert submit tracepoints to take a folio Matthew Wilcox (Oracle)
` (9 subsequent siblings)
13 siblings, 0 replies; 16+ messages in thread
From: Matthew Wilcox (Oracle) @ 2024-11-28 4:58 UTC (permalink / raw)
To: Jaegeuk Kim, Chao Yu; +Cc: Matthew Wilcox (Oracle), linux-f2fs-devel
Remove accesses to page->index and an unnecessary reference to
page->mapping.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
---
fs/f2fs/compress.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/fs/f2fs/compress.c b/fs/f2fs/compress.c
index 494baa1e8bd3..0b55b2695c9b 100644
--- a/fs/f2fs/compress.c
+++ b/fs/f2fs/compress.c
@@ -1282,6 +1282,7 @@ static int f2fs_write_compressed_pages(struct compress_ctx *cc,
.encrypted = fscrypt_inode_uses_fs_layer_crypto(cc->inode) ?
1 : 0,
};
+ struct folio *folio;
struct dnode_of_data dn;
struct node_info ni;
struct compress_io_ctx *cic;
@@ -1293,7 +1294,7 @@ static int f2fs_write_compressed_pages(struct compress_ctx *cc,
/* we should bypass data pages to proceed the kworker jobs */
if (unlikely(f2fs_cp_error(sbi))) {
- mapping_set_error(cc->rpages[0]->mapping, -EIO);
+ mapping_set_error(inode->i_mapping, -EIO);
goto out_free;
}
@@ -1320,7 +1321,8 @@ static int f2fs_write_compressed_pages(struct compress_ctx *cc,
goto out_put_dnode;
}
- psize = (loff_t)(cc->rpages[last_index]->index + 1) << PAGE_SHIFT;
+ folio = page_folio(cc->rpages[last_index]);
+ psize = folio_pos(folio) + folio_size(folio);
err = f2fs_get_node_info(fio.sbi, dn.nid, &ni, false);
if (err)
@@ -1343,7 +1345,7 @@ static int f2fs_write_compressed_pages(struct compress_ctx *cc,
for (i = 0; i < cc->valid_nr_cpages; i++) {
f2fs_set_compressed_page(cc->cpages[i], inode,
- cc->rpages[i + 1]->index, cic);
+ page_folio(cc->rpages[i + 1])->index, cic);
fio.compressed_page = cc->cpages[i];
fio.old_blkaddr = data_blkaddr(dn.inode, dn.node_page,
--
2.45.2
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [f2fs-dev] [PATCH 05/11] f2fs: Convert submit tracepoints to take a folio
2024-11-28 4:58 [f2fs-dev] [PATCH 00/11] f2fs folio patches Matthew Wilcox (Oracle)
` (3 preceding siblings ...)
2024-11-28 4:58 ` [f2fs-dev] [PATCH 04/11] f2fs: Use a folio in f2fs_write_compressed_pages() Matthew Wilcox (Oracle)
@ 2024-11-28 4:58 ` Matthew Wilcox (Oracle)
2024-11-28 4:58 ` [f2fs-dev] [PATCH 06/11] f2fs: Add F2FS_F_SB() Matthew Wilcox (Oracle)
` (8 subsequent siblings)
13 siblings, 0 replies; 16+ messages in thread
From: Matthew Wilcox (Oracle) @ 2024-11-28 4:58 UTC (permalink / raw)
To: Jaegeuk Kim, Chao Yu; +Cc: Matthew Wilcox (Oracle), linux-f2fs-devel
Remove accesses to page->index and page->mapping as well as
unnecessary calls to page_file_mapping().
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
---
fs/f2fs/data.c | 6 +++---
include/trace/events/f2fs.h | 30 +++++++++++++++---------------
2 files changed, 18 insertions(+), 18 deletions(-)
diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
index a2478c2afb3a..7cb2272c723e 100644
--- a/fs/f2fs/data.c
+++ b/fs/f2fs/data.c
@@ -697,7 +697,7 @@ int f2fs_submit_page_bio(struct f2fs_io_info *fio)
META_GENERIC : DATA_GENERIC_ENHANCE)))
return -EFSCORRUPTED;
- trace_f2fs_submit_page_bio(page, fio);
+ trace_f2fs_submit_folio_bio(page_folio(page), fio);
/* Allocate a new bio */
bio = __bio_alloc(fio, 1);
@@ -894,7 +894,7 @@ int f2fs_merge_page_bio(struct f2fs_io_info *fio)
__is_meta_io(fio) ? META_GENERIC : DATA_GENERIC))
return -EFSCORRUPTED;
- trace_f2fs_submit_page_bio(page, fio);
+ trace_f2fs_submit_folio_bio(page_folio(page), fio);
if (bio && !page_is_mergeable(fio->sbi, bio, *fio->last_block,
fio->new_blkaddr))
@@ -1018,7 +1018,7 @@ void f2fs_submit_page_write(struct f2fs_io_info *fio)
io->last_block_in_bio = fio->new_blkaddr;
- trace_f2fs_submit_page_write(fio->page, fio);
+ trace_f2fs_submit_folio_write(page_folio(fio->page), fio);
#ifdef CONFIG_BLK_DEV_ZONED
if (f2fs_sb_has_blkzoned(sbi) && btype < META &&
is_end_zone_blkaddr(sbi, fio->new_blkaddr)) {
diff --git a/include/trace/events/f2fs.h b/include/trace/events/f2fs.h
index 2851c823095b..3253f45508e8 100644
--- a/include/trace/events/f2fs.h
+++ b/include/trace/events/f2fs.h
@@ -1119,11 +1119,11 @@ TRACE_EVENT(f2fs_reserve_new_blocks,
(unsigned long long)__entry->count)
);
-DECLARE_EVENT_CLASS(f2fs__submit_page_bio,
+DECLARE_EVENT_CLASS(f2fs__submit_folio_bio,
- TP_PROTO(struct page *page, struct f2fs_io_info *fio),
+ TP_PROTO(struct folio *folio, struct f2fs_io_info *fio),
- TP_ARGS(page, fio),
+ TP_ARGS(folio, fio),
TP_STRUCT__entry(
__field(dev_t, dev)
@@ -1138,9 +1138,9 @@ DECLARE_EVENT_CLASS(f2fs__submit_page_bio,
),
TP_fast_assign(
- __entry->dev = page_file_mapping(page)->host->i_sb->s_dev;
- __entry->ino = page_file_mapping(page)->host->i_ino;
- __entry->index = page->index;
+ __entry->dev = folio->mapping->host->i_sb->s_dev;
+ __entry->ino = folio->mapping->host->i_ino;
+ __entry->index = folio->index;
__entry->old_blkaddr = fio->old_blkaddr;
__entry->new_blkaddr = fio->new_blkaddr;
__entry->op = fio->op;
@@ -1149,7 +1149,7 @@ DECLARE_EVENT_CLASS(f2fs__submit_page_bio,
__entry->type = fio->type;
),
- TP_printk("dev = (%d,%d), ino = %lu, page_index = 0x%lx, "
+ TP_printk("dev = (%d,%d), ino = %lu, folio_index = 0x%lx, "
"oldaddr = 0x%llx, newaddr = 0x%llx, rw = %s(%s), type = %s_%s",
show_dev_ino(__entry),
(unsigned long)__entry->index,
@@ -1160,22 +1160,22 @@ DECLARE_EVENT_CLASS(f2fs__submit_page_bio,
show_block_type(__entry->type))
);
-DEFINE_EVENT_CONDITION(f2fs__submit_page_bio, f2fs_submit_page_bio,
+DEFINE_EVENT_CONDITION(f2fs__submit_folio_bio, f2fs_submit_folio_bio,
- TP_PROTO(struct page *page, struct f2fs_io_info *fio),
+ TP_PROTO(struct folio *folio, struct f2fs_io_info *fio),
- TP_ARGS(page, fio),
+ TP_ARGS(folio, fio),
- TP_CONDITION(page->mapping)
+ TP_CONDITION(folio->mapping)
);
-DEFINE_EVENT_CONDITION(f2fs__submit_page_bio, f2fs_submit_page_write,
+DEFINE_EVENT_CONDITION(f2fs__submit_folio_bio, f2fs_submit_folio_write,
- TP_PROTO(struct page *page, struct f2fs_io_info *fio),
+ TP_PROTO(struct folio *folio, struct f2fs_io_info *fio),
- TP_ARGS(page, fio),
+ TP_ARGS(folio, fio),
- TP_CONDITION(page->mapping)
+ TP_CONDITION(folio->mapping)
);
DECLARE_EVENT_CLASS(f2fs__bio,
--
2.45.2
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [f2fs-dev] [PATCH 06/11] f2fs: Add F2FS_F_SB()
2024-11-28 4:58 [f2fs-dev] [PATCH 00/11] f2fs folio patches Matthew Wilcox (Oracle)
` (4 preceding siblings ...)
2024-11-28 4:58 ` [f2fs-dev] [PATCH 05/11] f2fs: Convert submit tracepoints to take a folio Matthew Wilcox (Oracle)
@ 2024-11-28 4:58 ` Matthew Wilcox (Oracle)
2024-11-28 4:58 ` [f2fs-dev] [PATCH 07/11] f2fs: Convert f2fs_finish_read_bio() to use folios Matthew Wilcox (Oracle)
` (7 subsequent siblings)
13 siblings, 0 replies; 16+ messages in thread
From: Matthew Wilcox (Oracle) @ 2024-11-28 4:58 UTC (permalink / raw)
To: Jaegeuk Kim, Chao Yu; +Cc: Matthew Wilcox (Oracle), linux-f2fs-devel
This is the folio equivalent of F2FS_P_SB(). Removes a call to
page_file_mapping() as we know folios seen by f2fs are never part of
the swap cache.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
---
fs/f2fs/f2fs.h | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h
index 6f2cbf4c5740..f523dd302bf6 100644
--- a/fs/f2fs/f2fs.h
+++ b/fs/f2fs/f2fs.h
@@ -2003,9 +2003,14 @@ static inline struct f2fs_sb_info *F2FS_M_SB(struct address_space *mapping)
return F2FS_I_SB(mapping->host);
}
+static inline struct f2fs_sb_info *F2FS_F_SB(struct folio *folio)
+{
+ return F2FS_M_SB(folio->mapping);
+}
+
static inline struct f2fs_sb_info *F2FS_P_SB(struct page *page)
{
- return F2FS_M_SB(page_file_mapping(page));
+ return F2FS_F_SB(page_folio(page));
}
static inline struct f2fs_super_block *F2FS_RAW_SUPER(struct f2fs_sb_info *sbi)
--
2.45.2
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [f2fs-dev] [PATCH 07/11] f2fs: Convert f2fs_finish_read_bio() to use folios
2024-11-28 4:58 [f2fs-dev] [PATCH 00/11] f2fs folio patches Matthew Wilcox (Oracle)
` (5 preceding siblings ...)
2024-11-28 4:58 ` [f2fs-dev] [PATCH 06/11] f2fs: Add F2FS_F_SB() Matthew Wilcox (Oracle)
@ 2024-11-28 4:58 ` Matthew Wilcox (Oracle)
2024-11-28 4:58 ` [f2fs-dev] [PATCH 08/11] f2fs: Use a folio more in f2fs_submit_page_bio() Matthew Wilcox (Oracle)
` (6 subsequent siblings)
13 siblings, 0 replies; 16+ messages in thread
From: Matthew Wilcox (Oracle) @ 2024-11-28 4:58 UTC (permalink / raw)
To: Jaegeuk Kim, Chao Yu; +Cc: Matthew Wilcox (Oracle), linux-f2fs-devel
Use bio_for_each_folio_all() to iterate over each folio in the bio.
This lets us use folio_end_read() which saves an atomic operation and
memory barrier compared to marking the folio uptodate and unlocking
it as two separate operations. This also removes a few hidden calls
to compound_head().
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
---
fs/f2fs/data.c | 21 ++++++++-------------
1 file changed, 8 insertions(+), 13 deletions(-)
diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
index 7cb2272c723e..aa08ab387e58 100644
--- a/fs/f2fs/data.c
+++ b/fs/f2fs/data.c
@@ -136,27 +136,22 @@ struct bio_post_read_ctx {
*/
static void f2fs_finish_read_bio(struct bio *bio, bool in_task)
{
- struct bio_vec *bv;
- struct bvec_iter_all iter_all;
+ struct folio_iter fi;
struct bio_post_read_ctx *ctx = bio->bi_private;
- bio_for_each_segment_all(bv, bio, iter_all) {
- struct page *page = bv->bv_page;
+ bio_for_each_folio_all(fi, bio) {
+ struct folio *folio = fi.folio;
- if (f2fs_is_compressed_page(page)) {
+ if (f2fs_is_compressed_page(&folio->page)) {
if (ctx && !ctx->decompression_attempted)
- f2fs_end_read_compressed_page(page, true, 0,
+ f2fs_end_read_compressed_page(&folio->page, true, 0,
in_task);
- f2fs_put_page_dic(page, in_task);
+ f2fs_put_page_dic(&folio->page, in_task);
continue;
}
- if (bio->bi_status)
- ClearPageUptodate(page);
- else
- SetPageUptodate(page);
- dec_page_count(F2FS_P_SB(page), __read_io_type(page));
- unlock_page(page);
+ dec_page_count(F2FS_F_SB(folio), __read_io_type(&folio->page));
+ folio_end_read(folio, bio->bi_status == 0);
}
if (ctx)
--
2.45.2
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [f2fs-dev] [PATCH 08/11] f2fs: Use a folio more in f2fs_submit_page_bio()
2024-11-28 4:58 [f2fs-dev] [PATCH 00/11] f2fs folio patches Matthew Wilcox (Oracle)
` (6 preceding siblings ...)
2024-11-28 4:58 ` [f2fs-dev] [PATCH 07/11] f2fs: Convert f2fs_finish_read_bio() to use folios Matthew Wilcox (Oracle)
@ 2024-11-28 4:58 ` Matthew Wilcox (Oracle)
2024-11-28 4:58 ` [f2fs-dev] [PATCH 09/11] f2fs: Use a data folio " Matthew Wilcox (Oracle)
` (5 subsequent siblings)
13 siblings, 0 replies; 16+ messages in thread
From: Matthew Wilcox (Oracle) @ 2024-11-28 4:58 UTC (permalink / raw)
To: Jaegeuk Kim, Chao Yu; +Cc: Matthew Wilcox (Oracle), linux-f2fs-devel
Cache the result of page_folio(fio->page) in a local variable so
we don't have to keep calling it. Saves a couple of calls to
compound_head() and removes an access to page->mapping.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
---
fs/f2fs/data.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
index aa08ab387e58..cae5fa895b97 100644
--- a/fs/f2fs/data.c
+++ b/fs/f2fs/data.c
@@ -684,6 +684,7 @@ void f2fs_flush_merged_writes(struct f2fs_sb_info *sbi)
int f2fs_submit_page_bio(struct f2fs_io_info *fio)
{
struct bio *bio;
+ struct folio *fio_folio = page_folio(fio->page);
struct page *page = fio->encrypted_page ?
fio->encrypted_page : fio->page;
@@ -697,8 +698,8 @@ int f2fs_submit_page_bio(struct f2fs_io_info *fio)
/* Allocate a new bio */
bio = __bio_alloc(fio, 1);
- f2fs_set_bio_crypt_ctx(bio, fio->page->mapping->host,
- page_folio(fio->page)->index, fio, GFP_NOIO);
+ f2fs_set_bio_crypt_ctx(bio, fio_folio->mapping->host,
+ fio_folio->index, fio, GFP_NOIO);
if (bio_add_page(bio, page, PAGE_SIZE, 0) < PAGE_SIZE) {
bio_put(bio);
@@ -706,8 +707,7 @@ int f2fs_submit_page_bio(struct f2fs_io_info *fio)
}
if (fio->io_wbc && !is_read_io(fio->op))
- wbc_account_cgroup_owner(fio->io_wbc, page_folio(fio->page),
- PAGE_SIZE);
+ wbc_account_cgroup_owner(fio->io_wbc, fio_folio, PAGE_SIZE);
inc_page_count(fio->sbi, is_read_io(fio->op) ?
__read_io_type(page) : WB_DATA_TYPE(fio->page, false));
--
2.45.2
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [f2fs-dev] [PATCH 09/11] f2fs: Use a data folio in f2fs_submit_page_bio()
2024-11-28 4:58 [f2fs-dev] [PATCH 00/11] f2fs folio patches Matthew Wilcox (Oracle)
` (7 preceding siblings ...)
2024-11-28 4:58 ` [f2fs-dev] [PATCH 08/11] f2fs: Use a folio more in f2fs_submit_page_bio() Matthew Wilcox (Oracle)
@ 2024-11-28 4:58 ` Matthew Wilcox (Oracle)
2024-11-28 4:58 ` [f2fs-dev] [PATCH 10/11] f2fs: Convert __read_io_type() to take a folio Matthew Wilcox (Oracle)
` (4 subsequent siblings)
13 siblings, 0 replies; 16+ messages in thread
From: Matthew Wilcox (Oracle) @ 2024-11-28 4:58 UTC (permalink / raw)
To: Jaegeuk Kim, Chao Yu; +Cc: Matthew Wilcox (Oracle), linux-f2fs-devel
Remove a call to compound_head(). We can call bio_add_folio_nofail()
here because we just allocated the bio, so we know it can't fail and
thus the error path can never be taken.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
---
fs/f2fs/data.c | 14 +++++---------
1 file changed, 5 insertions(+), 9 deletions(-)
diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
index cae5fa895b97..30d727808c92 100644
--- a/fs/f2fs/data.c
+++ b/fs/f2fs/data.c
@@ -685,32 +685,28 @@ int f2fs_submit_page_bio(struct f2fs_io_info *fio)
{
struct bio *bio;
struct folio *fio_folio = page_folio(fio->page);
- struct page *page = fio->encrypted_page ?
- fio->encrypted_page : fio->page;
+ struct folio *data_folio = fio->encrypted_page ?
+ page_folio(fio->encrypted_page) : fio_folio;
if (!f2fs_is_valid_blkaddr(fio->sbi, fio->new_blkaddr,
fio->is_por ? META_POR : (__is_meta_io(fio) ?
META_GENERIC : DATA_GENERIC_ENHANCE)))
return -EFSCORRUPTED;
- trace_f2fs_submit_folio_bio(page_folio(page), fio);
+ trace_f2fs_submit_folio_bio(data_folio, fio);
/* Allocate a new bio */
bio = __bio_alloc(fio, 1);
f2fs_set_bio_crypt_ctx(bio, fio_folio->mapping->host,
fio_folio->index, fio, GFP_NOIO);
-
- if (bio_add_page(bio, page, PAGE_SIZE, 0) < PAGE_SIZE) {
- bio_put(bio);
- return -EFAULT;
- }
+ bio_add_folio_nofail(bio, data_folio, folio_size(data_folio), 0);
if (fio->io_wbc && !is_read_io(fio->op))
wbc_account_cgroup_owner(fio->io_wbc, fio_folio, PAGE_SIZE);
inc_page_count(fio->sbi, is_read_io(fio->op) ?
- __read_io_type(page) : WB_DATA_TYPE(fio->page, false));
+ __read_io_type(&data_folio->page) : WB_DATA_TYPE(fio->page, false));
if (is_read_io(bio_op(bio)))
f2fs_submit_read_bio(fio->sbi, bio, fio->type);
--
2.45.2
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [f2fs-dev] [PATCH 10/11] f2fs: Convert __read_io_type() to take a folio
2024-11-28 4:58 [f2fs-dev] [PATCH 00/11] f2fs folio patches Matthew Wilcox (Oracle)
` (8 preceding siblings ...)
2024-11-28 4:58 ` [f2fs-dev] [PATCH 09/11] f2fs: Use a data folio " Matthew Wilcox (Oracle)
@ 2024-11-28 4:58 ` Matthew Wilcox (Oracle)
2024-11-28 4:58 ` [f2fs-dev] [PATCH 11/11] f2fs: Remove calls to folio_file_mapping() Matthew Wilcox (Oracle)
` (3 subsequent siblings)
13 siblings, 0 replies; 16+ messages in thread
From: Matthew Wilcox (Oracle) @ 2024-11-28 4:58 UTC (permalink / raw)
To: Jaegeuk Kim, Chao Yu; +Cc: Matthew Wilcox (Oracle), linux-f2fs-devel
Remove the last call to page_file_mapping() as both callers can now pass
in a folio.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
---
fs/f2fs/data.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
index 30d727808c92..e68a4dd9bc17 100644
--- a/fs/f2fs/data.c
+++ b/fs/f2fs/data.c
@@ -70,9 +70,9 @@ bool f2fs_is_cp_guaranteed(struct page *page)
return false;
}
-static enum count_type __read_io_type(struct page *page)
+static enum count_type __read_io_type(struct folio *folio)
{
- struct address_space *mapping = page_file_mapping(page);
+ struct address_space *mapping = folio->mapping;
if (mapping) {
struct inode *inode = mapping->host;
@@ -150,7 +150,7 @@ static void f2fs_finish_read_bio(struct bio *bio, bool in_task)
continue;
}
- dec_page_count(F2FS_F_SB(folio), __read_io_type(&folio->page));
+ dec_page_count(F2FS_F_SB(folio), __read_io_type(folio));
folio_end_read(folio, bio->bi_status == 0);
}
@@ -706,7 +706,7 @@ int f2fs_submit_page_bio(struct f2fs_io_info *fio)
wbc_account_cgroup_owner(fio->io_wbc, fio_folio, PAGE_SIZE);
inc_page_count(fio->sbi, is_read_io(fio->op) ?
- __read_io_type(&data_folio->page) : WB_DATA_TYPE(fio->page, false));
+ __read_io_type(data_folio) : WB_DATA_TYPE(fio->page, false));
if (is_read_io(bio_op(bio)))
f2fs_submit_read_bio(fio->sbi, bio, fio->type);
--
2.45.2
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [f2fs-dev] [PATCH 11/11] f2fs: Remove calls to folio_file_mapping()
2024-11-28 4:58 [f2fs-dev] [PATCH 00/11] f2fs folio patches Matthew Wilcox (Oracle)
` (9 preceding siblings ...)
2024-11-28 4:58 ` [f2fs-dev] [PATCH 10/11] f2fs: Convert __read_io_type() to take a folio Matthew Wilcox (Oracle)
@ 2024-11-28 4:58 ` Matthew Wilcox (Oracle)
2024-12-16 13:59 ` [f2fs-dev] [PATCH 00/11] f2fs folio patches Matthew Wilcox
` (2 subsequent siblings)
13 siblings, 0 replies; 16+ messages in thread
From: Matthew Wilcox (Oracle) @ 2024-11-28 4:58 UTC (permalink / raw)
To: Jaegeuk Kim, Chao Yu; +Cc: Matthew Wilcox (Oracle), linux-f2fs-devel
All folios that f2fs sees belong to f2fs and not to the swapcache
so it can dereference folio->mapping directly like all other
filesystems do.
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
---
fs/f2fs/data.c | 2 +-
fs/f2fs/inline.c | 2 +-
include/trace/events/f2fs.h | 9 ++++-----
3 files changed, 6 insertions(+), 7 deletions(-)
diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
index e68a4dd9bc17..0657f731d4b7 100644
--- a/fs/f2fs/data.c
+++ b/fs/f2fs/data.c
@@ -2455,7 +2455,7 @@ static int f2fs_mpage_readpages(struct inode *inode,
static int f2fs_read_data_folio(struct file *file, struct folio *folio)
{
- struct inode *inode = folio_file_mapping(folio)->host;
+ struct inode *inode = folio->mapping->host;
int ret = -EAGAIN;
trace_f2fs_readpage(folio, DATA);
diff --git a/fs/f2fs/inline.c b/fs/f2fs/inline.c
index 005babf1bed1..cbd2a0d34804 100644
--- a/fs/f2fs/inline.c
+++ b/fs/f2fs/inline.c
@@ -81,7 +81,7 @@ bool f2fs_may_inline_dentry(struct inode *inode)
void f2fs_do_read_inline_data(struct folio *folio, struct page *ipage)
{
- struct inode *inode = folio_file_mapping(folio)->host;
+ struct inode *inode = folio->mapping->host;
if (folio_test_uptodate(folio))
return;
diff --git a/include/trace/events/f2fs.h b/include/trace/events/f2fs.h
index 3253f45508e8..eb3b2f1326b1 100644
--- a/include/trace/events/f2fs.h
+++ b/include/trace/events/f2fs.h
@@ -1322,12 +1322,11 @@ DECLARE_EVENT_CLASS(f2fs__folio,
),
TP_fast_assign(
- __entry->dev = folio_file_mapping(folio)->host->i_sb->s_dev;
- __entry->ino = folio_file_mapping(folio)->host->i_ino;
+ __entry->dev = folio->mapping->host->i_sb->s_dev;
+ __entry->ino = folio->mapping->host->i_ino;
__entry->type = type;
- __entry->dir =
- S_ISDIR(folio_file_mapping(folio)->host->i_mode);
- __entry->index = folio_index(folio);
+ __entry->dir = S_ISDIR(folio->mapping->host->i_mode);
+ __entry->index = folio->index;
__entry->dirty = folio_test_dirty(folio);
__entry->uptodate = folio_test_uptodate(folio);
),
--
2.45.2
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [f2fs-dev] [PATCH 00/11] f2fs folio patches
2024-11-28 4:58 [f2fs-dev] [PATCH 00/11] f2fs folio patches Matthew Wilcox (Oracle)
` (10 preceding siblings ...)
2024-11-28 4:58 ` [f2fs-dev] [PATCH 11/11] f2fs: Remove calls to folio_file_mapping() Matthew Wilcox (Oracle)
@ 2024-12-16 13:59 ` Matthew Wilcox
2024-12-16 16:11 ` Jaegeuk Kim via Linux-f2fs-devel
2024-12-16 14:39 ` Chao Yu via Linux-f2fs-devel
2024-12-16 16:40 ` patchwork-bot+f2fs--- via Linux-f2fs-devel
13 siblings, 1 reply; 16+ messages in thread
From: Matthew Wilcox @ 2024-12-16 13:59 UTC (permalink / raw)
To: Jaegeuk Kim, Chao Yu; +Cc: linux-f2fs-devel
On Thu, Nov 28, 2024 at 04:58:15AM +0000, Matthew Wilcox (Oracle) wrote:
> This round of f2fs patches accomplishes two things:
Ping. It's been two weeks and these patches aren't in linux-next yet.
> - Removal of all references to page->index in f2fs. I'm looking to
> finish this conversion in the January merge window.
> - Removal of all calls to page_file_mapping() and folio_file_mapping()
>
> I have only compile-tested these patches.
>
> Matthew Wilcox (Oracle) (11):
> f2fs: Use a folio in f2fs_all_cluster_page_ready()
> f2fs: Use a folio in f2fs_compress_write_end()
> f2fs: Use a folio in f2fs_truncate_partial_cluster()
> f2fs: Use a folio in f2fs_write_compressed_pages()
> f2fs: Convert submit tracepoints to take a folio
> f2fs: Add F2FS_F_SB()
> f2fs: Convert f2fs_finish_read_bio() to use folios
> f2fs: Use a folio more in f2fs_submit_page_bio()
> f2fs: Use a data folio in f2fs_submit_page_bio()
> f2fs: Convert __read_io_type() to take a folio
> f2fs: Remove calls to folio_file_mapping()
>
> fs/f2fs/compress.c | 28 ++++++++++++--------
> fs/f2fs/data.c | 53 +++++++++++++++----------------------
> fs/f2fs/f2fs.h | 7 ++++-
> fs/f2fs/inline.c | 2 +-
> include/trace/events/f2fs.h | 39 +++++++++++++--------------
> 5 files changed, 65 insertions(+), 64 deletions(-)
>
> --
> 2.45.2
>
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [f2fs-dev] [PATCH 00/11] f2fs folio patches
2024-11-28 4:58 [f2fs-dev] [PATCH 00/11] f2fs folio patches Matthew Wilcox (Oracle)
` (11 preceding siblings ...)
2024-12-16 13:59 ` [f2fs-dev] [PATCH 00/11] f2fs folio patches Matthew Wilcox
@ 2024-12-16 14:39 ` Chao Yu via Linux-f2fs-devel
2024-12-16 16:40 ` patchwork-bot+f2fs--- via Linux-f2fs-devel
13 siblings, 0 replies; 16+ messages in thread
From: Chao Yu via Linux-f2fs-devel @ 2024-12-16 14:39 UTC (permalink / raw)
To: Matthew Wilcox (Oracle), Jaegeuk Kim; +Cc: linux-f2fs-devel
On 2024/11/28 12:58, Matthew Wilcox (Oracle) wrote:
> This round of f2fs patches accomplishes two things:
>
> - Removal of all references to page->index in f2fs. I'm looking to
> finish this conversion in the January merge window.
> - Removal of all calls to page_file_mapping() and folio_file_mapping()
>
> I have only compile-tested these patches.
>
> Matthew Wilcox (Oracle) (11):
> f2fs: Use a folio in f2fs_all_cluster_page_ready()
> f2fs: Use a folio in f2fs_compress_write_end()
> f2fs: Use a folio in f2fs_truncate_partial_cluster()
> f2fs: Use a folio in f2fs_write_compressed_pages()
> f2fs: Convert submit tracepoints to take a folio
> f2fs: Add F2FS_F_SB()
> f2fs: Convert f2fs_finish_read_bio() to use folios
> f2fs: Use a folio more in f2fs_submit_page_bio()
> f2fs: Use a data folio in f2fs_submit_page_bio()
> f2fs: Convert __read_io_type() to take a folio
> f2fs: Remove calls to folio_file_mapping()
For all patches in this serial, feel free to add:
Reviewed-by: Chao Yu <chao@kernel.org>
Thanks,
>
> fs/f2fs/compress.c | 28 ++++++++++++--------
> fs/f2fs/data.c | 53 +++++++++++++++----------------------
> fs/f2fs/f2fs.h | 7 ++++-
> fs/f2fs/inline.c | 2 +-
> include/trace/events/f2fs.h | 39 +++++++++++++--------------
> 5 files changed, 65 insertions(+), 64 deletions(-)
>
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [f2fs-dev] [PATCH 00/11] f2fs folio patches
2024-12-16 13:59 ` [f2fs-dev] [PATCH 00/11] f2fs folio patches Matthew Wilcox
@ 2024-12-16 16:11 ` Jaegeuk Kim via Linux-f2fs-devel
0 siblings, 0 replies; 16+ messages in thread
From: Jaegeuk Kim via Linux-f2fs-devel @ 2024-12-16 16:11 UTC (permalink / raw)
To: Matthew Wilcox; +Cc: linux-f2fs-devel
On 12/16, Matthew Wilcox wrote:
> On Thu, Nov 28, 2024 at 04:58:15AM +0000, Matthew Wilcox (Oracle) wrote:
> > This round of f2fs patches accomplishes two things:
>
> Ping. It's been two weeks and these patches aren't in linux-next yet.
I was testing the series in dev-test.
https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git/log/?h=dev-test
>
> > - Removal of all references to page->index in f2fs. I'm looking to
> > finish this conversion in the January merge window.
> > - Removal of all calls to page_file_mapping() and folio_file_mapping()
> >
> > I have only compile-tested these patches.
> >
> > Matthew Wilcox (Oracle) (11):
> > f2fs: Use a folio in f2fs_all_cluster_page_ready()
> > f2fs: Use a folio in f2fs_compress_write_end()
> > f2fs: Use a folio in f2fs_truncate_partial_cluster()
> > f2fs: Use a folio in f2fs_write_compressed_pages()
> > f2fs: Convert submit tracepoints to take a folio
> > f2fs: Add F2FS_F_SB()
> > f2fs: Convert f2fs_finish_read_bio() to use folios
> > f2fs: Use a folio more in f2fs_submit_page_bio()
> > f2fs: Use a data folio in f2fs_submit_page_bio()
> > f2fs: Convert __read_io_type() to take a folio
> > f2fs: Remove calls to folio_file_mapping()
> >
> > fs/f2fs/compress.c | 28 ++++++++++++--------
> > fs/f2fs/data.c | 53 +++++++++++++++----------------------
> > fs/f2fs/f2fs.h | 7 ++++-
> > fs/f2fs/inline.c | 2 +-
> > include/trace/events/f2fs.h | 39 +++++++++++++--------------
> > 5 files changed, 65 insertions(+), 64 deletions(-)
> >
> > --
> > 2.45.2
> >
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [f2fs-dev] [PATCH 00/11] f2fs folio patches
2024-11-28 4:58 [f2fs-dev] [PATCH 00/11] f2fs folio patches Matthew Wilcox (Oracle)
` (12 preceding siblings ...)
2024-12-16 14:39 ` Chao Yu via Linux-f2fs-devel
@ 2024-12-16 16:40 ` patchwork-bot+f2fs--- via Linux-f2fs-devel
13 siblings, 0 replies; 16+ messages in thread
From: patchwork-bot+f2fs--- via Linux-f2fs-devel @ 2024-12-16 16:40 UTC (permalink / raw)
To: Matthew Wilcox; +Cc: jaegeuk, linux-f2fs-devel
Hello:
This series was applied to jaegeuk/f2fs.git (dev)
by Jaegeuk Kim <jaegeuk@kernel.org>:
On Thu, 28 Nov 2024 04:58:15 +0000 you wrote:
> This round of f2fs patches accomplishes two things:
>
> - Removal of all references to page->index in f2fs. I'm looking to
> finish this conversion in the January merge window.
> - Removal of all calls to page_file_mapping() and folio_file_mapping()
>
> I have only compile-tested these patches.
>
> [...]
Here is the summary with links:
- [f2fs-dev,01/11] f2fs: Use a folio in f2fs_all_cluster_page_ready()
https://git.kernel.org/jaegeuk/f2fs/c/a909c1795353
- [f2fs-dev,02/11] f2fs: Use a folio in f2fs_compress_write_end()
https://git.kernel.org/jaegeuk/f2fs/c/ff6c82a934f7
- [f2fs-dev,03/11] f2fs: Use a folio in f2fs_truncate_partial_cluster()
https://git.kernel.org/jaegeuk/f2fs/c/1cda5bc0b2fe
- [f2fs-dev,04/11] f2fs: Use a folio in f2fs_write_compressed_pages()
https://git.kernel.org/jaegeuk/f2fs/c/ac866908d7a9
- [f2fs-dev,05/11] f2fs: Convert submit tracepoints to take a folio
https://git.kernel.org/jaegeuk/f2fs/c/87e2a15bc008
- [f2fs-dev,06/11] f2fs: Add F2FS_F_SB()
https://git.kernel.org/jaegeuk/f2fs/c/1cf746007005
- [f2fs-dev,07/11] f2fs: Convert f2fs_finish_read_bio() to use folios
https://git.kernel.org/jaegeuk/f2fs/c/e0821645dd2d
- [f2fs-dev,08/11] f2fs: Use a folio more in f2fs_submit_page_bio()
https://git.kernel.org/jaegeuk/f2fs/c/0765b3f989a7
- [f2fs-dev,09/11] f2fs: Use a data folio in f2fs_submit_page_bio()
https://git.kernel.org/jaegeuk/f2fs/c/f58d8645824b
- [f2fs-dev,10/11] f2fs: Convert __read_io_type() to take a folio
https://git.kernel.org/jaegeuk/f2fs/c/19bbd306ddfd
- [f2fs-dev,11/11] f2fs: Remove calls to folio_file_mapping()
https://git.kernel.org/jaegeuk/f2fs/c/c910a64bc4e2
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2024-12-16 16:40 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-28 4:58 [f2fs-dev] [PATCH 00/11] f2fs folio patches Matthew Wilcox (Oracle)
2024-11-28 4:58 ` [f2fs-dev] [PATCH 01/11] f2fs: Use a folio in f2fs_all_cluster_page_ready() Matthew Wilcox (Oracle)
2024-11-28 4:58 ` [f2fs-dev] [PATCH 02/11] f2fs: Use a folio in f2fs_compress_write_end() Matthew Wilcox (Oracle)
2024-11-28 4:58 ` [f2fs-dev] [PATCH 03/11] f2fs: Use a folio in f2fs_truncate_partial_cluster() Matthew Wilcox (Oracle)
2024-11-28 4:58 ` [f2fs-dev] [PATCH 04/11] f2fs: Use a folio in f2fs_write_compressed_pages() Matthew Wilcox (Oracle)
2024-11-28 4:58 ` [f2fs-dev] [PATCH 05/11] f2fs: Convert submit tracepoints to take a folio Matthew Wilcox (Oracle)
2024-11-28 4:58 ` [f2fs-dev] [PATCH 06/11] f2fs: Add F2FS_F_SB() Matthew Wilcox (Oracle)
2024-11-28 4:58 ` [f2fs-dev] [PATCH 07/11] f2fs: Convert f2fs_finish_read_bio() to use folios Matthew Wilcox (Oracle)
2024-11-28 4:58 ` [f2fs-dev] [PATCH 08/11] f2fs: Use a folio more in f2fs_submit_page_bio() Matthew Wilcox (Oracle)
2024-11-28 4:58 ` [f2fs-dev] [PATCH 09/11] f2fs: Use a data folio " Matthew Wilcox (Oracle)
2024-11-28 4:58 ` [f2fs-dev] [PATCH 10/11] f2fs: Convert __read_io_type() to take a folio Matthew Wilcox (Oracle)
2024-11-28 4:58 ` [f2fs-dev] [PATCH 11/11] f2fs: Remove calls to folio_file_mapping() Matthew Wilcox (Oracle)
2024-12-16 13:59 ` [f2fs-dev] [PATCH 00/11] f2fs folio patches Matthew Wilcox
2024-12-16 16:11 ` Jaegeuk Kim via Linux-f2fs-devel
2024-12-16 14:39 ` Chao Yu via Linux-f2fs-devel
2024-12-16 16:40 ` patchwork-bot+f2fs--- via Linux-f2fs-devel
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).