OSDN Git Service

xfs: support a union-based filter for eofblocks scans
authorBrian Foster <bfoster@redhat.com>
Thu, 24 Jul 2014 09:44:28 +0000 (19:44 +1000)
committerDave Chinner <david@fromorbit.com>
Thu, 24 Jul 2014 09:44:28 +0000 (19:44 +1000)
commitf4526397928fff052f795713748f376a2bba1b5e
treeb705d85eb1370c092b497ae663ee5f14becfc116
parent5400da7dc0862d73523691038c044535f518a57f
xfs: support a union-based filter for eofblocks scans

From: Brian Foster <bfoster@redhat.com>

The eofblocks scan inode filter uses intersection logic by default.
E.g., specifying both user and group quota ids filters out inodes that
are not covered by both the specified user and group quotas. This is
suitable for behavior exposed to userspace.

Scans that are initiated from within the kernel might require more broad
semantics, such as scanning all inodes under each quota associated with
an inode to alleviate low free space conditions in each.

Create the XFS_EOF_FLAGS_UNION flag to support a conditional union-based
filtering algorithm for eofblocks scans. This flag is intentionally left
out of the valid mask as it is not supported for scans initiated from
userspace.

Signed-off-by: Brian Foster <bfoster@redhat.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
fs/xfs/xfs_fs.h
fs/xfs/xfs_icache.c