diff options
-rw-r--r-- | fs/xfs/libxfs/xfs_ialloc.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/xfs/libxfs/xfs_ialloc.c b/fs/xfs/libxfs/xfs_ialloc.c index df4eb129ec72..10348981fe57 100644 --- a/fs/xfs/libxfs/xfs_ialloc.c +++ b/fs/xfs/libxfs/xfs_ialloc.c @@ -996,7 +996,7 @@ xfs_ialloc_ag_select( flags = XFS_ALLOC_FLAG_TRYLOCK; for (;;) { pag = xfs_perag_get(mp, agno); - if (!pag->pagi_inodeok) { + if (!pag->pagi_inodeok || pag->pagf_noalloc) { xfs_ialloc_next_ag(mp); goto nextag; } @@ -1173,6 +1173,7 @@ xfs_dialloc_ag_inobt( ASSERT(pag->pagi_init); ASSERT(pag->pagi_inodeok); + ASSERT(!pag->pagf_noalloc); ASSERT(pag->pagi_freecount > 0); restart_pagno: @@ -1828,7 +1829,7 @@ xfs_dialloc_select_ag( agno = start_agno; for (;;) { pag = xfs_perag_get(mp, agno); - if (!pag->pagi_inodeok) { + if (!pag->pagi_inodeok || pag->pagf_noalloc) { xfs_ialloc_next_ag(mp); goto nextag; } |