Skip to content

Commit

Permalink
FreeBSD: Add setting of the VFCF_FILEREV flag
Browse files Browse the repository at this point in the history
The flag VFCF_FILEREV was recently defined in FreeBSD
so that a file system could indicate that it increments
va_filerev by one for each change.

Since ZFS does do this, set the flag if defined for the
kernel being built.  This allows the NFSv4.2 server to
reply with the correct change_attr_type attribute value.

Reviewed-by: Alexander Motin <mav@FreeBSD.org>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Rick Macklem <rmacklem@uoguelph.ca>
Closed #16976
  • Loading branch information
rmacklem authored Jan 23, 2025
1 parent 26e38ae commit 3420571
Showing 1 changed file with 6 additions and 4 deletions.
10 changes: 6 additions & 4 deletions module/os/freebsd/zfs/zfs_vfsops.c
Original file line number Diff line number Diff line change
Expand Up @@ -144,12 +144,14 @@ struct vfsops zfs_vfsops = {
.vfs_quotactl = zfs_quotactl,
};

VFS_SET(zfs_vfsops, zfs, VFCF_DELEGADMIN | VFCF_JAIL
#ifdef VFCF_CROSS_COPY_FILE_RANGE
VFS_SET(zfs_vfsops, zfs,
VFCF_DELEGADMIN | VFCF_JAIL | VFCF_CROSS_COPY_FILE_RANGE);
#else
VFS_SET(zfs_vfsops, zfs, VFCF_DELEGADMIN | VFCF_JAIL);
| VFCF_CROSS_COPY_FILE_RANGE
#endif
#ifdef VFCF_FILEREVINC
| VFCF_FILEREVINC
#endif
);

/*
* We need to keep a count of active fs's.
Expand Down

0 comments on commit 3420571

Please sign in to comment.