On Sun, Nov 17, 2013 at 09:01:08PM +0800, Jeff Liu wrote: > On 11/16 2013 01:26 AM, Christoph Hellwig wrote: > > As Dave pointed out this really should be xfs_bukstat_ag. But looking > > at the code you're almost 90% there anyway. > One main reason I did not make a per ag bulkstat is because bulkstat() will > skip an allocation group if read agi buffer failed, i.e, > > while (XFS_BULKSTAT_UBLEFT(ubleft) && agno < mp->m_sb.sb_agcount) { > cond_resched(); > error = xfs_ialloc_read_agi(mp, NULL, agno, &agbp); > if (error) { > /* > * Skip this allocation group and go to the next one. > */ > agno++; > agino = 0; > continue; > } > .... > } > > Should it capture this issue and drop a warning in this case? I've been thinking hard about this, but I can't really see any reason why we would skip an AG instead of propagating the error. The only error xfs_ialloc_read_agi can return is an I/O error from reading the buffer from disk, and we'd really want to propagate that sort of I/O errror. I'd suggest a patch at the beginning of the series to just change that behavior for all the two places in bulkstat that call xfs_ialloc_read_agi. None of the other callers seem to behave this way either. _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs