summaryrefslogtreecommitdiffstats
path: root/fs/ntfs/mft.c
diff options
context:
space:
mode:
authorAnton Altaparmakov <aia21@cantab.net>2005-09-23 11:24:28 +0100
committerAnton Altaparmakov <aia21@cantab.net>2005-09-23 11:24:28 +0100
commit715dc636b64b57aee7aee7e8b5bf4f5267a6df48 (patch)
tree967c70011391cb38e232015902189623eb9c5193 /fs/ntfs/mft.c
parent91fbc6edfa7086b5fcdb74ea82ab747104541f1f (diff)
downloadlinux-stable-715dc636b64b57aee7aee7e8b5bf4f5267a6df48.tar.gz
linux-stable-715dc636b64b57aee7aee7e8b5bf4f5267a6df48.tar.bz2
linux-stable-715dc636b64b57aee7aee7e8b5bf4f5267a6df48.zip
NTFS: Change ntfs_cluster_free() to require a write locked runlist on entry
since we otherwise get into a lock reversal deadlock if a read locked runlist is passed in. In the process also change it to take an ntfs inode instead of a vfs inode as parameter. 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 2c32b84385a8..247586d1d5dc 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, TRUE) < 0) {
+ if (ntfs_cluster_free(mft_ni, old_last_vcn, -1) < 0) {
ntfs_error(vol->sb, "Failed to free clusters from mft data "
"attribute.%s", es);
NVolSetErrors(vol);