From: Miklos Szeredi <miklos@szeredi.hu>
To: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: jblunck@suse.de, bharata@in.ibm.com, vaurora@redhat.com,
viro@zeniv.linux.org.uk
Subject: [patch 0/5] union-directory implementation
Date: Thu, 21 May 2009 11:22:31 +0200 [thread overview]
Message-ID: <20090521092231.979256687@szeredi.hu> (raw)
This patchset implements the simplest form of union mounts (called
union directories here). This is somewhat similar to Plan9 union
mounts. The patches are derived from Jan Blunck's work.
Also available from git:
git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs.git union-dir
Features:
- top level directory unification only
- no copy up
- no whiteouts, opaque dir, etc...
- create/rename/unlink only work on top layer
- write works on any layer (without copy up)
- directory entry deduplication in kernel
- supports directory seeking (that hell from POSIX)
Shortcomings:
- directory reading is O(n^2), needs optimization
- weird create/unlink semantics due to ignoring union
I'm posting these patches in a hope that
a) they may be useful on their own (after further development),
b) they may help with the full fledged union-mount implementation
Comments?
Thanks,
Miklos
--
Jan Blunck (5):
union-directory: Introduce MNT_UNION and MS_UNION flags
union-directory: Support for traversing the layers of a union-directory
union-directory: Some checks during namespace changes
union-directory: Make lookup continue in overlayed directories
union-directory: Simple union-mount readdir implementation
---
fs/Kconfig | 8 ++
fs/Makefile | 2 +
fs/file_table.c | 1 +
fs/namei.c | 49 +++++++++++
fs/namespace.c | 25 +++++-
fs/readdir.c | 21 +++--
fs/union.c | 229 +++++++++++++++++++++++++++++++++++++++++++++++++
fs/union.h | 26 ++++++
include/linux/fs.h | 18 ++++
include/linux/mount.h | 1 +
10 files changed, 369 insertions(+), 11 deletions(-)
create mode 100644 fs/union.c
create mode 100644 fs/union.h
next reply other threads:[~2009-05-21 9:23 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-05-21 9:22 Miklos Szeredi [this message]
2009-05-21 9:22 ` [patch 1/5] union-directory: Introduce MNT_UNION and MS_UNION flags Miklos Szeredi
2009-05-21 9:22 ` [patch 2/5] union-directory: Support for traversing the layers of a union-directory Miklos Szeredi
2009-05-21 9:22 ` [patch 3/5] union-directory: Some checks during namespace changes Miklos Szeredi
2009-05-21 9:22 ` [patch 4/5] union-directory: Make lookup continue in overlayed directories Miklos Szeredi
2009-05-21 9:22 ` [patch 5/5] union-directory: Simple union-mount readdir implementation Miklos Szeredi
2009-05-21 9:56 ` [patch 0/5] union-directory implementation Miklos Szeredi
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=20090521092231.979256687@szeredi.hu \
--to=miklos@szeredi.hu \
--cc=bharata@in.ibm.com \
--cc=jblunck@suse.de \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=vaurora@redhat.com \
--cc=viro@zeniv.linux.org.uk \
/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®