From cc1f72948b43da68f717b0f910ac8d757b5ef99d Mon Sep 17 00:00:00 2001 From: flatcap Date: Tue, 19 Jul 2005 01:56:41 +0000 Subject: [PATCH] fix careless mst write move truncate out of the commit path --- ntfsprogs/ntfsrm.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/ntfsprogs/ntfsrm.c b/ntfsprogs/ntfsrm.c index 141e26ec..70309183 100644 --- a/ntfsprogs/ntfsrm.c +++ b/ntfsprogs/ntfsrm.c @@ -1157,7 +1157,7 @@ static int ntfs_dt_commit (struct ntfs_dt *dt) size = dt->dir->index_size; //utils_dump_mem (dt->data, 0, size, DM_DEFAULTS); #ifdef RM_WRITE - ntfs_attr_mst_pwrite(attr, dt->vcn * size, 1, size, dt->data); // XXX retval + ntfs_attr_mst_pwrite(attr, dt->vcn * vol->cluster_size, 1, size, dt->data); // XXX retval #endif } else { printf ("commit dt (root)\n"); @@ -3355,8 +3355,6 @@ static int ntfs_dir_commit (struct ntfs_dir *dir) printf (RED "\tntfs_inode_sync %llu\n" END, dir->inode->mft_no); } - ntfs_dir_truncate (dir->vol, dir); - if (ntfs_dt_commit (dir->index) < 0) return -1; @@ -4268,7 +4266,8 @@ static int ntfs_file_remove2 (ntfs_volume *vol, struct ntfs_dt *dt, int dt_num) if (1) ntfs_file_remove (vol, dt, dt_num); // remove name from index - if (1) utils_volume_commit (vol); + if (1) ntfs_dir_truncate (vol, dt->dir); + if (1) utils_volume_commit (vol); if (0) utils_volume_rollback (vol);