diff options
author | Anton Altaparmakov <aia21@cantab.net> | 2005-09-23 06:24:28 -0400 |
---|---|---|
committer | Anton Altaparmakov <aia21@cantab.net> | 2005-09-23 06:24:28 -0400 |
commit | 715dc636b64b57aee7aee7e8b5bf4f5267a6df48 (patch) | |
tree | 967c70011391cb38e232015902189623eb9c5193 /fs/ntfs/mft.c | |
parent | 91fbc6edfa7086b5fcdb74ea82ab747104541f1f (diff) |
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.c | 2 |
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: | |||
1953 | a = ctx->attr; | 1953 | a = ctx->attr; |
1954 | a->data.non_resident.highest_vcn = cpu_to_sle64(old_last_vcn - 1); | 1954 | a->data.non_resident.highest_vcn = cpu_to_sle64(old_last_vcn - 1); |
1955 | undo_alloc: | 1955 | undo_alloc: |
1956 | if (ntfs_cluster_free(vol->mft_ino, old_last_vcn, -1, TRUE) < 0) { | 1956 | if (ntfs_cluster_free(mft_ni, old_last_vcn, -1) < 0) { |
1957 | ntfs_error(vol->sb, "Failed to free clusters from mft data " | 1957 | ntfs_error(vol->sb, "Failed to free clusters from mft data " |
1958 | "attribute.%s", es); | 1958 | "attribute.%s", es); |
1959 | NVolSetErrors(vol); | 1959 | NVolSetErrors(vol); |