summaryrefslogtreecommitdiffstats
path: root/fs/ntfs/mft.c
diff options
context:
space:
mode:
authorAnton Altaparmakov <aia21@cantab.net>2005-09-08 21:09:06 +0100
committerAnton Altaparmakov <aia21@cantab.net>2005-09-08 21:09:06 +0100
commitbbf1813fb8ff9d21171bf22e6d1f0e0393601e86 (patch)
tree2b8474019c1320df290d5df03514eaed56e44cc6 /fs/ntfs/mft.c
parent807c453de7c5487d2e5eece76bafdea8f39d249e (diff)
downloadlinux-stable-bbf1813fb8ff9d21171bf22e6d1f0e0393601e86.tar.gz
linux-stable-bbf1813fb8ff9d21171bf22e6d1f0e0393601e86.tar.bz2
linux-stable-bbf1813fb8ff9d21171bf22e6d1f0e0393601e86.zip
NTFS: Fix cluster (de)allocators to work when the runlist is NULL and more
importantly to take a locked runlist rather than them locking it which leads to lock reversal. Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
Diffstat (limited to 'fs/ntfs/mft.c')
-rw-r--r--fs/ntfs/mft.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/ntfs/mft.c b/fs/ntfs/mft.c
index e27651db4534..2c32b84385a8 100644
--- a/fs/ntfs/mft.c
+++ b/fs/ntfs/mft.c
@@ -1953,7 +1953,7 @@ restore_undo_alloc:
a = ctx->attr;
a->data.non_resident.highest_vcn = cpu_to_sle64(old_last_vcn - 1);
undo_alloc:
- if (ntfs_cluster_free(vol->mft_ino, old_last_vcn, -1) < 0) {
+ if (ntfs_cluster_free(vol->mft_ino, old_last_vcn, -1, TRUE) < 0) {
ntfs_error(vol->sb, "Failed to free clusters from mft data "
"attribute.%s", es);
NVolSetErrors(vol);