mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Peter T. Breuer" <ptb@it.uc3m.es>
To: root@chaos.analogic.com
Cc: "Peter T. Breuer" <ptb@it.uc3m.es>,
	Rik van Riel <riel@conectiva.com.br>,
	linux kernel <linux-kernel@vger.kernel.org>
Subject: Re: [RFC] mount flag "direct" (fwd)
Date: Tue, 3 Sep 2002 18:29:02 +0200 (MET DST)	[thread overview]
Message-ID: <200209031629.g83GT2e08075@oboe.it.uc3m.es> (raw)
In-Reply-To: <Pine.LNX.3.95.1020903115445.1058A-100000@chaos.analogic.com> from "Richard B. Johnson" at "Sep 3, 2002 12:09:46 pm"

"Richard B. Johnson wrote:"
> On Tue, 3 Sep 2002, Peter T. Breuer wrote:
> > It's not that hard - the locks are held on the remote disk by a
> > "guardian" driver, to which the drivers on both of the kernels
> > communicate.  A fake "scsi adapter", if you prefer.
> > 
> > > You really need filesystem support.

> Lets say you have a perfect locking mechanism, a fake SCSI layer

OK.

> as you state. You are now going to create a new file on the
> shared block device. You are careful that you use only space
> that you "own", etc., so you perfectly create a new file on
> your VFS.

OK.

> How does the other user's of this device "know" that there is
> a new file so it can update its notion of the block-device state?

The block device itself is stateless at the block level. Every block
access goes "direct to the metal".

The question is how much FS state is cached on either kernel.
If it is too much, then I will ask how I can cause to be less, perhaps
by use of a flag that parallels how O_DIRECT works.  I thought that new
files were entries in a directories inode and I agree that inodes are
held in memory!  But I don't know when they are first read or reread.
The directory entry would ceryainly have to be reread after a write
operation on disk that touched it - or more simply, the directory entry
would hvae to be reread every time it were needed, i.e. be uncached.

If that presently is not possible, then I would like to think about
making it possible. Isn't there some kind of inode reading that goes on
at mount? Can I cause it to happen (or unhappen) at will?

> You have created perfect isolation so, by definition, the other
> isolated user's don't know that you have just used space that they
> think that they own.

Well, I don't think that's a fair analogy .. if a "reserve_blocks"
call is added to VFS, then I can use it to prelock the "space that
they think they own", and prevent contention. The question is how
each FS does the block reservation, and why it should not go through
a generic method in the VFS layer.

> Now, the notion of a complete 'file-system' for support may not be
> required. What you need is like a file-system without all the frills.

I think that's the wrong tack, though simply _disabling_ some
operations initially (such as making new files!) may be the way to go.
Just enable more ops as generic support is added.

> FYI, the "librarian" layer is the file-system so, I have shown that
> you need file-system support.

Nice try - your argument reduces to saying that the state of the
directory inodes must be shared. I agree and suggest two remedies

  1) maintain no directory inode state, but reread them every time
     (how?)
  2) force rereading of a particular inode or all inodes when
     signalled to do so.

I would prefer (1). It seems in the spirit of O_DIRECT. I imagine that
(2) is presently easy to do (but of course horrible).

Peter

  reply	other threads:[~2002-09-03 16:24 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-09-03 15:39 Peter T. Breuer
2002-09-03 15:44 ` Rik van Riel
2002-09-03 15:50   ` Peter T. Breuer
2002-09-03 15:56     ` Chris Wedgwood
2002-09-03 15:59       ` Peter T. Breuer
2002-09-03 16:09     ` Richard B. Johnson
2002-09-03 16:29       ` Peter T. Breuer [this message]
2002-09-03 16:33         ` Rik van Riel
2002-09-03 17:32         ` Richard B. Johnson
2002-09-03 18:53         ` Lars Marowsky-Bree
2002-09-03 21:07           ` Peter T. Breuer
2002-09-03 21:15             ` Andreas Dilger
2002-09-03 21:15             ` Rik van Riel
2002-09-03 21:54             ` Anton Altaparmakov
2002-09-03 22:46               ` Andreas Dilger
2002-09-03 23:19               ` Daniel Phillips
2002-09-04  0:18                 ` Anton Altaparmakov
2002-09-04  5:23                 ` David Lang
2002-09-04  7:16             ` Helge Hafting
2002-09-04  8:39               ` Andreas Dilger
2002-09-04 12:07                 ` Helge Hafting
2002-09-04 13:03                   ` Hans Reiser
2002-09-04  8:41               ` Peter T. Breuer
2002-09-04  7:50             ` Joachim Breuer
     [not found]               ` <3D75F8B0.8C7E974E@aitel.hist.no>
2002-09-04 21:26                 ` Joachim Breuer
2002-09-04  9:26             ` Lars Marowsky-Bree
2002-09-03 16:58     ` Anton Altaparmakov
2002-09-03 17:26       ` Peter T. Breuer

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=200209031629.g83GT2e08075@oboe.it.uc3m.es \
    --to=ptb@it.uc3m.es \
    --cc=linux-kernel@vger.kernel.org \
    --cc=riel@conectiva.com.br \
    --cc=root@chaos.analogic.com \
    /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