aboutsummaryrefslogtreecommitdiffstats
path: root/fs/hfsplus/options.c
diff options
context:
space:
mode:
authorRoman Zippel <zippel@linux-m68k.org>2005-11-29 19:34:41 -0800
committerLinus Torvalds <torvalds@g5.osdl.org>2005-11-29 19:47:03 -0800
commitb0b623c3b22d57d6941b200321779d56c4e79e6b (patch)
treea2d9a2e047ff4cb5a9f7123084a00b2c3ecc23fa /fs/hfsplus/options.c
parent576f6d79564d0d2c1f43088e6805674d2e122935 (diff)
downloadkernel_samsung_smdk4412-b0b623c3b22d57d6941b200321779d56c4e79e6b.zip
kernel_samsung_smdk4412-b0b623c3b22d57d6941b200321779d56c4e79e6b.tar.gz
kernel_samsung_smdk4412-b0b623c3b22d57d6941b200321779d56c4e79e6b.tar.bz2
[PATCH] hfsplus: don't modify journaled volume
Access to a journaled HFS+ volume is not officially supported under Linux, so mount such a volume read-only, but users can override this behaviour using the "force" mount option. The minimum requirement to relax this check is to at least check that the journal is empty and so nothing needs to be replayed to make sure the volume is consistent. Signed-off-by: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs/hfsplus/options.c')
-rw-r--r--fs/hfsplus/options.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/fs/hfsplus/options.c b/fs/hfsplus/options.c
index cca0818..935dafb 100644
--- a/fs/hfsplus/options.c
+++ b/fs/hfsplus/options.c
@@ -22,7 +22,7 @@ enum {
opt_umask, opt_uid, opt_gid,
opt_part, opt_session, opt_nls,
opt_nodecompose, opt_decompose,
- opt_err
+ opt_force, opt_err
};
static match_table_t tokens = {
@@ -36,6 +36,7 @@ static match_table_t tokens = {
{ opt_nls, "nls=%s" },
{ opt_decompose, "decompose" },
{ opt_nodecompose, "nodecompose" },
+ { opt_force, "force" },
{ opt_err, NULL }
};
@@ -145,6 +146,9 @@ int hfsplus_parse_options(char *input, struct hfsplus_sb_info *sbi)
case opt_nodecompose:
sbi->flags |= HFSPLUS_SB_NODECOMPOSE;
break;
+ case opt_force:
+ sbi->flags |= HFSPLUS_SB_FORCE;
+ break;
default:
return 0;
}