HomeFreeBSD

Adjust ZFS' link count handling for ino64.

Description

Adjust ZFS' link count handling for ino64.

  • Define a ZFS_LINK_MAX as the ZFS version of LINK_MAX which is set to UINT64_MAX to match the on-disk format.
  • Enable the currently #if 0'd code to check for link overflows and return EMLINK.
  • Don't clamp the link count reported in stat() to LINK_MAX as that is still the 16-bit limit, but report the full link counts. Also, avoid possibly overflowing the reported link count to 0 when adjusting the link count to account for ".snapshot".
  • Update the LINK_MAX reported by pathconf() to report ZFS_LINK_MAX rather than LINK_MAX (but clamped to LONG_MAX for 32-bit systems).

Reviewed by: avg (earlier version)
Sponsored by: Chelsio Communications

Details

Provenance
jhbAuthored on
Reviewer
avg
Parents
rS326986: Add a custom VOP_PATHCONF method for fdescfs.
Branches
Unknown
Tags
Unknown