From: Raghavendra D Prabhu <rprabhu@xxxxxxxxxxx> When xfs_dialloc is unable to allocate required number of inodes or there are no AGs with free inodes, printk the error in ratelimited manner. Signed-off-by: Raghavendra D Prabhu <rprabhu@xxxxxxxxxxx> --- fs/xfs/xfs_ialloc.c | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/fs/xfs/xfs_ialloc.c b/fs/xfs/xfs_ialloc.c index e75a39d..034131b 100644 --- a/fs/xfs/xfs_ialloc.c +++ b/fs/xfs/xfs_ialloc.c @@ -990,8 +990,11 @@ xfs_dialloc( goto out_error; xfs_perag_put(pag); - *inop = NULLFSINO; - return 0; + + xfs_err_ratelimited(mp, + "Unable to allocate inodes in AG %d: Required %d, Current %llu, Maximum %llu", + agno, XFS_IALLOC_INODES(mp), mp->m_sb.sb_icount, mp->m_maxicount); + goto out_spc; } if (ialloced) { @@ -1016,11 +1019,19 @@ nextag: if (++agno == mp->m_sb.sb_agcount) agno = 0; if (agno == start_agno) { - *inop = NULLFSINO; - return noroom ? ENOSPC : 0; + if (noroom) { + xfs_err_ratelimited(mp, + "Out of AGs with free inodes: Required %d, Current %llu, Maximum %llu", + XFS_IALLOC_INODES(mp), mp->m_sb.sb_icount, mp->m_maxicount); + goto out_spc; + } + return 0; } } +out_spc: + *inop = NULLFSINO; + return ENOSPC; out_alloc: *IO_agbp = NULL; return xfs_dialloc_ag(tp, agbp, parent, inop); -- 1.7.12 _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs