diff options
Diffstat (limited to 'fs/xfs/libxfs/xfs_ialloc.c')
-rw-r--r-- | fs/xfs/libxfs/xfs_ialloc.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/xfs/libxfs/xfs_ialloc.c b/fs/xfs/libxfs/xfs_ialloc.c index db0444893e96..07349a183a11 100644 --- a/fs/xfs/libxfs/xfs_ialloc.c +++ b/fs/xfs/libxfs/xfs_ialloc.c | |||
@@ -376,7 +376,8 @@ xfs_ialloc_ag_alloc( | |||
376 | */ | 376 | */ |
377 | newlen = args.mp->m_ialloc_inos; | 377 | newlen = args.mp->m_ialloc_inos; |
378 | if (args.mp->m_maxicount && | 378 | if (args.mp->m_maxicount && |
379 | args.mp->m_sb.sb_icount + newlen > args.mp->m_maxicount) | 379 | percpu_counter_read(&args.mp->m_icount) + newlen > |
380 | args.mp->m_maxicount) | ||
380 | return -ENOSPC; | 381 | return -ENOSPC; |
381 | args.minlen = args.maxlen = args.mp->m_ialloc_blks; | 382 | args.minlen = args.maxlen = args.mp->m_ialloc_blks; |
382 | /* | 383 | /* |
@@ -1340,7 +1341,8 @@ xfs_dialloc( | |||
1340 | * inode. | 1341 | * inode. |
1341 | */ | 1342 | */ |
1342 | if (mp->m_maxicount && | 1343 | if (mp->m_maxicount && |
1343 | mp->m_sb.sb_icount + mp->m_ialloc_inos > mp->m_maxicount) { | 1344 | percpu_counter_read(&mp->m_icount) + mp->m_ialloc_inos > |
1345 | mp->m_maxicount) { | ||
1344 | noroom = 1; | 1346 | noroom = 1; |
1345 | okalloc = 0; | 1347 | okalloc = 0; |
1346 | } | 1348 | } |