mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Vyacheslav NightFlash <nightflash@land.ru>
To: linux-kernel@vger.kernel.org
Subject: [QUESTION] Atomicity/Journaling in VFS layer
Date: Fri, 30 Apr 2004 17:45:17 +0400	[thread overview]
Message-ID: <20040430134517.GA5574@VT10561.spb.edu> (raw)

Seems that all journaling filesystems ordering their
ondisk modifications somehow Isn't it better to add
ability to order data/metadata modifications to VFS layer?

Also hacking VFS is the only way to provide data consistency
if application want "write A" to appear before "write B",
but A and B are on different filesystems.

I have some ideas how it could be done, but I dont know VFS much,
so I'll be happy to see comments from guru.

1) Every inode keeps list of "atoms".

2) Every "atom" keeps list of modified buffers, that can appear in
ondisk FS layout only together.

3) "atom" keeps list of "atom"s, that must be commited
before it can start its own writeback.

4) "atom" keeps list of "atom"s that are waiting for its commit,
so that they can be marked as "ready for writeback" as a part of
its io completition.

5) We can assign virtual inodes to journals & metadata structures,
so we can track data-journal-metadata write order using the same
"atom dependencies"

6) When process writes to fd new "atom" is created. It initialized
so that in could not be written before commit of data that process
has read/wrote before this "atom" creation.

7) Every buffer has link to his atom (or NULL if it's clean).
So we can add some more "dependencies" to atom that owns buffer.



                 reply	other threads:[~2004-04-29 13:42 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20040430134517.GA5574@VT10561.spb.edu \
    --to=nightflash@land.ru \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome