* [PATCH] ceph: Do not skip the first folio of the next object in writeback
@ 2026-02-25 17:07 Hristo Venev
2026-02-25 20:24 ` Viacheslav Dubeyko
0 siblings, 1 reply; 11+ messages in thread
From: Hristo Venev @ 2026-02-25 17:07 UTC (permalink / raw)
To: Viacheslav Dubeyko, Alex Markuze, Ilya Dryomov
Cc: ceph-devel, stable, Hristo Venev
When `ceph_process_folio_batch` encounters a folio past the end of the
current object, it should leave it in the batch so that it is picked up
in the next iteration.
Removing the folio from the batch means that it does not get written
back and remains dirty instead. This makes `fsync()` silently skip some
of the data, delays capability release, and breaks coherence with
`O_DIRECT`.
The link below contains instructions for reproducing the bug.
Cc: stable@vger.kernel.org
Fixes: ce80b76dd327 ("ceph: introduce ceph_process_folio_batch() method")
Link: https://tracker.ceph.com/issues/75156
Signed-off-by: Hristo Venev <hristo@venev.name>
---
fs/ceph/addr.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/fs/ceph/addr.c b/fs/ceph/addr.c
index e87b3bb94ee89..2090fc78529cb 100644
--- a/fs/ceph/addr.c
+++ b/fs/ceph/addr.c
@@ -1326,7 +1326,6 @@ void ceph_process_folio_batch(struct address_space *mapping,
continue;
} else if (rc == -E2BIG) {
folio_unlock(folio);
- ceph_wbc->fbatch.folios[i] = NULL;
break;
}
--
2.53.0
^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH] ceph: Do not skip the first folio of the next object in writeback
2026-02-25 17:07 [PATCH] ceph: Do not skip the first folio of the next object in writeback Hristo Venev
@ 2026-02-25 20:24 ` Viacheslav Dubeyko
2026-02-25 20:47 ` Hristo Venev
0 siblings, 1 reply; 11+ messages in thread
From: Viacheslav Dubeyko @ 2026-02-25 20:24 UTC (permalink / raw)
To: idryomov@gmail.com, hristo@venev.name, slava@dubeyko.com,
Alex Markuze
Cc: ceph-devel@vger.kernel.org, stable@vger.kernel.org
On Wed, 2026-02-25 at 19:07 +0200, Hristo Venev wrote:
> When `ceph_process_folio_batch` encounters a folio past the end of the
> current object, it should leave it in the batch so that it is picked up
> in the next iteration.
>
> Removing the folio from the batch means that it does not get written
> back and remains dirty instead. This makes `fsync()` silently skip some
> of the data, delays capability release, and breaks coherence with
> `O_DIRECT`.
>
> The link below contains instructions for reproducing the bug.
>
> Cc: stable@vger.kernel.org
> Fixes: ce80b76dd327 ("ceph: introduce ceph_process_folio_batch() method")
> Link: https://urldefense.proofpoint.com/v2/url?u=https-3A__tracker.ceph.com_issues_75156&d=DwIDAg&c=BSDicqBQBDjDI9RkVyTcHQ&r=q5bIm4AXMzc8NJu1_RGmnQ2fMWKq4Y4RAkElvUgSs00&m=Zh4oWy1vkk9kkcCGI0xjGQE71Km7iMD4VlXUXz9eYxW6V1JrUB6WOSyOs2JRHpJz&s=cOO8WdycvYD4Au2aAJRg___gbG9aqYoB5eEblAvWRF4&e=
You mentioned in the ticket that you did some testing. Which particular testing
has been done? Have you run xfstsests/fstests for the fix?
> Signed-off-by: Hristo Venev <hristo@venev.name>
> ---
> fs/ceph/addr.c | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/fs/ceph/addr.c b/fs/ceph/addr.c
> index e87b3bb94ee89..2090fc78529cb 100644
> --- a/fs/ceph/addr.c
> +++ b/fs/ceph/addr.c
> @@ -1326,7 +1326,6 @@ void ceph_process_folio_batch(struct address_space *mapping,
> continue;
> } else if (rc == -E2BIG) {
> folio_unlock(folio);
> - ceph_wbc->fbatch.folios[i] = NULL;
> break;
> }
>
The ceph_check_page_before_write() executes three checks:
(1) It returns -E2BIG if we have end of strip unit. So, your fix sounds like
really good catch.
(2) It returns -ENODATA if folio is beyond of end of file. And we clear
dirtiness of the folio. Finally, we can exclude it from the dirty batch and
forget about this folio.
(3) It returns -ENODATA if folio doesn't belong to current snap context. So, we
keep the folio dirty and exclude it from the batch. Maybe, everything is correct
here. But I am slightly worried about this case.
Thanks,
Slava.
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] ceph: Do not skip the first folio of the next object in writeback
2026-02-25 20:24 ` Viacheslav Dubeyko
@ 2026-02-25 20:47 ` Hristo Venev
2026-02-25 21:08 ` Viacheslav Dubeyko
0 siblings, 1 reply; 11+ messages in thread
From: Hristo Venev @ 2026-02-25 20:47 UTC (permalink / raw)
To: Viacheslav Dubeyko
Cc: idryomov@gmail.com, slava@dubeyko.com, Alex Markuze,
ceph-devel@vger.kernel.org, stable@vger.kernel.org
On Wed, 2026-02-25 at 20:24 +0000, Viacheslav Dubeyko wrote:
> You mentioned in the ticket that you did some testing. Which
> particular testing
> has been done? Have you run xfstsests/fstests for the fix?
I only ran the reproducer scripts in the issue, as well as some basic
smoke tests like "does my home directory still work if I access it from
two clients". Do you have CI that can run xfstests/fstests?
> The ceph_check_page_before_write() executes three checks:
> (1) It returns -E2BIG if we have end of strip unit. So, your fix
> sounds like
> really good catch.
> (2) It returns -ENODATA if folio is beyond of end of file. And we
> clear
> dirtiness of the folio. Finally, we can exclude it from the dirty
> batch and
> forget about this folio.
> (3) It returns -ENODATA if folio doesn't belong to current snap
> context. So, we
> keep the folio dirty and exclude it from the batch. Maybe, everything
> is correct
> here. But I am slightly worried about this case.
If the page snapshot is newer than the writeback snapshot, this means
that in the writeback snapshot the page was clean, so we don't want to
flush it? But what if the page snapshot is older? I have never used
snapshots, so I don't really know.
^ permalink raw reply [flat|nested] 11+ messages in thread
* RE: [PATCH] ceph: Do not skip the first folio of the next object in writeback
2026-02-25 20:47 ` Hristo Venev
@ 2026-02-25 21:08 ` Viacheslav Dubeyko
2026-02-26 19:31 ` Viacheslav Dubeyko
0 siblings, 1 reply; 11+ messages in thread
From: Viacheslav Dubeyko @ 2026-02-25 21:08 UTC (permalink / raw)
To: hristo@venev.name
Cc: ceph-devel@vger.kernel.org, idryomov@gmail.com, slava@dubeyko.com,
stable@vger.kernel.org, Alex Markuze
On Wed, 2026-02-25 at 22:47 +0200, Hristo Venev wrote:
> On Wed, 2026-02-25 at 20:24 +0000, Viacheslav Dubeyko wrote:
> > You mentioned in the ticket that you did some testing. Which
> > particular testing
> > has been done? Have you run xfstsests/fstests for the fix?
>
> I only ran the reproducer scripts in the issue, as well as some basic
> smoke tests like "does my home directory still work if I access it from
> two clients". Do you have CI that can run xfstests/fstests?
I can run xfstests/fstests for your patch. But my Ceph cluster is currently busy
with the investigation of kernel crash. It is really important to check the
xfstests/fstests run for your patch to be sure that we don't break another test-
cases. I think I can start another Ceph cluster and to check your patch there.
I don't have any magic on my side. I simply mount Ceph cluster by kernel client
and start xfstests inside of VM. :)
>
> > The ceph_check_page_before_write() executes three checks:
> > (1) It returns -E2BIG if we have end of strip unit. So, your fix
> > sounds like
> > really good catch.
> > (2) It returns -ENODATA if folio is beyond of end of file. And we
> > clear
> > dirtiness of the folio. Finally, we can exclude it from the dirty
> > batch and
> > forget about this folio.
> > (3) It returns -ENODATA if folio doesn't belong to current snap
> > context. So, we
> > keep the folio dirty and exclude it from the batch. Maybe, everything
> > is correct
> > here. But I am slightly worried about this case.
>
> If the page snapshot is newer than the writeback snapshot, this means
> that in the writeback snapshot the page was clean, so we don't want to
> flush it? But what if the page snapshot is older? I have never used
> snapshots, so I don't really know.
Yeah, it requires some investigation.
Thanks,
Slava.
^ permalink raw reply [flat|nested] 11+ messages in thread
* RE: [PATCH] ceph: Do not skip the first folio of the next object in writeback
2026-02-25 21:08 ` Viacheslav Dubeyko
@ 2026-02-26 19:31 ` Viacheslav Dubeyko
2026-02-26 19:42 ` Hristo Venev
0 siblings, 1 reply; 11+ messages in thread
From: Viacheslav Dubeyko @ 2026-02-26 19:31 UTC (permalink / raw)
To: hristo@venev.name
Cc: Alex Markuze, ceph-devel@vger.kernel.org, idryomov@gmail.com,
slava@dubeyko.com, stable@vger.kernel.org
On Wed, 2026-02-25 at 21:08 +0000, Viacheslav Dubeyko wrote:
> On Wed, 2026-02-25 at 22:47 +0200, Hristo Venev wrote:
> > On Wed, 2026-02-25 at 20:24 +0000, Viacheslav Dubeyko wrote:
> > > You mentioned in the ticket that you did some testing. Which
> > > particular testing
> > > has been done? Have you run xfstsests/fstests for the fix?
> >
> > I only ran the reproducer scripts in the issue, as well as some basic
> > smoke tests like "does my home directory still work if I access it from
> > two clients". Do you have CI that can run xfstests/fstests?
>
> I can run xfstests/fstests for your patch. But my Ceph cluster is currently busy
> with the investigation of kernel crash. It is really important to check the
> xfstests/fstests run for your patch to be sure that we don't break another test-
> cases. I think I can start another Ceph cluster and to check your patch there.
>
> I don't have any magic on my side. I simply mount Ceph cluster by kernel client
> and start xfstests inside of VM. :)
>
> >
> > > The ceph_check_page_before_write() executes three checks:
> > > (1) It returns -E2BIG if we have end of strip unit. So, your fix
> > > sounds like
> > > really good catch.
> > > (2) It returns -ENODATA if folio is beyond of end of file. And we
> > > clear
> > > dirtiness of the folio. Finally, we can exclude it from the dirty
> > > batch and
> > > forget about this folio.
> > > (3) It returns -ENODATA if folio doesn't belong to current snap
> > > context. So, we
> > > keep the folio dirty and exclude it from the batch. Maybe, everything
> > > is correct
> > > here. But I am slightly worried about this case.
> >
> > If the page snapshot is newer than the writeback snapshot, this means
> > that in the writeback snapshot the page was clean, so we don't want to
> > flush it? But what if the page snapshot is older? I have never used
> > snapshots, so I don't really know.
>
> Yeah, it requires some investigation.
>
Frankly speaking, I have troubles to apply your patch on 6.19 kernel version:
git am
20260225_hristo_ceph_do_not_skip_the_first_folio_of_the_next_object_in_writeback
.mbx
Applying: ceph: Do not skip the first folio of the next object in writeback
error: patch failed: fs/ceph/addr.c:1326
error: fs/ceph/addr.c: patch does not apply
Patch failed at 0001 ceph: Do not skip the first folio of the next object in
writeback
hint: Use 'git am --show-current-patch=diff' to see the failed patch
hint: When you have resolved this problem, run "git am --continue".
hint: If you prefer to skip this patch, run "git am --skip" instead.
hint: To restore the original branch and stop patching, run "git am --abort".
hint: Disable this message with "git config set advice.mergeConflict false"
Which kernel version do you have on your side? Are you capable to apply your
patch from the email?
Thanks,
Slava.
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] ceph: Do not skip the first folio of the next object in writeback
2026-02-26 19:31 ` Viacheslav Dubeyko
@ 2026-02-26 19:42 ` Hristo Venev
2026-02-26 19:55 ` Viacheslav Dubeyko
0 siblings, 1 reply; 11+ messages in thread
From: Hristo Venev @ 2026-02-26 19:42 UTC (permalink / raw)
To: Viacheslav Dubeyko
Cc: Alex Markuze, ceph-devel@vger.kernel.org, idryomov@gmail.com,
slava@dubeyko.com, stable@vger.kernel.org
On Thu, 2026-02-26 at 19:31 +0000, Viacheslav Dubeyko wrote:
> Frankly speaking, I have troubles to apply your patch on 6.19 kernel
> version:
>
> git am
> 20260225_hristo_ceph_do_not_skip_the_first_folio_of_the_next_object_i
> n_writeback
> .mbx
> Applying: ceph: Do not skip the first folio of the next object in
> writeback
> error: patch failed: fs/ceph/addr.c:1326
> error: fs/ceph/addr.c: patch does not apply
> Patch failed at 0001 ceph: Do not skip the first folio of the next
> object in
> writeback
> hint: Use 'git am --show-current-patch=diff' to see the failed patch
> hint: When you have resolved this problem, run "git am --continue".
> hint: If you prefer to skip this patch, run "git am --skip" instead.
> hint: To restore the original branch and stop patching, run "git am -
> -abort".
> hint: Disable this message with "git config set advice.mergeConflict
> false"
>
> Which kernel version do you have on your side? Are you capable to
> apply your
> patch from the email?
This patch is based on 7dff99b35460, which was master at the time. For
me it also applies cleanly on v7.0-rc1, as well as on ceph-for-7.0-rc1.
The patch I uploaded to the issue tracker is based on 6.18. It should
also apply cleanly on 6.19. The conflict seems to be caused by commit
fa589acaac08.
> Thanks,
> Slava.
^ permalink raw reply [flat|nested] 11+ messages in thread
* RE: [PATCH] ceph: Do not skip the first folio of the next object in writeback
2026-02-26 19:42 ` Hristo Venev
@ 2026-02-26 19:55 ` Viacheslav Dubeyko
2026-02-26 20:09 ` Hristo Venev
0 siblings, 1 reply; 11+ messages in thread
From: Viacheslav Dubeyko @ 2026-02-26 19:55 UTC (permalink / raw)
To: hristo@venev.name
Cc: stable@vger.kernel.org, Alex Markuze, ceph-devel@vger.kernel.org,
slava@dubeyko.com, idryomov@gmail.com
On Thu, 2026-02-26 at 21:42 +0200, Hristo Venev wrote:
> On Thu, 2026-02-26 at 19:31 +0000, Viacheslav Dubeyko wrote:
> > Frankly speaking, I have troubles to apply your patch on 6.19 kernel
> > version:
> >
> > git am
> > 20260225_hristo_ceph_do_not_skip_the_first_folio_of_the_next_object_i
> > n_writeback
> > .mbx
> > Applying: ceph: Do not skip the first folio of the next object in
> > writeback
> > error: patch failed: fs/ceph/addr.c:1326
> > error: fs/ceph/addr.c: patch does not apply
> > Patch failed at 0001 ceph: Do not skip the first folio of the next
> > object in
> > writeback
> > hint: Use 'git am --show-current-patch=diff' to see the failed patch
> > hint: When you have resolved this problem, run "git am --continue".
> > hint: If you prefer to skip this patch, run "git am --skip" instead.
> > hint: To restore the original branch and stop patching, run "git am -
> > -abort".
> > hint: Disable this message with "git config set advice.mergeConflict
> > false"
> >
> > Which kernel version do you have on your side? Are you capable to
> > apply your
> > patch from the email?
>
> This patch is based on 7dff99b35460, which was master at the time. For
> me it also applies cleanly on v7.0-rc1, as well as on ceph-for-7.0-rc1.
>
> The patch I uploaded to the issue tracker is based on 6.18. It should
> also apply cleanly on 6.19. The conflict seems to be caused by commit
> fa589acaac08.
>
> >
Do you mean that you can apply the patch after 'git format-patch' command?
Are you capable to execute successfully this sequence?
b4 am
https://lore.kernel.org/ceph-devel/20260225170758.2014172-1-hristo@venev.name/T/#u
git am
20260225_hristo_ceph_do_not_skip_the_first_folio_of_the_next_object_in_writeback
.mbx
Potentially, I could have some issue on my side.
Thanks,
Slava.
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] ceph: Do not skip the first folio of the next object in writeback
2026-02-26 19:55 ` Viacheslav Dubeyko
@ 2026-02-26 20:09 ` Hristo Venev
2026-02-26 20:21 ` Viacheslav Dubeyko
0 siblings, 1 reply; 11+ messages in thread
From: Hristo Venev @ 2026-02-26 20:09 UTC (permalink / raw)
To: Viacheslav Dubeyko
Cc: stable@vger.kernel.org, Alex Markuze, ceph-devel@vger.kernel.org,
slava@dubeyko.com, idryomov@gmail.com
On Thu, 2026-02-26 at 19:55 +0000, Viacheslav Dubeyko wrote:
> Are you capable to execute successfully this sequence?
>
> b4 am
> https://lore.kernel.org/ceph-devel/20260225170758.2014172-1-hristo@venev.name/T/#u
> git am
> 20260225_hristo_ceph_do_not_skip_the_first_folio_of_the_next_object_i
> n_writeback
> .mbx
It applies for me on v7.0-rc1:
hristo@box ~/sw/linux $ git checkout v7.0-rc1
HEAD is now at 6de23f81a5e08 Linux 7.0-rc1
hristo@box ~/sw/linux $ b4 am 'https://lore.kernel.org/ceph-devel/20260225170758.2014172-1-hristo@venev.name/T/#u'
Analyzing 7 messages in the thread
Analyzing 0 code-review messages
Checking attestation on all messages, may take a moment...
---
✓ [PATCH] ceph: Do not skip the first folio of the next object in writeback
---
✓ Signed: DKIM/venev.name
---
Total patches: 1
---
Link: https://lore.kernel.org/r/20260225170758.2014172-1-hristo@venev.name
Base: applies clean to current tree
git checkout -b 20260225_hristo_venev_name HEAD
git am ./20260225_hristo_ceph_do_not_skip_the_first_folio_of_the_next_object_in_writeback.mbx
hristo@box ~/sw/linux $ git am ./20260225_hristo_ceph_do_not_skip_the_first_folio_of_the_next_object_in_writeback.mbx
Applying: ceph: Do not skip the first folio of the next object in writeback
hristo@box ~/sw/linux $ git show | head
commit 14f494cefd0a49abf41d455b4c3a30d78ba1f91b
Author: Hristo Venev <hristo@venev.name>
Date: Wed Feb 25 19:07:56 2026 +0200
ceph: Do not skip the first folio of the next object in writeback
When `ceph_process_folio_batch` encounters a folio past the end of the
current object, it should leave it in the batch so that it is picked up
in the next iteration.
hristo@box ~/sw/linux $ sha256sum ./20260225_hristo_ceph_do_not_skip_the_first_folio_of_the_next_object_in_writeback.mbx
a623e1f8f06000efd86b078114ba41c4f079b5c140cdc8342e6993bb9d299851 ./20260225_hristo_ceph_do_not_skip_the_first_folio_of_the_next_object_in_writeback.mbx
> Potentially, I could have some issue on my side.
>
> Thanks,
> Slava.
^ permalink raw reply [flat|nested] 11+ messages in thread
* RE: [PATCH] ceph: Do not skip the first folio of the next object in writeback
2026-02-26 20:09 ` Hristo Venev
@ 2026-02-26 20:21 ` Viacheslav Dubeyko
2026-02-27 19:12 ` Viacheslav Dubeyko
0 siblings, 1 reply; 11+ messages in thread
From: Viacheslav Dubeyko @ 2026-02-26 20:21 UTC (permalink / raw)
To: hristo@venev.name
Cc: idryomov@gmail.com, stable@vger.kernel.org, Alex Markuze,
slava@dubeyko.com, ceph-devel@vger.kernel.org
On Thu, 2026-02-26 at 22:09 +0200, Hristo Venev wrote:
> On Thu, 2026-02-26 at 19:55 +0000, Viacheslav Dubeyko wrote:
> > Are you capable to execute successfully this sequence?
> >
> > b4 am
> > https://urldefense.proofpoint.com/v2/url?u=https-3A__lore.kernel.org_ceph-2Ddevel_20260225170758.2014172-2D1-2Dhristo-40venev.name_T_-23u&d=DwIFaQ&c=BSDicqBQBDjDI9RkVyTcHQ&r=q5bIm4AXMzc8NJu1_RGmnQ2fMWKq4Y4RAkElvUgSs00&m=u96IHvTa-aZHnX7y236EEIzppWA3m-5kvClQG8tVciR6JCpY5Cauai03uo4TvId8&s=q_bXupGXdq5YILoS9j1lO2nmPv28EYMf8QRA-BoOohQ&e=
> > git am
> > 20260225_hristo_ceph_do_not_skip_the_first_folio_of_the_next_object_i
> > n_writeback
> > .mbx
>
> It applies for me on v7.0-rc1:
>
>
> hristo@box ~/sw/linux $ git checkout v7.0-rc1
> HEAD is now at 6de23f81a5e08 Linux 7.0-rc1
> hristo@box ~/sw/linux $ b4 am 'https://urldefense.proofpoint.com/v2/url?u=https-3A__lore.kernel.org_ceph-2Ddevel_20260225170758.2014172-2D1-2Dhristo-40venev.name_T_-23u&d=DwIFaQ&c=BSDicqBQBDjDI9RkVyTcHQ&r=q5bIm4AXMzc8NJu1_RGmnQ2fMWKq4Y4RAkElvUgSs00&m=u96IHvTa-aZHnX7y236EEIzppWA3m-5kvClQG8tVciR6JCpY5Cauai03uo4TvId8&s=q_bXupGXdq5YILoS9j1lO2nmPv28EYMf8QRA-BoOohQ&e= '
> Analyzing 7 messages in the thread
> Analyzing 0 code-review messages
> Checking attestation on all messages, may take a moment...
> ---
> ✓ [PATCH] ceph: Do not skip the first folio of the next object in writeback
> ---
> ✓ Signed: DKIM/venev.name
> ---
> Total patches: 1
> ---
> Link: https://urldefense.proofpoint.com/v2/url?u=https-3A__lore.kernel.org_r_20260225170758.2014172-2D1-2Dhristo-40venev.name&d=DwIFaQ&c=BSDicqBQBDjDI9RkVyTcHQ&r=q5bIm4AXMzc8NJu1_RGmnQ2fMWKq4Y4RAkElvUgSs00&m=u96IHvTa-aZHnX7y236EEIzppWA3m-5kvClQG8tVciR6JCpY5Cauai03uo4TvId8&s=V4youFWndoTuGgTZxzQoTY248yJnPGZXgJ2Fi_aaIT8&e=
> Base: applies clean to current tree
> git checkout -b 20260225_hristo_venev_name HEAD
> git am ./20260225_hristo_ceph_do_not_skip_the_first_folio_of_the_next_object_in_writeback.mbx
> hristo@box ~/sw/linux $ git am ./20260225_hristo_ceph_do_not_skip_the_first_folio_of_the_next_object_in_writeback.mbx
> Applying: ceph: Do not skip the first folio of the next object in writeback
> hristo@box ~/sw/linux $ git show | head
> commit 14f494cefd0a49abf41d455b4c3a30d78ba1f91b
> Author: Hristo Venev <hristo@venev.name>
> Date: Wed Feb 25 19:07:56 2026 +0200
>
> ceph: Do not skip the first folio of the next object in writeback
>
> When `ceph_process_folio_batch` encounters a folio past the end of the
> current object, it should leave it in the batch so that it is picked up
> in the next iteration.
>
> hristo@box ~/sw/linux $ sha256sum ./20260225_hristo_ceph_do_not_skip_the_first_folio_of_the_next_object_in_writeback.mbx
> a623e1f8f06000efd86b078114ba41c4f079b5c140cdc8342e6993bb9d299851 ./20260225_hristo_ceph_do_not_skip_the_first_folio_of_the_next_object_in_writeback.mbx
> >
Yeah, I was able to apply the patch on v7.0-rc1. :) But I tried to apply on the
earlier versions because somehow xfstests was failing with the kernel crash on
6.19 release for CephFS kernel client. And I am trying to investigate what the
hell is going on. So, let's see what I will have for v7.0-rc1. :) It could delay
your patch testing.
Thanks,
Slava.
^ permalink raw reply [flat|nested] 11+ messages in thread
* RE: [PATCH] ceph: Do not skip the first folio of the next object in writeback
2026-02-26 20:21 ` Viacheslav Dubeyko
@ 2026-02-27 19:12 ` Viacheslav Dubeyko
2026-02-27 19:43 ` Viacheslav Dubeyko
0 siblings, 1 reply; 11+ messages in thread
From: Viacheslav Dubeyko @ 2026-02-27 19:12 UTC (permalink / raw)
To: hristo@venev.name
Cc: ceph-devel@vger.kernel.org, idryomov@gmail.com,
stable@vger.kernel.org, slava@dubeyko.com, Alex Markuze
On Thu, 2026-02-26 at 20:21 +0000, Viacheslav Dubeyko wrote:
> On Thu, 2026-02-26 at 22:09 +0200, Hristo Venev wrote:
> > On Thu, 2026-02-26 at 19:55 +0000, Viacheslav Dubeyko wrote:
> > > Are you capable to execute successfully this sequence?
> > >
> > > b4 am
> > > https://urldefense.proofpoint.com/v2/url?u=https-3A__lore.kernel.org_ceph-2Ddevel_20260225170758.2014172-2D1-2Dhristo-40venev.name_T_-23u&d=DwIFaQ&c=BSDicqBQBDjDI9RkVyTcHQ&r=q5bIm4AXMzc8NJu1_RGmnQ2fMWKq4Y4RAkElvUgSs00&m=u96IHvTa-aZHnX7y236EEIzppWA3m-5kvClQG8tVciR6JCpY5Cauai03uo4TvId8&s=q_bXupGXdq5YILoS9j1lO2nmPv28EYMf8QRA-BoOohQ&e=
> > > git am
> > > 20260225_hristo_ceph_do_not_skip_the_first_folio_of_the_next_object_i
> > > n_writeback
> > > .mbx
> >
> > It applies for me on v7.0-rc1:
> >
> >
> > hristo@box ~/sw/linux $ git checkout v7.0-rc1
> > HEAD is now at 6de23f81a5e08 Linux 7.0-rc1
> > hristo@box ~/sw/linux $ b4 am 'https://urldefense.proofpoint.com/v2/url?u=https-3A__lore.kernel.org_ceph-2Ddevel_20260225170758.2014172-2D1-2Dhristo-40venev.name_T_-23u&d=DwIFaQ&c=BSDicqBQBDjDI9RkVyTcHQ&r=q5bIm4AXMzc8NJu1_RGmnQ2fMWKq4Y4RAkElvUgSs00&m=u96IHvTa-aZHnX7y236EEIzppWA3m-5kvClQG8tVciR6JCpY5Cauai03uo4TvId8&s=q_bXupGXdq5YILoS9j1lO2nmPv28EYMf8QRA-BoOohQ&e= '
> > Analyzing 7 messages in the thread
> > Analyzing 0 code-review messages
> > Checking attestation on all messages, may take a moment...
> > ---
> > ✓ [PATCH] ceph: Do not skip the first folio of the next object in writeback
> > ---
> > ✓ Signed: DKIM/venev.name
> > ---
> > Total patches: 1
> > ---
> > Link: https://urldefense.proofpoint.com/v2/url?u=https-3A__lore.kernel.org_r_20260225170758.2014172-2D1-2Dhristo-40venev.name&d=DwIFaQ&c=BSDicqBQBDjDI9RkVyTcHQ&r=q5bIm4AXMzc8NJu1_RGmnQ2fMWKq4Y4RAkElvUgSs00&m=u96IHvTa-aZHnX7y236EEIzppWA3m-5kvClQG8tVciR6JCpY5Cauai03uo4TvId8&s=V4youFWndoTuGgTZxzQoTY248yJnPGZXgJ2Fi_aaIT8&e=
> > Base: applies clean to current tree
> > git checkout -b 20260225_hristo_venev_name HEAD
> > git am ./20260225_hristo_ceph_do_not_skip_the_first_folio_of_the_next_object_in_writeback.mbx
> > hristo@box ~/sw/linux $ git am ./20260225_hristo_ceph_do_not_skip_the_first_folio_of_the_next_object_in_writeback.mbx
> > Applying: ceph: Do not skip the first folio of the next object in writeback
> > hristo@box ~/sw/linux $ git show | head
> > commit 14f494cefd0a49abf41d455b4c3a30d78ba1f91b
> > Author: Hristo Venev <hristo@venev.name>
> > Date: Wed Feb 25 19:07:56 2026 +0200
> >
> > ceph: Do not skip the first folio of the next object in writeback
> >
> > When `ceph_process_folio_batch` encounters a folio past the end of the
> > current object, it should leave it in the batch so that it is picked up
> > in the next iteration.
> >
> > hristo@box ~/sw/linux $ sha256sum ./20260225_hristo_ceph_do_not_skip_the_first_folio_of_the_next_object_in_writeback.mbx
> > a623e1f8f06000efd86b078114ba41c4f079b5c140cdc8342e6993bb9d299851 ./20260225_hristo_ceph_do_not_skip_the_first_folio_of_the_next_object_in_writeback.mbx
> > >
>
> Yeah, I was able to apply the patch on v7.0-rc1. :) But I tried to apply on the
> earlier versions because somehow xfstests was failing with the kernel crash on
> 6.19 release for CephFS kernel client. And I am trying to investigate what the
> hell is going on. So, let's see what I will have for v7.0-rc1. :) It could delay
> your patch testing.
>
>
The xfstests run was successful on v7.0-rc1 with applied patch. I didn't found
any new issues. So, the patch hasn't introduced any regression.
Reviewed-by: Viacheslav Dubeyko <Slava.Dubeyko@ibm.com>
Thanks,
Slava.
^ permalink raw reply [flat|nested] 11+ messages in thread
* RE: [PATCH] ceph: Do not skip the first folio of the next object in writeback
2026-02-27 19:12 ` Viacheslav Dubeyko
@ 2026-02-27 19:43 ` Viacheslav Dubeyko
0 siblings, 0 replies; 11+ messages in thread
From: Viacheslav Dubeyko @ 2026-02-27 19:43 UTC (permalink / raw)
To: hristo@venev.name
Cc: Alex Markuze, ceph-devel@vger.kernel.org, idryomov@gmail.com,
slava@dubeyko.com, stable@vger.kernel.org
On Fri, 2026-02-27 at 19:12 +0000, Viacheslav Dubeyko wrote:
>
<skipped>
> >
>
> The xfstests run was successful on v7.0-rc1 with applied patch. I didn't found
> any new issues. So, the patch hasn't introduced any regression.
>
> Reviewed-by: Viacheslav Dubeyko <Slava.Dubeyko@ibm.com>
>
Applied on testing branch [1].
Thanks,
Slava.
[1] https://github.com/ceph/ceph-client/tree/testing
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2026-02-27 19:43 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-25 17:07 [PATCH] ceph: Do not skip the first folio of the next object in writeback Hristo Venev
2026-02-25 20:24 ` Viacheslav Dubeyko
2026-02-25 20:47 ` Hristo Venev
2026-02-25 21:08 ` Viacheslav Dubeyko
2026-02-26 19:31 ` Viacheslav Dubeyko
2026-02-26 19:42 ` Hristo Venev
2026-02-26 19:55 ` Viacheslav Dubeyko
2026-02-26 20:09 ` Hristo Venev
2026-02-26 20:21 ` Viacheslav Dubeyko
2026-02-27 19:12 ` Viacheslav Dubeyko
2026-02-27 19:43 ` Viacheslav Dubeyko
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox