patch-1.3.86 linux/fs/super.c

Next file: linux/include/asm-i386/segment.h
Previous file: linux/fs/read_write.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v1.3.85/linux/fs/super.c linux/fs/super.c
@@ -582,10 +582,14 @@
 		iput(inode);
 		return -ENXIO;
 	}
-	if (!(retval = do_umount(dev,0)) && dev != ROOT_DEV) {
-		blkdev_release (inode);
-		if (MAJOR(dev) == UNNAMED_MAJOR)
-			put_unnamed_dev(dev);
+	retval = do_umount(dev,0);
+	if (!retval) {
+		fsync_dev(dev);
+		if (dev != ROOT_DEV) {
+			blkdev_release (inode);
+			if (MAJOR(dev) == UNNAMED_MAJOR)
+				put_unnamed_dev(dev);
+		}
 	}
 	if (inode != &dummy_inode)
 		iput(inode);

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov with Sam's (original) version
of this