* [PATCH 2/3] fs/: Move eCryptfs & Unionfs config options into a sub-menu
2007-02-12 18:30 [GIT PULL -mm] Unionfs updates/cleanups Josef 'Jeff' Sipek
2007-02-12 18:30 ` [PATCH 1/3] fs/unionfs/: Use __roundup_pow_of_two instead of custom rounding code Josef 'Jeff' Sipek
@ 2007-02-12 18:30 ` Josef 'Jeff' Sipek
2007-02-12 18:30 ` [PATCH 3/3] Unionfs: Documentation update Josef 'Jeff' Sipek
2 siblings, 0 replies; 4+ messages in thread
From: Josef 'Jeff' Sipek @ 2007-02-12 18:30 UTC (permalink / raw)
To: linux-kernel, linux-fsdevel
Cc: akpm, Josef 'Jeff' Sipek, Michael Halcrow
Using The Misc filesystems sub-menu for layered/stackable filesystems only
makes it harder for users to find eCryptfs/Unionfs.
Additionally, the menu can be easily turned into a menuconfig, which could
be used to turn on any VFS/VM functionality required by layered filesystems
(there is none at the moment).
Signed-off-by: Josef 'Jeff' Sipek <jsipek@cs.sunysb.edu>
Signed-off-by: Michael Halcrow <mhalcrow@us.ibm.com>
---
fs/Kconfig | 66 +++++++++++++++++++++++++++++++----------------------------
1 files changed, 35 insertions(+), 31 deletions(-)
diff --git a/fs/Kconfig b/fs/Kconfig
index cf46c71..99ea991 100644
--- a/fs/Kconfig
+++ b/fs/Kconfig
@@ -1041,6 +1041,41 @@ config CONFIGFS_FS
endmenu
+menu "Layered filesystems"
+
+config ECRYPT_FS
+ tristate "eCrypt filesystem layer support (EXPERIMENTAL)"
+ depends on EXPERIMENTAL && KEYS && CRYPTO
+ help
+ Encrypted filesystem that operates on the VFS layer. See
+ <file:Documentation/ecryptfs.txt> to learn more about
+ eCryptfs. Userspace components are required and can be
+ obtained from <http://ecryptfs.sf.net>.
+
+ To compile this file system support as a module, choose M here: the
+ module will be called ecryptfs.
+
+config UNION_FS
+ tristate "Union file system (EXPERIMENTAL)"
+ depends on EXPERIMENTAL
+ help
+ Unionfs is a stackable unification file system, which appears to
+ merge the contents of several directories (branches), while keeping
+ their physical content separate.
+
+ See <http://www.unionfs.org> for details
+
+config UNION_FS_XATTR
+ bool "Unionfs extended attributes"
+ depends on UNION_FS
+ help
+ Extended attributes are name:value pairs associated with inodes by
+ the kernel or by users (see the attr(5) manual page).
+
+ If unsure, say N.
+
+endmenu
+
menu "Miscellaneous filesystems"
config ADFS_FS
@@ -1093,18 +1128,6 @@ config AFFS_FS
To compile this file system support as a module, choose M here: the
module will be called affs. If unsure, say N.
-config ECRYPT_FS
- tristate "eCrypt filesystem layer support (EXPERIMENTAL)"
- depends on EXPERIMENTAL && KEYS && CRYPTO
- help
- Encrypted filesystem that operates on the VFS layer. See
- <file:Documentation/ecryptfs.txt> to learn more about
- eCryptfs. Userspace components are required and can be
- obtained from <http://ecryptfs.sf.net>.
-
- To compile this file system support as a module, choose M here: the
- module will be called ecryptfs.
-
config HFS_FS
tristate "Apple Macintosh file system support (EXPERIMENTAL)"
depends on BLOCK && EXPERIMENTAL
@@ -1554,25 +1577,6 @@ config UFS_DEBUG
Y here. This will result in _many_ additional debugging messages to be
written to the system log.
-config UNION_FS
- tristate "Union file system (EXPERIMENTAL)"
- depends on EXPERIMENTAL
- help
- Unionfs is a stackable unification file system, which appears to
- merge the contents of several directories (branches), while keeping
- their physical content separate.
-
- See <http://www.unionfs.org> for details
-
-config UNION_FS_XATTR
- bool "Unionfs extended attributes"
- depends on UNION_FS
- help
- Extended attributes are name:value pairs associated with inodes by
- the kernel or by users (see the attr(5) manual page).
-
- If unsure, say N.
-
endmenu
menu "Network File Systems"
--
1.5.0.rc3.g5057
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 3/3] Unionfs: Documentation update
2007-02-12 18:30 [GIT PULL -mm] Unionfs updates/cleanups Josef 'Jeff' Sipek
2007-02-12 18:30 ` [PATCH 1/3] fs/unionfs/: Use __roundup_pow_of_two instead of custom rounding code Josef 'Jeff' Sipek
2007-02-12 18:30 ` [PATCH 2/3] fs/: Move eCryptfs & Unionfs config options into a sub-menu Josef 'Jeff' Sipek
@ 2007-02-12 18:30 ` Josef 'Jeff' Sipek
2 siblings, 0 replies; 4+ messages in thread
From: Josef 'Jeff' Sipek @ 2007-02-12 18:30 UTC (permalink / raw)
To: linux-kernel, linux-fsdevel; +Cc: akpm, Erez Zadok, Josef 'Jeff' Sipek
From: Erez Zadok <ezk@cs.sunysb.edu>
Be little gentler & updated the URLs
Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
Signed-off-by: Josef 'Jeff' Sipek <jsipek@cs.sunysb.edu>
---
Documentation/filesystems/unionfs/00-INDEX | 8 ++++--
Documentation/filesystems/unionfs/issues.txt | 23 +++++++++++++++++++
Documentation/filesystems/unionfs/usage.txt | 31 ++++++++-----------------
fs/Kconfig | 2 +-
fs/unionfs/main.c | 2 +-
5 files changed, 40 insertions(+), 26 deletions(-)
create mode 100644 Documentation/filesystems/unionfs/issues.txt
diff --git a/Documentation/filesystems/unionfs/00-INDEX b/Documentation/filesystems/unionfs/00-INDEX
index 32e96f2..96fdf67 100644
--- a/Documentation/filesystems/unionfs/00-INDEX
+++ b/Documentation/filesystems/unionfs/00-INDEX
@@ -1,8 +1,10 @@
00-INDEX
- this file.
concepts.txt
- - A brief introduction of concepts
+ - A brief introduction of concepts.
+issues.txt
+ - A summary of known issues with unionfs.
rename.txt
- - Information regarding rename operations
+ - Information regarding rename operations.
usage.txt
- - Usage and known limitations
+ - Usage information and examples.
diff --git a/Documentation/filesystems/unionfs/issues.txt b/Documentation/filesystems/unionfs/issues.txt
new file mode 100644
index 0000000..b070175
--- /dev/null
+++ b/Documentation/filesystems/unionfs/issues.txt
@@ -0,0 +1,23 @@
+KNOWN Unionfs ISSUES:
+=====================
+
+1. The NFS server returns -EACCES for read-only exports, instead of -EROFS.
+ This means we can't reliably detect a read-only NFS export.
+
+2. Modifying a Unionfs branch directly, while the union is mounted, is
+ currently unsupported. We have tested Unionfs under such conditions, and
+ fixed any bugs we found (Unionfs comes with an extensive regression test
+ suite). However, it may still be possible that changes made to lower
+ branches directly could cause cache incoherency which, in the worst case,
+ may case an oops. We are currently addressing this problem for Unionfs
+ and also generically for all stackable file systems, by handing mmap and
+ introducing small VFS/MM changes that would allow a file system to handle
+ cache coherency correctly.
+
+3. Unionfs should not use lookup_one_len() on the underlying f/s as it
+ confuses NFS. Currently, unionfs_lookup() passes lookup intents to the
+ lower file-system, this eliminates part of the problem. The remaining
+ calls to lookup_one_len may need to be changed to pass an intent.
+
+
+For more information, see <unionfs.filesystems.org>.
diff --git a/Documentation/filesystems/unionfs/usage.txt b/Documentation/filesystems/unionfs/usage.txt
index 3968c9e..14e0856 100644
--- a/Documentation/filesystems/unionfs/usage.txt
+++ b/Documentation/filesystems/unionfs/usage.txt
@@ -1,17 +1,18 @@
Unionfs is a stackable unification file system, which can appear to merge
the contents of several directories (branches), while keeping their physical
-content separate. Unionfs is useful for unified source tree management,
+content separate. Unionfs is useful for unified source tree management,
merged contents of split CD-ROM, merged separate software package
-directories, data grids, and more. Unionfs allows any mix of read-only and
+directories, data grids, and more. Unionfs allows any mix of read-only and
read-write branches, as well as insertion and deletion of branches anywhere
-in the fan-out. To maintain unix semantics, Unionfs handles elimination of
+in the fan-out. To maintain Unix semantics, Unionfs handles elimination of
duplicates, partial-error conditions, and more.
-mount -t unionfs -o branch-option[,union-options[,...]] none MOUNTPOINT
+# mount -t unionfs -o branch-option[,union-options[,...]] none MOUNTPOINT
The available branch-option for the mount command is:
-dirs=branch[=ro|=rw][:...]
+ dirs=branch[=ro|=rw][:...]
+
specifies a separated list of which directories compose the union.
Directories that come earlier in the list have a higher precedence than
those which come later. Additionally, read-only or read-write permissions of
@@ -19,24 +20,12 @@ the branch can be specified by appending =ro or =rw (default) to each
directory.
Syntax:
-dirs=/branch1[=ro|=rw]:/branch2[=ro|=rw]:...:/branchN[=ro|=rw]
-
-Example:
-dirs=/writable_branch=rw:/read-only_branch=ro
+ dirs=/branch1[=ro|=rw]:/branch2[=ro|=rw]:...:/branchN[=ro|=rw]
-KNOWN ISSUES:
-=============
-
-The NFS server returns -EACCES for read-only exports, instead of -EROFS.
-This means we can't reliably detect a read-only NFS export.
+Example:
-Modifying a Unionfs branch directly, while the union is mounted, is
-currently unsupported. Any such change can cause Unionfs to oops, or stay
-silent and even RESULT IN DATA LOSS.
+ dirs=/writable_branch=rw:/read-only_branch=ro
-Unionfs should not use lookup_one_len() on the underlying fs as it confuses
-NFS. Currently, unionfs_lookup() passes lookup intents to the lower
-filesystem, this eliminates part of the problem. The remaining calls to
-lookup_one_len may need to be changed to pass an intent.
+For more information, see unionfs.filesystems.org.
diff --git a/fs/Kconfig b/fs/Kconfig
index 99ea991..10a216e 100644
--- a/fs/Kconfig
+++ b/fs/Kconfig
@@ -1063,7 +1063,7 @@ config UNION_FS
merge the contents of several directories (branches), while keeping
their physical content separate.
- See <http://www.unionfs.org> for details
+ See <http://unionfs.filesystems.org> for details
config UNION_FS_XATTR
bool "Unionfs extended attributes"
diff --git a/fs/unionfs/main.c b/fs/unionfs/main.c
index 36d30bc..ca7ee26 100644
--- a/fs/unionfs/main.c
+++ b/fs/unionfs/main.c
@@ -679,7 +679,7 @@ static void __exit exit_unionfs_fs(void)
MODULE_AUTHOR("Erez Zadok, Filesystems and Storage Lab, Stony Brook University"
" (http://www.fsl.cs.sunysb.edu)");
MODULE_DESCRIPTION("Unionfs " UNIONFS_VERSION
- " (http://www.unionfs.org)");
+ " (http://unionfs.filesystems.org)");
MODULE_LICENSE("GPL");
module_init(init_unionfs_fs);
--
1.5.0.rc3.g5057
^ permalink raw reply related [flat|nested] 4+ messages in thread