diff options
-rw-r--r-- | fs/xfs/xfs_itable.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/xfs/xfs_itable.c b/fs/xfs/xfs_itable.c index 2ea7d402188d..06d004d85bf4 100644 --- a/fs/xfs/xfs_itable.c +++ b/fs/xfs/xfs_itable.c | |||
@@ -383,11 +383,13 @@ xfs_bulkstat( | |||
383 | * Also start read-ahead now for this chunk. | 383 | * Also start read-ahead now for this chunk. |
384 | */ | 384 | */ |
385 | if (r.ir_freecount < XFS_INODES_PER_CHUNK) { | 385 | if (r.ir_freecount < XFS_INODES_PER_CHUNK) { |
386 | struct blk_plug plug; | ||
386 | /* | 387 | /* |
387 | * Loop over all clusters in the next chunk. | 388 | * Loop over all clusters in the next chunk. |
388 | * Do a readahead if there are any allocated | 389 | * Do a readahead if there are any allocated |
389 | * inodes in that cluster. | 390 | * inodes in that cluster. |
390 | */ | 391 | */ |
392 | blk_start_plug(&plug); | ||
391 | agbno = XFS_AGINO_TO_AGBNO(mp, r.ir_startino); | 393 | agbno = XFS_AGINO_TO_AGBNO(mp, r.ir_startino); |
392 | for (chunkidx = 0; | 394 | for (chunkidx = 0; |
393 | chunkidx < XFS_INODES_PER_CHUNK; | 395 | chunkidx < XFS_INODES_PER_CHUNK; |
@@ -399,6 +401,7 @@ xfs_bulkstat( | |||
399 | agbno, nbcluster, | 401 | agbno, nbcluster, |
400 | &xfs_inode_buf_ops); | 402 | &xfs_inode_buf_ops); |
401 | } | 403 | } |
404 | blk_finish_plug(&plug); | ||
402 | irbp->ir_startino = r.ir_startino; | 405 | irbp->ir_startino = r.ir_startino; |
403 | irbp->ir_freecount = r.ir_freecount; | 406 | irbp->ir_freecount = r.ir_freecount; |
404 | irbp->ir_free = r.ir_free; | 407 | irbp->ir_free = r.ir_free; |