Messages in this thread Patch in this message | | | From | Miklos Szeredi <> | Subject | Re: [PATCH 1/4] vfs: ignore error on forced remount | Date | Wed, 03 Aug 2011 18:15:05 +0200 |
| |
Christoph Hellwig <hch@infradead.org> writes:
> On Wed, Aug 03, 2011 at 12:48:38PM +0200, Miklos Szeredi wrote: >> From: Miklos Szeredi <mszeredi@suse.cz> >> >> On emergency remount we want to force MS_RDONLY on the super block >> even if ->remount_fs() failed for some reason. > > Eww, dangerous territory. At the very least we should log something > in the kernel log for thise case.
Like this?
Thanks, Miklos ----
Subject: vfs: ignore error on forced remount
From: Miklos Szeredi <mszeredi@suse.cz>
On emergency remount we want to force MS_RDONLY on the super block even if ->remount_fs() failed for some reason.
Signed-off-by: Miklos Szeredi <mszeredi@suse.cz> --- fs/super.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-)
Index: linux-2.6/fs/super.c =================================================================== --- linux-2.6.orig/fs/super.c 2011-08-03 16:54:26.000000000 +0200 +++ linux-2.6/fs/super.c 2011-08-03 17:11:56.000000000 +0200 @@ -727,8 +727,13 @@ int do_remount_sb(struct super_block *sb if (sb->s_op->remount_fs) { retval = sb->s_op->remount_fs(sb, &flags, data); - if (retval) - return retval; + if (retval) { + if(!force) + return retval; + /* If forced remount, go ahead despite any errors */ + WARN(1, "forced remount of a %s fs returned %i\n", + sb->s_type->name, retval); + } } sb->s_flags = (sb->s_flags & ~MS_RMT_MASK) | (flags & MS_RMT_MASK);
| |