|
@@ -2419,6 +2419,22 @@ static int ext4_remount (struct super_block * sb, int * flags, char * data)
|
|
|
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 "EXT4-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
|