All of lore.kernel.org
 help / color / mirror / Atom feed
* OSD: btrfs backend
@ 2016-10-06 16:47 Timofey Titovets
  0 siblings, 0 replies; only message in thread
From: Timofey Titovets @ 2016-10-06 16:47 UTC (permalink / raw)
  To: Ceph Development

Hi, it's mostly theoretical question.

AFAIK some time ago Ceph try to use btrfs transactions, after problem
with that, devs try to use (AFAIK) something like:
1. Write to journal
2. fsync()
3. clone data from journal to object file
4. fsync()
5. make snapshot as a transaction end

So, why not do something like:
1. Clone file (may be use O_TMPFILE for cloned file?)
2. Make changes
3. fsync()
4. renameat2() to swap the files.
5. unlink() old file

AFAIK renameat2() are atomic, so it's can emulate transactions and allow get:
1. Work without use snapshot feature.
2. Don't use journal at all (in theory)

P.S. I'm not a dev, just want get a feedback about idea and get more
detail understanding of ceph osd backend.

Thanks.
-- 
Have a nice day,
Timofey.

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2016-10-06 16:54 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-10-06 16:47 OSD: btrfs backend Timofey Titovets

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.