| To: | Brian Foster <bfoster@xxxxxxxxxx> |
|---|---|
| Subject: | Re: [PATCH v3 13/18] xfs: update free inode record logic to support sparse inode records |
| From: | Dave Chinner <david@xxxxxxxxxxxxx> |
| Date: | Mon, 9 Feb 2015 09:33:17 +1100 |
| Cc: | xfs@xxxxxxxxxxx |
| Delivered-to: | xfs@xxxxxxxxxxx |
| In-reply-to: | <1423252385-3063-14-git-send-email-bfoster@xxxxxxxxxx> |
| References: | <1423252385-3063-1-git-send-email-bfoster@xxxxxxxxxx> <1423252385-3063-14-git-send-email-bfoster@xxxxxxxxxx> |
| User-agent: | Mutt/1.5.21 (2010-09-15) |
On Fri, Feb 06, 2015 at 02:53:00PM -0500, Brian Foster wrote: > xfs_difree_inobt() uses logic in a couple places that assume inobt > records refer to fully allocated chunks. Specifically, the use of > mp->m_ialloc_inos can cause problems for inode chunks that are sparsely > allocated. Sparse inode chunks can, by definition, define a smaller > number of inodes than a full inode chunk. > > Fix the logic that determines whether an inode record should be removed > from the inobt to use the ir_free mask rather than ir_freecount. > > Fix the agi counters modification to use ir_freecount to add the actual > number of inodes freed rather than assuming a full inode chunk. > > Signed-off-by: Brian Foster <bfoster@xxxxxxxxxx> This should be moved to the start of the series, along with any other code that does rec.ir_freecount checks to see if the chunk has inodes in use or not. Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx |
| Previous by Date: | Re: [PATCH v3 16/18] xfs: use actual inode count for sparse records in bulkstat/inumbers, Dave Chinner |
|---|---|
| Next by Date: | Re: [PATCH v3 12/18] xfs: filter out sparse regions from individual inode allocation, Dave Chinner |
| Previous by Thread: | [PATCH v3 13/18] xfs: update free inode record logic to support sparse inode records, Brian Foster |
| Next by Thread: | [PATCH v3 14/18] xfs: only free allocated regions of inode chunks, Brian Foster |
| Indexes: | [Date] [Thread] [Top] [All Lists] |