diff options
Diffstat (limited to 'fs/xfs/xfs_rtalloc.c')
-rw-r--r-- | fs/xfs/xfs_rtalloc.c | 110 |
1 files changed, 1 insertions, 109 deletions
diff --git a/fs/xfs/xfs_rtalloc.c b/fs/xfs/xfs_rtalloc.c index 880c73271c05..6fff19dc3cf9 100644 --- a/fs/xfs/xfs_rtalloc.c +++ b/fs/xfs/xfs_rtalloc.c | |||
@@ -147,7 +147,7 @@ xfs_growfs_rt_alloc( | |||
147 | /* | 147 | /* |
148 | * Free any blocks freed up in the transaction, then commit. | 148 | * Free any blocks freed up in the transaction, then commit. |
149 | */ | 149 | */ |
150 | error = xfs_bmap_finish(&tp, &flist, firstblock, &committed); | 150 | error = xfs_bmap_finish(&tp, &flist, &committed); |
151 | if (error) | 151 | if (error) |
152 | goto error_exit; | 152 | goto error_exit; |
153 | xfs_trans_commit(tp, XFS_TRANS_RELEASE_LOG_RES, NULL); | 153 | xfs_trans_commit(tp, XFS_TRANS_RELEASE_LOG_RES, NULL); |
@@ -913,57 +913,6 @@ xfs_rtcheck_alloc_range( | |||
913 | } | 913 | } |
914 | #endif | 914 | #endif |
915 | 915 | ||
916 | #ifdef DEBUG | ||
917 | /* | ||
918 | * Check whether the given block in the bitmap has the given value. | ||
919 | */ | ||
920 | STATIC int /* 1 for matches, 0 for not */ | ||
921 | xfs_rtcheck_bit( | ||
922 | xfs_mount_t *mp, /* file system mount structure */ | ||
923 | xfs_trans_t *tp, /* transaction pointer */ | ||
924 | xfs_rtblock_t start, /* bit (block) to check */ | ||
925 | int val) /* 1 for free, 0 for allocated */ | ||
926 | { | ||
927 | int bit; /* bit number in the word */ | ||
928 | xfs_rtblock_t block; /* bitmap block number */ | ||
929 | xfs_buf_t *bp; /* buf for the block */ | ||
930 | xfs_rtword_t *bufp; /* pointer into the buffer */ | ||
931 | /* REFERENCED */ | ||
932 | int error; /* error value */ | ||
933 | xfs_rtword_t wdiff; /* difference between bit & expected */ | ||
934 | int word; /* word number in the buffer */ | ||
935 | xfs_rtword_t wval; /* word value from buffer */ | ||
936 | |||
937 | block = XFS_BITTOBLOCK(mp, start); | ||
938 | error = xfs_rtbuf_get(mp, tp, block, 0, &bp); | ||
939 | bufp = (xfs_rtword_t *)XFS_BUF_PTR(bp); | ||
940 | word = XFS_BITTOWORD(mp, start); | ||
941 | bit = (int)(start & (XFS_NBWORD - 1)); | ||
942 | wval = bufp[word]; | ||
943 | xfs_trans_brelse(tp, bp); | ||
944 | wdiff = (wval ^ -val) & ((xfs_rtword_t)1 << bit); | ||
945 | return !wdiff; | ||
946 | } | ||
947 | #endif /* DEBUG */ | ||
948 | |||
949 | #if 0 | ||
950 | /* | ||
951 | * Check that the given extent (block range) is free already. | ||
952 | */ | ||
953 | STATIC int /* error */ | ||
954 | xfs_rtcheck_free_range( | ||
955 | xfs_mount_t *mp, /* file system mount point */ | ||
956 | xfs_trans_t *tp, /* transaction pointer */ | ||
957 | xfs_rtblock_t bno, /* starting block number of extent */ | ||
958 | xfs_extlen_t len, /* length of extent */ | ||
959 | int *stat) /* out: 1 for free, 0 for not */ | ||
960 | { | ||
961 | xfs_rtblock_t new; /* dummy for xfs_rtcheck_range */ | ||
962 | |||
963 | return xfs_rtcheck_range(mp, tp, bno, len, 1, &new, stat); | ||
964 | } | ||
965 | #endif | ||
966 | |||
967 | /* | 916 | /* |
968 | * Check that the given range is either all allocated (val = 0) or | 917 | * Check that the given range is either all allocated (val = 0) or |
969 | * all free (val = 1). | 918 | * all free (val = 1). |
@@ -2382,60 +2331,3 @@ xfs_rtpick_extent( | |||
2382 | *pick = b; | 2331 | *pick = b; |
2383 | return 0; | 2332 | return 0; |
2384 | } | 2333 | } |
2385 | |||
2386 | #ifdef DEBUG | ||
2387 | /* | ||
2388 | * Debug code: print out the value of a range in the bitmap. | ||
2389 | */ | ||
2390 | void | ||
2391 | xfs_rtprint_range( | ||
2392 | xfs_mount_t *mp, /* file system mount structure */ | ||
2393 | xfs_trans_t *tp, /* transaction pointer */ | ||
2394 | xfs_rtblock_t start, /* starting block to print */ | ||
2395 | xfs_extlen_t len) /* length to print */ | ||
2396 | { | ||
2397 | xfs_extlen_t i; /* block number in the extent */ | ||
2398 | |||
2399 | cmn_err(CE_DEBUG, "%Ld: ", (long long)start); | ||
2400 | for (i = 0; i < len; i++) | ||
2401 | cmn_err(CE_DEBUG, "%d", xfs_rtcheck_bit(mp, tp, start + i, 1)); | ||
2402 | cmn_err(CE_DEBUG, "\n"); | ||
2403 | } | ||
2404 | |||
2405 | /* | ||
2406 | * Debug code: print the summary file. | ||
2407 | */ | ||
2408 | void | ||
2409 | xfs_rtprint_summary( | ||
2410 | xfs_mount_t *mp, /* file system mount structure */ | ||
2411 | xfs_trans_t *tp) /* transaction pointer */ | ||
2412 | { | ||
2413 | xfs_suminfo_t c; /* summary data */ | ||
2414 | xfs_rtblock_t i; /* bitmap block number */ | ||
2415 | int l; /* summary information level */ | ||
2416 | int p; /* flag for printed anything */ | ||
2417 | xfs_fsblock_t sb; /* summary block number */ | ||
2418 | xfs_buf_t *sumbp; /* summary block buffer */ | ||
2419 | |||
2420 | sumbp = NULL; | ||
2421 | for (l = 0; l < mp->m_rsumlevels; l++) { | ||
2422 | for (p = 0, i = 0; i < mp->m_sb.sb_rbmblocks; i++) { | ||
2423 | (void)xfs_rtget_summary(mp, tp, l, i, &sumbp, &sb, &c); | ||
2424 | if (c) { | ||
2425 | if (!p) { | ||
2426 | cmn_err(CE_DEBUG, "%Ld-%Ld:", 1LL << l, | ||
2427 | XFS_RTMIN((1LL << l) + | ||
2428 | ((1LL << l) - 1LL), | ||
2429 | mp->m_sb.sb_rextents)); | ||
2430 | p = 1; | ||
2431 | } | ||
2432 | cmn_err(CE_DEBUG, " %Ld:%d", (long long)i, c); | ||
2433 | } | ||
2434 | } | ||
2435 | if (p) | ||
2436 | cmn_err(CE_DEBUG, "\n"); | ||
2437 | } | ||
2438 | if (sumbp) | ||
2439 | xfs_trans_brelse(tp, sumbp); | ||
2440 | } | ||
2441 | #endif /* DEBUG */ | ||