From: Christoph Hellwig <hch@infradead.org>
To: 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: Fri, 7 Jul 2006 12:54:22 +0100 [thread overview]
Message-ID: <20060707115422.GA4705@infradead.org> (raw)
In-Reply-To: <20060520095740.GA12237@infradead.org>
On Sat, May 20, 2006 at 10:57:40AM +0100, Christoph Hellwig wrote:
> I gave the code in -mm a quick look, and it still needs a lot of work.
looking over the code again:
> - please kill ECRYPTFS_SET_FLAG, ECRYPTFS_CLEAR_FLAG and ECRYPTFS_CHECK_FLAG
> and just opencode them, it'll make the code a whole lot more readable
these are still there..
> - please make sure touch_atime goes down to ->setattr for atime updates,
> that way you don't need all that mess in your read/write. and in -mm
> those routines need update for vectored and aio support
you don't seem to have updated the common code for this yet.
> - NEVER EVER do things like copying locks_delete_block and
> posix_lock_file_wait (as ecryptfs_posix_lock and based on a previous
> version) to you code. It will get stale and create a maintaince nightmare.
> talk with the subsystem maintainers on how to make the core functionality
> accesible to you.
> - similarly ecryptfs_setlk is totally non-acceptable. find a way with the
> maintainer to reuse things from fcntl_setlk with a common helper
dito
> - copying things like lock_parent, unlock_parent and unlock_dir
still there. sorry, but there's zero changes to get things merged that
opencode
>
> - please split all the generic stackable filesystem passthorugh routines
> into a separated stackfs layer, in a few files in fs/stackfs/ that
> you depend on. They'll get _GPL exported to all possible stackable
> filesystem. They'll need their own store underlying object helpers,
> but that can be made to work by embedding the generic stackfs data
> as first thing in the ecryptfs object.
>
>
>
More comments:
- what protects accessing d_parent in lock_parent / unlock_parent?
- no need to cast the return value of kmem_cache_alloc, it's void *
- any reason to use the SLAB_* flags instead of GFP_? I'm a bit surprised
SLAB_* still exists at all..
- follow_link handling is wrong. you need to call the underlying
->follow_link in your follow_link implementation and you need to keep
a separate nameidata for it
- please kill that ugly ecryptfs_allocated_caches hack and do normal
goto based unwinding on failure
- using iget with the lower filesystems i_ino does not work. There are
various filesystems were i_ino does not uniqueuely identify an inode.
You will probably need your own sequence numbers. Also please don't
use iget in new code but always the iget_locked variant.
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.
next prev parent reply other threads:[~2006-07-07 11:54 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-05-13 3:37 [PATCH 0/13: eCryptfs] eCryptfs Patch Set 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 [this message]
2006-07-07 12:23 ` Pekka Enberg
2006-07-07 17:22 ` David Quigley
2006-07-08 17:21 ` Christoph Hellwig
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=20060707115422.GA4705@infradead.org \
--to=hch@infradead.org \
--cc=akpm@osdl.org \
--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 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.