Messages in this thread Patch in this message | | | Subject | Re: [PATCH] 2.4.21-rc1 fs/ext3/super.c fix for orphan recovery error path | Date | Mon, 21 Apr 2003 21:51:55 -0400 | From | Ernie Petrides <> |
| |
On Monday, 21-Apr-2003 at 15:8 PDT, Andrew Morton wrote:
> Ernie Petrides <petrides@redhat.com> wrote: > > > Stephen/Andrew, please consider applying this patch to reverse the order > > of checks in ext3_orphan_cleanup() for read-only mounts and prior errors. > > > > The problem resolved by this patch is that if a root file system has an > > error recorded from a previous mount, and then (when rebooting) the orphan > > recovery procedure is initiated, the recovery is correctly skipped but the > > file system is incorrectly left in a writable state. > > > > This causes the subsequent fsck to fail due to the root file system > > being dirty, and then requires manual intervention to get the system > > fully booted. > > > > Thanks in advance. -ernie > > Thanks, that is definitely needed. We should do this in 2.4 as well.
Andrew, thank you for reviewing and supporting this patch.
Marcelo, on Andrew's recommendation, I have included a 2.4-based patch below for your convenience.
Cheers. -ernie
diff -urpN linux-2.4.21-rc1/fs/ext3/super.c{.orig,} --- linux-2.4.21-rc1/fs/ext3/super.c.orig 2003-04-21 21:12:43.000000000 -0400 +++ linux-2.4.21-rc1/fs/ext3/super.c 2003-04-21 21:16:23.000000000 -0400 @@ -820,12 +820,6 @@ static void ext3_orphan_cleanup (struct return; } - if (s_flags & MS_RDONLY) { - printk(KERN_INFO "EXT3-fs: %s: orphan cleanup on readonly fs\n", - bdevname(sb->s_dev)); - sb->s_flags &= ~MS_RDONLY; - } - if (sb->u.ext3_sb.s_mount_state & EXT3_ERROR_FS) { if (es->s_last_orphan) jbd_debug(1, "Errors on filesystem, " @@ -835,6 +829,12 @@ static void ext3_orphan_cleanup (struct return; } + if (s_flags & MS_RDONLY) { + printk(KERN_INFO "EXT3-fs: %s: orphan cleanup on readonly fs\n", + bdevname(sb->s_dev)); + sb->s_flags &= ~MS_RDONLY; + } + while (es->s_last_orphan) { struct inode *inode; - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |