mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@infradead.org>
To: David Quigley <dpquigl@tycho.nsa.gov>
Cc: Christoph Hellwig <hch@infradead.org>,
	Phillip Hellewell <phillip@hellewell.homeip.net>,
	Andrew Morton <akpm@osdl.org>,
	linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org
Subject: Re: [PATCH 0/13: eCryptfs] eCryptfs Patch Set
Date: Sat, 8 Jul 2006 18:21:20 +0100	[thread overview]
Message-ID: <20060708172120.GB27058@infradead.org> (raw)
In-Reply-To: <1152292929.3727.23.camel@moss-terrapins.epoch.ncsc.mil>

On Fri, Jul 07, 2006 at 01:22:09PM -0400, David Quigley wrote:
> This is actually an interesting thing. Due to certain issues, stackable
> file systems normally do not allow people to modify the lower level
> files from under the mounted stackable filesystem. Ideally you want to
> be able to view a stack and make changes at each level. This is possible
> but not without some changes to the kernel. If we go with the statement
> that you should not modify lower level files except through eCryptfs
> (which seams reasonable since its an encryption file system) then this
> is not needed. We do not need to pass the lock down to the lower file
> system since locking the upper level file is more than adequate. If we
> decide to make the changes to the kernel to allow for modifications at
> each layer of a stack then we do need this.

Getting locking right if you want to allow access from above and below
the stackable filesystems will be a pain.  Note that I can't see any
way to exclude direct access to the underlying filesystem in ecryptfs.

> > And a more general issue with implementing stackable filesystems:
> > 
> >   I think it's probably much better to not stack ontop of a part of the
> >   existing namespace but rather let ecryptfs mount the underlying filesystem
> >   internally using vfs_kern_mount.  This gets out of the way of possible
> >   lock order problems when doing namespace operation involving both the
> >   stacked and underlying filesystem aswell as allowing using a stackable
> >   filesystem as the root filesystem.
> > 
> 
> Could you actually explain this with an example? If it is what I think
> you mean then we did look into this and we had some concerns with it
> however I'll make sure its the same before we delve into it.

I don't think there's too much of example for the behaviour I want.

But lets explain it a little better:

 - The idea is to avoid having the underlying filesystem mounted in any
   public namespace.

 - Linux has the concept of mount points that only the kernel can use and
   that aren't visible to any public namespace.  They can be created using
   the *kern_mount family of APIs.

 - I suggest to use this API to mount the underlying filesystems from
   ecryptfs.  It will have a reference to the vfsmount * and thus all
   important data for the underlying filesystem.  Because it is the only
   user of that filesystem locking and other operations get a lot simpler.

  reply	other threads:[~2006-07-08 17:21 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-05-13  3:37 Phillip Hellewell
2006-05-13  3:40 ` [PATCH 1/13: eCryptfs] fs/Makefile and fs/Kconfig Phillip Hellewell
2006-05-13  8:51   ` Jan-Benedict Glaw
2006-05-13  3:41 ` [PATCH 2/13: eCryptfs] Documentation Phillip Hellewell
2006-05-13  3:42 ` [PATCH 3/13: eCryptfs] Makefile Phillip Hellewell
2006-05-13  3:42 ` [PATCH 4/13: eCryptfs] Main module functions Phillip Hellewell
2006-05-13  3:43 ` [PATCH 5/13: eCryptfs] Header declarations Phillip Hellewell
2006-05-13  3:44 ` [PATCH 6/13: eCryptfs] Superblock operations Phillip Hellewell
2006-05-13  3:45 ` [PATCH 7/13: eCryptfs] Dentry operations Phillip Hellewell
2006-05-13  3:45 ` [PATCH 8/13: eCryptfs] File operations Phillip Hellewell
2006-05-13  3:46 ` [PATCH 9/13: eCryptfs] Inode operations Phillip Hellewell
2006-05-13  3:47 ` [PATCH 10/13: eCryptfs] Mmap operations Phillip Hellewell
2006-06-28 14:16   ` Pekka Enberg
2006-06-28 15:02     ` Michael Halcrow
2006-05-13  3:47 ` [PATCH 11/13: eCryptfs] Keystore Phillip Hellewell
2006-05-13  3:48 ` [PATCH 12/13: eCryptfs] Crypto functions Phillip Hellewell
2006-05-13  3:49 ` [PATCH 13/13: eCryptfs] Debug functions Phillip Hellewell
2006-05-13  4:21 ` [PATCH 0/13: eCryptfs] eCryptfs Patch Set Nick Piggin
2006-05-13 16:21   ` Michael Thompson
2006-05-14  2:59     ` Nick Piggin
2006-05-14  3:13       ` Andrew Morton
2006-05-14  3:26         ` Nick Piggin
2006-05-14  3:43           ` Michael Halcrow
2006-05-14  3:54             ` Greg KH
2006-05-15 10:17       ` David Howells
2006-05-15 10:59         ` Andrew Morton
2006-05-20  9:57 ` Christoph Hellwig
2006-06-01 20:47   ` Michael Halcrow
2006-07-07 10:01     ` Christoph Hellwig
2006-07-07 11:54   ` Christoph Hellwig
2006-07-07 12:23     ` Pekka Enberg
2006-07-07 17:22     ` David Quigley
2006-07-08 17:21       ` Christoph Hellwig [this message]
2006-07-08 21:22         ` Erez Zadok

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=20060708172120.GB27058@infradead.org \
    --to=hch@infradead.org \
    --cc=akpm@osdl.org \
    --cc=dpquigl@tycho.nsa.gov \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=phillip@hellewell.homeip.net \
    /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

all inboxes | Powered by JetHome®