Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FreeBSD: Update argument types for VOP_READDIR #12874

Merged
merged 1 commit into from
Dec 17, 2021

Conversation

asomers
Copy link
Contributor

@asomers asomers commented Dec 17, 2021

A recent commit to FreeBSD changed the type of
vop_readdir_args.a_cookies to a uint64_t**. There is no functional
impact to ZFS because ZFS only uses 32-bit cookies, which will be
zero-extended to 64-bits by the existing code.

freebsd/freebsd-src@b214fcc

Signed-off-by: Alan Somers [email protected]

Motivation and Context

Required by upstream change. Without this commit, type aliasing will mean that ls of large directories over NFS will give incorrect results.

Description

Updated argument types.

How Has This Been Tested?

Created a ZFS directory with 1024 files and exported it over NFS. From the client, lsed the directory and verified that the contents were correct. Meanwhile on the server, used dtrace to verify that zfs_freebsd_readdir was called multiple times with increasing values in uio_offset.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Performance enhancement (non-breaking change which improves efficiency)
  • Code cleanup (non-breaking change which makes code smaller or more readable)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Library ABI change (libzfs, libzfs_core, libnvpair, libuutil and libzfsbootenv)
  • Documentation (a change to man pages or other documentation)

Checklist:

A recent commit to FreeBSD changed the type of
vop_readdir_args.a_cookies to a uint64_t**.  There is no functional
impact to ZFS because ZFS only uses 32-bit cookies, which will be
zero-extended to 64-bits by the existing code.

freebsd/freebsd-src@b214fcc

Signed-off-by:	Alan Somers <[email protected]>
@asomers
Copy link
Contributor Author

asomers commented Dec 17, 2021

The test failures on Linux cannot be related, since I only modified FreeBSD-specific code.

@behlendorf behlendorf added the Status: Accepted Ready to integrate (reviewed, tested) label Dec 17, 2021
@behlendorf behlendorf merged commit ca1b2bb into openzfs:master Dec 17, 2021
@asomers asomers deleted the VOP_READDIR_cookie branch December 17, 2021 18:18
ghost pushed a commit to truenas/zfs that referenced this pull request Jan 19, 2022
A recent commit to FreeBSD changed the type of
vop_readdir_args.a_cookies to a uint64_t**.  There is no functional
impact to ZFS because ZFS only uses 32-bit cookies, which will be
zero-extended to 64-bits by the existing code.

freebsd/freebsd-src@b214fcc

Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: Alexander Motin <[email protected]>
Signed-off-by: Alan Somers <[email protected]>
Closes openzfs#12874
ghost pushed a commit to truenas/zfs that referenced this pull request Feb 2, 2022
A recent commit to FreeBSD changed the type of
vop_readdir_args.a_cookies to a uint64_t**.  There is no functional
impact to ZFS because ZFS only uses 32-bit cookies, which will be
zero-extended to 64-bits by the existing code.

freebsd/freebsd-src@b214fcc

Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: Alexander Motin <[email protected]>
Signed-off-by: Alan Somers <[email protected]>
Closes openzfs#12874
tonyhutter pushed a commit that referenced this pull request Feb 3, 2022
A recent commit to FreeBSD changed the type of
vop_readdir_args.a_cookies to a uint64_t**.  There is no functional
impact to ZFS because ZFS only uses 32-bit cookies, which will be
zero-extended to 64-bits by the existing code.

freebsd/freebsd-src@b214fcc

Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: Alexander Motin <[email protected]>
Signed-off-by: Alan Somers <[email protected]>
Closes #12874
nicman23 pushed a commit to nicman23/zfs that referenced this pull request Aug 22, 2022
A recent commit to FreeBSD changed the type of
vop_readdir_args.a_cookies to a uint64_t**.  There is no functional
impact to ZFS because ZFS only uses 32-bit cookies, which will be
zero-extended to 64-bits by the existing code.

freebsd/freebsd-src@b214fcc

Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: Alexander Motin <[email protected]>
Signed-off-by: Alan Somers <[email protected]>
Closes openzfs#12874
nicman23 pushed a commit to nicman23/zfs that referenced this pull request Aug 22, 2022
A recent commit to FreeBSD changed the type of
vop_readdir_args.a_cookies to a uint64_t**.  There is no functional
impact to ZFS because ZFS only uses 32-bit cookies, which will be
zero-extended to 64-bits by the existing code.

freebsd/freebsd-src@b214fcc

Reviewed-by: Brian Behlendorf <[email protected]>
Reviewed-by: Alexander Motin <[email protected]>
Signed-off-by: Alan Somers <[email protected]>
Closes openzfs#12874
bsdjhb pushed a commit to CTSRD-CHERI/zfs that referenced this pull request Jul 13, 2023
This is not associated with a specific upstream commit but apparently
a local diff applied as part of:

commit e92ffd9b626833ebdbf2742c8ffddc6cd94b963e
Merge: 3c3df3660072 17b2ae0
Author: Martin Matuska <[email protected]>
Date:   Sat Jan 22 23:05:15 2022 +0100

    zfs: merge openzfs/zfs@17b2ae0b2 (master) into main

    Notable upstream pull request merges:
      openzfs#12766 Fix error propagation from lzc_send_redacted
      openzfs#12805 Updated the lz4 decompressor
      openzfs#12851 FreeBSD: Provide correct file generation number
      openzfs#12857 Verify dRAID empty sectors
      openzfs#12874 FreeBSD: Update argument types for VOP_READDIR
      openzfs#12896 Reduce number of arc_prune threads
      openzfs#12934 FreeBSD: Fix zvol_*_open() locking
      openzfs#12947 lz4: Cherrypick fix for CVE-2021-3520
      openzfs#12961 FreeBSD: Fix leaked strings in libspl mnttab
      openzfs#12964 Fix handling of errors from dmu_write_uio_dbuf() on FreeBSD
      openzfs#12981 Introduce a flag to skip comparing the local mac when raw sending
      openzfs#12985 Avoid memory allocations in the ARC eviction thread

    Obtained from:  OpenZFS
    OpenZFS commit: 17b2ae0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Status: Accepted Ready to integrate (reviewed, tested)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants