ceph-devel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Hole punch races in Ceph
@ 2021-04-22 11:15 Jan Kara
  2021-04-22 11:43 ` Jeff Layton
  0 siblings, 1 reply; 4+ messages in thread
From: Jan Kara @ 2021-04-22 11:15 UTC (permalink / raw)
  To: Jeff Layton; +Cc: Ilya Dryomov, ceph-devel

Hello,

I'm looking into how Ceph protects against races between page fault and
hole punching (I'm unifying protection for this kind of races among
filesystems) and AFAICT it does not. What I have in mind in particular is a
race like:

CPU1					CPU2

ceph_fallocate()
  ...
  ceph_zero_pagecache_range()
					ceph_filemap_fault()
					  faults in page in the range being
					  punched
  ceph_zero_objects()

And now we have a page in punched range with invalid data. If
ceph_page_mkwrite() manages to squeeze in at the right moment, we might
even associate invalid metadata with the page I'd assume (but I'm not sure
whether this would be harmful). Am I missing something?

								Honza
-- 
Jan Kara <jack@suse.com>
SUSE Labs, CR

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-04-22 12:05 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-22 11:15 Hole punch races in Ceph Jan Kara
2021-04-22 11:43 ` Jeff Layton
2021-04-22 12:02   ` Jan Kara
2021-04-22 12:05     ` Jeff Layton

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).