Commit ae320f04 authored by J. R. Okajima's avatar J. R. Okajima
Browse files

aufs: ramfs branch



Basically ramfs is limited for its size, and is not suitable for aufs RW
branch. But people sometimes use it as RW branch without knowing it or
with knowing it.
This configuration is for those who knows what he is doing.
Signed-off-by: default avatarJ. R. Okajima <hooanon05g@gmail.com>
parent 5bb71622
...@@ -138,6 +138,19 @@ config AUFS_SHWH ...@@ -138,6 +138,19 @@ config AUFS_SHWH
sounds like philosophy or something, but in technically it sounds like philosophy or something, but in technically it
simply shows the name of whiteout with keeping its behaviour. simply shows the name of whiteout with keeping its behaviour.
config AUFS_BR_RAMFS
bool "Ramfs (initramfs/rootfs) as an aufs branch"
help
If you want to use ramfs as an aufs branch fs, then enable this
option. Generally tmpfs is recommended.
Aufs prohibited them to be a branch fs by default, because
initramfs becomes unusable after switch_root or something
generally. If you sets initramfs as an aufs branch and boot your
system by switch_root, you will meet a problem easily since the
files in initramfs may be inaccessible.
Unless you are going to use ramfs as an aufs branch fs without
switch_root or something, leave it N.
config AUFS_BR_HFSPLUS config AUFS_BR_HFSPLUS
bool "Hfsplus as an aufs branch" bool "Hfsplus as an aufs branch"
depends on HFSPLUS_FS depends on HFSPLUS_FS
......
...@@ -232,7 +232,9 @@ static inline int au_test_hfsplus(struct super_block *sb __maybe_unused) ...@@ -232,7 +232,9 @@ static inline int au_test_hfsplus(struct super_block *sb __maybe_unused)
static inline int au_test_fs_unsuppoted(struct super_block *sb) static inline int au_test_fs_unsuppoted(struct super_block *sb)
{ {
return return
#ifndef CONFIG_AUFS_BR_RAMFS
au_test_ramfs(sb) || au_test_ramfs(sb) ||
#endif
au_test_procfs(sb) au_test_procfs(sb)
|| au_test_sysfs(sb) || au_test_sysfs(sb)
|| au_test_configfs(sb) || au_test_configfs(sb)
...@@ -247,6 +249,9 @@ static inline int au_test_fs_unsuppoted(struct super_block *sb) ...@@ -247,6 +249,9 @@ static inline int au_test_fs_unsuppoted(struct super_block *sb)
static inline int au_test_fs_remote(struct super_block *sb) static inline int au_test_fs_remote(struct super_block *sb)
{ {
return !au_test_tmpfs(sb) return !au_test_tmpfs(sb)
#ifdef CONFIG_AUFS_BR_RAMFS
&& !au_test_ramfs(sb)
#endif
&& !(sb->s_type->fs_flags & FS_REQUIRES_DEV); && !(sb->s_type->fs_flags & FS_REQUIRES_DEV);
} }
...@@ -286,6 +291,9 @@ static inline int au_test_fs_bad_iattr(struct super_block *sb) ...@@ -286,6 +291,9 @@ static inline int au_test_fs_bad_iattr(struct super_block *sb)
static inline int au_test_fs_no_limit_nlink(struct super_block *sb) static inline int au_test_fs_no_limit_nlink(struct super_block *sb)
{ {
return au_test_tmpfs(sb) return au_test_tmpfs(sb)
#ifdef CONFIG_AUFS_BR_RAMFS
|| au_test_ramfs(sb)
#endif
|| au_test_ubifs(sb) || au_test_ubifs(sb)
|| au_test_hfsplus(sb); || au_test_hfsplus(sb);
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment