aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/xfs/xfs_dir2_block.c14
-rw-r--r--fs/xfs/xfs_dir2_data.c7
-rw-r--r--fs/xfs/xfs_dir2_data.h2
-rw-r--r--fs/xfs/xfs_dir2_leaf.c7
-rw-r--r--fs/xfs/xfs_dir2_node.c4
5 files changed, 13 insertions, 21 deletions
diff --git a/fs/xfs/xfs_dir2_block.c b/fs/xfs/xfs_dir2_block.c
index 9d7438bba30d..3accc1dcd6c9 100644
--- a/fs/xfs/xfs_dir2_block.c
+++ b/fs/xfs/xfs_dir2_block.c
@@ -282,8 +282,7 @@ xfs_dir2_block_addname(
282 * This needs to happen before the next call to use_free. 282 * This needs to happen before the next call to use_free.
283 */ 283 */
284 if (needscan) { 284 if (needscan) {
285 xfs_dir2_data_freescan(mp, (xfs_dir2_data_t *)block, 285 xfs_dir2_data_freescan(mp, (xfs_dir2_data_t *)block, &needlog);
286 &needlog, NULL);
287 needscan = 0; 286 needscan = 0;
288 } 287 }
289 } 288 }
@@ -333,7 +332,7 @@ xfs_dir2_block_addname(
333 */ 332 */
334 if (needscan) { 333 if (needscan) {
335 xfs_dir2_data_freescan(mp, (xfs_dir2_data_t *)block, 334 xfs_dir2_data_freescan(mp, (xfs_dir2_data_t *)block,
336 &needlog, NULL); 335 &needlog);
337 needscan = 0; 336 needscan = 0;
338 } 337 }
339 /* 338 /*
@@ -418,8 +417,7 @@ xfs_dir2_block_addname(
418 * Clean up the bestfree array and log the header, tail, and entry. 417 * Clean up the bestfree array and log the header, tail, and entry.
419 */ 418 */
420 if (needscan) 419 if (needscan)
421 xfs_dir2_data_freescan(mp, (xfs_dir2_data_t *)block, &needlog, 420 xfs_dir2_data_freescan(mp, (xfs_dir2_data_t *)block, &needlog);
422 NULL);
423 if (needlog) 421 if (needlog)
424 xfs_dir2_data_log_header(tp, bp); 422 xfs_dir2_data_log_header(tp, bp);
425 xfs_dir2_block_log_tail(tp, bp); 423 xfs_dir2_block_log_tail(tp, bp);
@@ -798,8 +796,7 @@ xfs_dir2_block_removename(
798 * Fix up bestfree, log the header if necessary. 796 * Fix up bestfree, log the header if necessary.
799 */ 797 */
800 if (needscan) 798 if (needscan)
801 xfs_dir2_data_freescan(mp, (xfs_dir2_data_t *)block, &needlog, 799 xfs_dir2_data_freescan(mp, (xfs_dir2_data_t *)block, &needlog);
802 NULL);
803 if (needlog) 800 if (needlog)
804 xfs_dir2_data_log_header(tp, bp); 801 xfs_dir2_data_log_header(tp, bp);
805 xfs_dir2_data_check(dp, bp); 802 xfs_dir2_data_check(dp, bp);
@@ -996,8 +993,7 @@ xfs_dir2_leaf_to_block(
996 * Scan the bestfree if we need it and log the data block header. 993 * Scan the bestfree if we need it and log the data block header.
997 */ 994 */
998 if (needscan) 995 if (needscan)
999 xfs_dir2_data_freescan(mp, (xfs_dir2_data_t *)block, &needlog, 996 xfs_dir2_data_freescan(mp, (xfs_dir2_data_t *)block, &needlog);
1000 NULL);
1001 if (needlog) 997 if (needlog)
1002 xfs_dir2_data_log_header(tp, dbp); 998 xfs_dir2_data_log_header(tp, dbp);
1003 /* 999 /*
diff --git a/fs/xfs/xfs_dir2_data.c b/fs/xfs/xfs_dir2_data.c
index f7c799217072..c211c37ef67c 100644
--- a/fs/xfs/xfs_dir2_data.c
+++ b/fs/xfs/xfs_dir2_data.c
@@ -324,8 +324,7 @@ void
324xfs_dir2_data_freescan( 324xfs_dir2_data_freescan(
325 xfs_mount_t *mp, /* filesystem mount point */ 325 xfs_mount_t *mp, /* filesystem mount point */
326 xfs_dir2_data_t *d, /* data block pointer */ 326 xfs_dir2_data_t *d, /* data block pointer */
327 int *loghead, /* out: log data header */ 327 int *loghead) /* out: log data header */
328 char *aendp) /* in: caller's endp */
329{ 328{
330 xfs_dir2_block_tail_t *btp; /* block tail */ 329 xfs_dir2_block_tail_t *btp; /* block tail */
331 xfs_dir2_data_entry_t *dep; /* active data entry */ 330 xfs_dir2_data_entry_t *dep; /* active data entry */
@@ -346,9 +345,7 @@ xfs_dir2_data_freescan(
346 * Set up pointers. 345 * Set up pointers.
347 */ 346 */
348 p = (char *)d->u; 347 p = (char *)d->u;
349 if (aendp) 348 if (be32_to_cpu(d->hdr.magic) == XFS_DIR2_BLOCK_MAGIC) {
350 endp = aendp;
351 else if (be32_to_cpu(d->hdr.magic) == XFS_DIR2_BLOCK_MAGIC) {
352 btp = XFS_DIR2_BLOCK_TAIL_P(mp, (xfs_dir2_block_t *)d); 349 btp = XFS_DIR2_BLOCK_TAIL_P(mp, (xfs_dir2_block_t *)d);
353 endp = (char *)XFS_DIR2_BLOCK_LEAF_P(btp); 350 endp = (char *)XFS_DIR2_BLOCK_LEAF_P(btp);
354 } else 351 } else
diff --git a/fs/xfs/xfs_dir2_data.h b/fs/xfs/xfs_dir2_data.h
index a6ae2d21c40a..c94c9099cfb1 100644
--- a/fs/xfs/xfs_dir2_data.h
+++ b/fs/xfs/xfs_dir2_data.h
@@ -166,7 +166,7 @@ extern xfs_dir2_data_free_t *xfs_dir2_data_freefind(xfs_dir2_data_t *d,
166extern xfs_dir2_data_free_t *xfs_dir2_data_freeinsert(xfs_dir2_data_t *d, 166extern xfs_dir2_data_free_t *xfs_dir2_data_freeinsert(xfs_dir2_data_t *d,
167 xfs_dir2_data_unused_t *dup, int *loghead); 167 xfs_dir2_data_unused_t *dup, int *loghead);
168extern void xfs_dir2_data_freescan(struct xfs_mount *mp, xfs_dir2_data_t *d, 168extern void xfs_dir2_data_freescan(struct xfs_mount *mp, xfs_dir2_data_t *d,
169 int *loghead, char *aendp); 169 int *loghead);
170extern int xfs_dir2_data_init(struct xfs_da_args *args, xfs_dir2_db_t blkno, 170extern int xfs_dir2_data_init(struct xfs_da_args *args, xfs_dir2_db_t blkno,
171 struct xfs_dabuf **bpp); 171 struct xfs_dabuf **bpp);
172extern void xfs_dir2_data_log_entry(struct xfs_trans *tp, struct xfs_dabuf *bp, 172extern void xfs_dir2_data_log_entry(struct xfs_trans *tp, struct xfs_dabuf *bp,
diff --git a/fs/xfs/xfs_dir2_leaf.c b/fs/xfs/xfs_dir2_leaf.c
index b1cf1fbf423d..db14ea71459f 100644
--- a/fs/xfs/xfs_dir2_leaf.c
+++ b/fs/xfs/xfs_dir2_leaf.c
@@ -133,8 +133,7 @@ xfs_dir2_block_to_leaf(
133 */ 133 */
134 block->hdr.magic = cpu_to_be32(XFS_DIR2_DATA_MAGIC); 134 block->hdr.magic = cpu_to_be32(XFS_DIR2_DATA_MAGIC);
135 if (needscan) 135 if (needscan)
136 xfs_dir2_data_freescan(mp, (xfs_dir2_data_t *)block, &needlog, 136 xfs_dir2_data_freescan(mp, (xfs_dir2_data_t *)block, &needlog);
137 NULL);
138 /* 137 /*
139 * Set up leaf tail and bests table. 138 * Set up leaf tail and bests table.
140 */ 139 */
@@ -414,7 +413,7 @@ xfs_dir2_leaf_addname(
414 * Need to scan fix up the bestfree table. 413 * Need to scan fix up the bestfree table.
415 */ 414 */
416 if (needscan) 415 if (needscan)
417 xfs_dir2_data_freescan(mp, data, &needlog, NULL); 416 xfs_dir2_data_freescan(mp, data, &needlog);
418 /* 417 /*
419 * Need to log the data block's header. 418 * Need to log the data block's header.
420 */ 419 */
@@ -1496,7 +1495,7 @@ xfs_dir2_leaf_removename(
1496 * log the data block header if necessary. 1495 * log the data block header if necessary.
1497 */ 1496 */
1498 if (needscan) 1497 if (needscan)
1499 xfs_dir2_data_freescan(mp, data, &needlog, NULL); 1498 xfs_dir2_data_freescan(mp, data, &needlog);
1500 if (needlog) 1499 if (needlog)
1501 xfs_dir2_data_log_header(tp, dbp); 1500 xfs_dir2_data_log_header(tp, dbp);
1502 /* 1501 /*
diff --git a/fs/xfs/xfs_dir2_node.c b/fs/xfs/xfs_dir2_node.c
index 9ca71719b683..d083c3819934 100644
--- a/fs/xfs/xfs_dir2_node.c
+++ b/fs/xfs/xfs_dir2_node.c
@@ -904,7 +904,7 @@ xfs_dir2_leafn_remove(
904 * Log the data block header if needed. 904 * Log the data block header if needed.
905 */ 905 */
906 if (needscan) 906 if (needscan)
907 xfs_dir2_data_freescan(mp, data, &needlog, NULL); 907 xfs_dir2_data_freescan(mp, data, &needlog);
908 if (needlog) 908 if (needlog)
909 xfs_dir2_data_log_header(tp, dbp); 909 xfs_dir2_data_log_header(tp, dbp);
910 xfs_dir2_data_check(dp, dbp); 910 xfs_dir2_data_check(dp, dbp);
@@ -1705,7 +1705,7 @@ xfs_dir2_node_addname_int(
1705 * Rescan the block for bestfree if needed. 1705 * Rescan the block for bestfree if needed.
1706 */ 1706 */
1707 if (needscan) 1707 if (needscan)
1708 xfs_dir2_data_freescan(mp, data, &needlog, NULL); 1708 xfs_dir2_data_freescan(mp, data, &needlog);
1709 /* 1709 /*
1710 * Log the data block header if needed. 1710 * Log the data block header if needed.
1711 */ 1711 */