On 11/18 2013 07:04 PM, Christoph Hellwig wrote: > 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. Ok, thanks for clearing up my confusion. Thanks, -Jeff _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs