+ ext3-refuse-ro-to-rw-remount-of-fs-with-orphan.patch added to -mm tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The patch titled
     ext3: refuse ro to rw remount of fs with orphan inodes
has been added to the -mm tree.  Its filename is
     ext3-refuse-ro-to-rw-remount-of-fs-with-orphan.patch

*** Remember to use Documentation/SubmitChecklist when testing your code ***

See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find
out what to do about this

------------------------------------------------------
Subject: ext3: refuse ro to rw remount of fs with orphan inodes
From: Eric Sandeen <sandeen@xxxxxxxxxx>

In the rare case where we have skipped orphan inode processing due to a
readonly block device, and the block device subsequently changes back to
read-write, disallow a remount,rw transition of the filesystem when we have an
unprocessed orphan inodes as this would corrupt the list.

Ideally we should process the orphan inode list during the remount, but that's
trickier, and this plugs the hole for now.

Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx>
Cc: "Stephen C. Tweedie" <sct@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxx>
---

 fs/ext3/super.c |   16 ++++++++++++++++
 1 files changed, 16 insertions(+)

diff -puN fs/ext3/super.c~ext3-refuse-ro-to-rw-remount-of-fs-with-orphan fs/ext3/super.c
--- a/fs/ext3/super.c~ext3-refuse-ro-to-rw-remount-of-fs-with-orphan
+++ a/fs/ext3/super.c
@@ -2344,6 +2344,22 @@ static int ext3_remount (struct super_bl
 				err = -EROFS;
 				goto restore_opts;
 			}
+
+			/*
+			 * If we have an unprocessed orphan list hanging
+			 * around from a previously readonly bdev mount,
+			 * require a full umount/remount for now.
+			 */
+			if (es->s_last_orphan) {
+				printk(KERN_WARNING "EXT3-fs: %s: couldn't "
+				       "remount RDWR because of unprocessed "
+				       "orphan inode list.  Please "
+				       "umount/remount instead.\n",
+				       sb->s_id);
+				err = -EINVAL;
+				goto restore_opts;
+			}
+
 			/*
 			 * Mounting a RDONLY partition read-write, so reread
 			 * and store the current valid flag.  (It may have
_

Patches currently in -mm which might be from sandeen@xxxxxxxxxx are

ext2-skip-pages-past-number-of-blocks-in-ext2_find_entry.patch
ext3-refuse-ro-to-rw-remount-of-fs-with-orphan.patch

-
To unsubscribe from this list: send the line "unsubscribe mm-commits" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Kernel Newbies FAQ]     [Kernel Archive]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Photo]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]

  Powered by Linux