From 93f80966734a65e24147e6f195a486a18b29f369 Mon Sep 17 00:00:00 2001 From: "cantab.net!aia21" Date: Thu, 16 Sep 2004 08:18:52 +0000 Subject: [PATCH] Need to sync inodes before closing attributes or the umount fails. (Logical change 1.555) --- libntfs/volume.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libntfs/volume.c b/libntfs/volume.c index 15cf1124..167894c6 100644 --- a/libntfs/volume.c +++ b/libntfs/volume.c @@ -72,16 +72,22 @@ ntfs_volume *ntfs_volume_alloc(void) */ static void __ntfs_volume_release(ntfs_volume *v) { + if (v->lcnbmp_ni && NInoDirty(v->lcnbmp_ni)) + ntfs_inode_sync(v->lcnbmp_ni); if (v->lcnbmp_na) ntfs_attr_close(v->lcnbmp_na); if (v->lcnbmp_ni) ntfs_inode_close(v->lcnbmp_ni); + if (v->mft_ni && NInoDirty(v->mft_ni)) + ntfs_inode_sync(v->mft_ni); if (v->mftbmp_na) ntfs_attr_close(v->mftbmp_na); if (v->mft_na) ntfs_attr_close(v->mft_na); if (v->mft_ni) ntfs_inode_close(v->mft_ni); + if (v->mftmirr_ni && NInoDirty(v->mftmirr_ni)) + ntfs_inode_sync(v->mftmirr_ni); if (v->mftmirr_na) ntfs_attr_close(v->mftmirr_na); if (v->mftmirr_ni)