Re: ext2 fs not properly updated upon dismount.

Ragnar Hojland Espinosa (root@lightside.ddns.org)
Fri, 19 Jun 1998 01:08:43 +0200 (MET DST)


On Wed, 17 Jun 1998, Richard B. Johnson wrote:

> If corruption only occurs when disks are dismounted, which is what it
> seems, then you can rule out drivers and physical devices. These

Maybe corruption only occurs when disks are dismounted and system is
being rebooted?

In my last email I mentioned problems with hdc (in addition of the root
ones you describe). Got tired of them after losing some more files, and
this `ugly thing' looks like fixes both umounting hdc and root (YMMV).. no
more errors so far.

.. Of course, before I thought it was the memory and it wasnt..

____/| Ragnar Hojland (ragnar@lightside.ddns.org) Fingerprint 94C4B
\ o.O| 2F0D27DE025BE2302C
=(_)= "Thou shalt not follow the NULL pointer for 104B78C56 B72F0822
U chaos and madness await thee at its end." hkp://keys.pgp.com

--- ./linux-2.1.106/fs/super.c.ORIG Fri Jun 19 00:04:03 1998
+++ ./linux-2.1.106/fs/super.c Fri Jun 19 00:37:10 1998
@@ -760,6 +760,7 @@ asmlinkage int sys_umount(char * name)
lock_kernel();
dentry = namei(name);
retval = PTR_ERR(dentry);
+ __udelay (3000000);
if (!IS_ERR(dentry)) {
struct inode * inode = dentry->d_inode;
kdev_t dev = inode->i_rdev;
@@ -776,12 +777,17 @@ asmlinkage int sys_umount(char * name)
retval = 0;
}
}
+ __udelay (3000000);
dput(dentry);
+ __udelay (3000000);

if (!retval)
retval = umount_dev(dev);
+ __udelay (3000000);
}
+ __udelay (3000000);
unlock_kernel();
+ __udelay (3000000);
return retval;
}

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu