Files
android_kernel_xiaomi_sm8450/fs/xfs
Brian Foster 12d0714d4b xfs: use actual inode count for sparse records in bulkstat/inumbers
The bulkstat and inumbers mechanisms make the assumption that inode
records consist of a full 64 inode chunk in several places. For example,
this is used to track how many inodes have been processed overall as
well as to determine whether a record has allocated inodes that must be
handled.

This assumption is invalid for sparse inode records. While sparse inodes
will be marked as free in the ir_free mask, they are not accounted as
free in ir_freecount because they cannot be allocated. Therefore,
ir_freecount may be less than 64 inodes in an inode record for which all
physically allocated inodes are free (and in turn ir_freecount < 64 does
not signify that the record has allocated inodes).

The new in-core inobt record format includes the ir_count field. This
holds the number of true, physical inodes tracked by the record. The
in-core ir_count field is always valid as it is hardcoded to
XFS_INODES_PER_CHUNK when sparse inodes is not enabled. Use ir_count to
handle inode records correctly in bulkstat in a generic manner.

Signed-off-by: Brian Foster <bfoster@redhat.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
2015-05-29 09:04:19 +10:00
..
2014-07-30 09:12:05 +10:00
2015-02-16 11:49:23 +11:00
2013-05-07 18:45:36 -05:00
2011-08-12 16:21:35 -05:00
2012-11-19 20:11:24 -06:00
2013-08-12 16:53:39 -05:00
2011-08-12 16:21:35 -05:00
2011-08-12 16:21:35 -05:00
2013-08-12 16:56:06 -05:00
2015-02-23 21:22:31 +11:00
2015-02-23 21:22:31 +11:00
2013-05-07 18:45:36 -05:00
2015-03-04 16:06:38 +01:00
2015-02-23 21:22:31 +11:00
2015-01-09 10:47:43 +11:00
2014-09-09 11:52:42 +10:00
2013-05-07 18:45:36 -05:00