New code for 5.11:
- Introduce a "needsrepair" "feature" to flag a filesystem as needing a
  pass through xfs_repair.  This is key to enabling filesystem upgrades
  (in xfs_db) that require xfs_repair to make minor adjustments to metadata.
- Refactor parameter checking of recovered log intent items so that we
  actually use the same validation code as them that generate the intent
  items.
- Various fixes to online scrub not reacting correctly to directory
  entries pointing to inodes that cannot be igetted.
- Refactor validation helpers for data and rt volume extents.
- Refactor XFS_TRANS_DQ_DIRTY out of existence.
- Fix a longstanding bug where mounting with "uqnoenforce" would start
  user quotas in non-enforcing mode but /proc/mounts would display
  "usrquota", implying that they are being enforced.
- Don't flag dax+reflink inodes as corruption since that is a valid (but
  not fully functional) combination right now.
- Clean up raid stripe validation functions.
- Refactor the inode allocation code to be more straightforward.
- Small prep cleanup for idmapping support.
- Get rid of the xfs_buf_t typedef.
xfs: remove xfs_buf_t typedef

Prepare for kernel xfs_buf  alignment by getting rid of the
xfs_buf_t typedef from userspace.

[darrick: This patch is a port of a userspace patch removing the
xfs_buf_t typedef in preparation to make the userspace xfs_buf code
behave more like its kernel counterpart.]

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com>
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
15 files changed