Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/external/cddl/osnet/dist/uts/common/fs/zfs Try vflush, which...



details:   https://anonhg.NetBSD.org/src/rev/58ade1e57d91
branches:  trunk
changeset: 795369:58ade1e57d91
user:      riastradh <riastradh%NetBSD.org@localhost>
date:      Wed Apr 09 22:40:32 2014 +0000

description:
Try vflush, which may fail, before we mark the file system mounted.

diffstat:

 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c |  10 +++-------
 1 files changed, 3 insertions(+), 7 deletions(-)

diffs (27 lines):

diff -r c17a9aa0f163 -r 58ade1e57d91 external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c
--- a/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c   Wed Apr 09 21:02:31 2014 +0000
+++ b/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c   Wed Apr 09 22:40:32 2014 +0000
@@ -1959,6 +1959,9 @@
                }
        }
 #endif
+       ret = vflush(vfsp, NULL, (ISSET(fflag, MS_FORCE)? FORCECLOSE : 0));
+       if (ret != 0)
+               return ret;
        vfsp->vfs_flag |= VFS_UNMOUNTED;
 
        VERIFY(zfsvfs_teardown(zfsvfs, B_TRUE) == 0);
@@ -1988,13 +1991,6 @@
        if (zfsvfs->z_ctldir != NULL)
                zfsctl_destroy(zfsvfs);
 
-       if (fflag & MS_FORCE)
-               flags |= FORCECLOSE;
-       
-       ret = vflush(vfsp, NULL, 0);
-       if (ret != 0)
-               return ret;
-       
        return (0);
 }
 



Home | Main Index | Thread Index | Old Index