lkml.org 
[lkml]   [2001]   [Jan]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [PATCH] fsync on unmounting root


On Thursday, January 04, 2001 01:58:47 PM -0500 Alexander Viro
<viro@math.psu.edu> wrote:
> On Thu, 4 Jan 2001, Chris Mason wrote:
>
>> Looks like the prerelease, and at least test13 don't fsync the device
>> when someone does an unmount on /
>>
>> mount -o remount works, just unmounting the root misses the fsync.
>> [snip]
>
> I have a better suggestion:
>
> if (mnt == current->fs->rootmnt && !umount_root) {
> mntput(mnt);
> return do_remount("/", 0, NULL);
> }
>

Ok, but I thought we would need an MS_RDONLY in there somewhere...How about
this:

-chris

--- linux/fs/super.c.1 Thu Jan 4 13:38:55 2001
+++ linux/fs/super.c Thu Jan 4 14:14:04 2001
@@ -54,6 +54,7 @@
extern int root_mountflags;

static int do_remount_sb(struct super_block *sb, int flags, char * data);
+static int do_remount(const char *dir, int flags, char * data);

/* this is initialized in init/main.c */
kdev_t ROOT_DEV;
@@ -1025,15 +1026,12 @@
* call reboot(9). Then init(8) could umount root and exec /reboot.
*/
if (mnt == current->fs->rootmnt && !umount_root) {
- int retval = 0;
/*
* Special case for "unmounting" root ...
* we just try to remount it readonly.
*/
mntput(mnt);
- if (!(sb->s_flags & MS_RDONLY))
- retval = do_remount_sb(sb, MS_RDONLY, 0);
- return retval;
+ return do_remount("/", MS_RDONLY, NULL);
}

spin_lock(&dcache_lock);
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 12:52    [W:0.033 / U:1.156 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site