]> err.no Git - linux-2.6/commitdiff
udf: Mount filesystem read-only if it has pseudooverwrite partition
authorJan Kara <jack@suse.cz>
Tue, 8 Apr 2008 11:29:20 +0000 (13:29 +0200)
committerJan Kara <jack@suse.cz>
Thu, 17 Apr 2008 12:28:14 +0000 (14:28 +0200)
As we don't properly support writing to pseudooverwrite partition (we should
add entries to VAT and relocate blocks instead of just writing them), mount
filesystems with such partition as read-only.

Signed-off-by: Jan Kara <jack@suse.cz>
fs/udf/super.c

index abdb9b31da468ad942f5eed1085bab2b09d24676..650f20fe9d62792d409d4a7fcb4543e1eb57778c 100644 (file)
@@ -1208,6 +1208,14 @@ static int udf_load_partdesc(struct super_block *sb, sector_t block)
        ret = udf_fill_partdesc_info(sb, p, i);
        if (ret)
                goto out_bh;
+       /*
+        * Mark filesystem read-only if we have a partition with virtual map
+        * since we don't handle writing to it (we overwrite blocks instead of
+        * relocating them).
+        */
+       sb->s_flags |= MS_RDONLY;
+       printk(KERN_NOTICE "UDF-fs: Filesystem marked read-only because "
+               "writing to pseudooverwrite partition is not implemented.\n");
 
        ret = udf_load_vat(sb, i, type1_idx);
 out_bh: