Commit 3834c3f227725e2395840aed82342bda4ee9d379
1 parent
149f0c5200
NTFS: Fix stupid bug in fs/ntfs/mft.c introduced in last changeset.
Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
Showing 1 changed file with 4 additions and 7 deletions Side-by-side Diff
fs/ntfs/mft.c
... | ... | @@ -2377,22 +2377,20 @@ |
2377 | 2377 | * first written to so it optimizes away nicely in the common case. |
2378 | 2378 | */ |
2379 | 2379 | read_lock_irqsave(&mft_ni->size_lock, flags); |
2380 | - old_data_size = mft_ni->allocated_size; | |
2381 | 2380 | ntfs_debug("Status of mft data before extension: " |
2382 | 2381 | "allocated_size 0x%llx, data_size 0x%llx, " |
2383 | 2382 | "initialized_size 0x%llx.", |
2384 | - (long long)old_data_size, | |
2383 | + (long long)mft_ni->allocated_size, | |
2385 | 2384 | (long long)i_size_read(vol->mft_ino), |
2386 | 2385 | (long long)mft_ni->initialized_size); |
2387 | - read_unlock_irqrestore(&mft_ni->size_lock, flags); | |
2388 | - while (ll > old_data_size) { | |
2386 | + while (ll > mft_ni->allocated_size) { | |
2387 | + read_unlock_irqrestore(&mft_ni->size_lock, flags); | |
2389 | 2388 | err = ntfs_mft_data_extend_allocation_nolock(vol); |
2390 | 2389 | if (unlikely(err)) { |
2391 | 2390 | ntfs_error(vol->sb, "Failed to extend mft data " |
2392 | 2391 | "allocation."); |
2393 | 2392 | goto undo_mftbmp_alloc_nolock; |
2394 | 2393 | } |
2395 | -#ifdef DEBUG | |
2396 | 2394 | read_lock_irqsave(&mft_ni->size_lock, flags); |
2397 | 2395 | ntfs_debug("Status of mft data after allocation extension: " |
2398 | 2396 | "allocated_size 0x%llx, data_size 0x%llx, " |
2399 | 2397 | |
... | ... | @@ -2400,9 +2398,8 @@ |
2400 | 2398 | (long long)mft_ni->allocated_size, |
2401 | 2399 | (long long)i_size_read(vol->mft_ino), |
2402 | 2400 | (long long)mft_ni->initialized_size); |
2403 | - read_unlock_irqrestore(&mft_ni->size_lock, flags); | |
2404 | -#endif /* DEBUG */ | |
2405 | 2401 | } |
2402 | + read_unlock_irqrestore(&mft_ni->size_lock, flags); | |
2406 | 2403 | /* |
2407 | 2404 | * Extend mft data initialized size (and data size of course) to reach |
2408 | 2405 | * the allocated mft record, formatting the mft records allong the way. |