summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-freebsd/freebsd-sources/files/freebsd-sources-8.0-zfs.patch')
-rw-r--r--sys-freebsd/freebsd-sources/files/freebsd-sources-8.0-zfs.patch23
1 files changed, 23 insertions, 0 deletions
diff --git a/sys-freebsd/freebsd-sources/files/freebsd-sources-8.0-zfs.patch b/sys-freebsd/freebsd-sources/files/freebsd-sources-8.0-zfs.patch
new file mode 100644
index 000000000000..f81b2b5bed07
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/files/freebsd-sources-8.0-zfs.patch
@@ -0,0 +1,23 @@
+Index: sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_replay.c
+===================================================================
+--- sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_replay.c (revision 200583)
++++ sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_replay.c (working copy)
+@@ -60,10 +60,14 @@ zfs_init_vattr(vattr_t *vap, uint64_t mask, uint64
+ {
+ VATTR_NULL(vap);
+ vap->va_mask = (uint_t)mask;
+- vap->va_type = IFTOVT(mode);
+- vap->va_mode = mode & MODEMASK;
+- vap->va_uid = (uid_t)(IS_EPHEMERAL(uid)) ? -1 : uid;
+- vap->va_gid = (gid_t)(IS_EPHEMERAL(gid)) ? -1 : gid;
++ if (mask & AT_TYPE)
++ vap->va_type = IFTOVT(mode);
++ if (mask & AT_MODE)
++ vap->va_mode = mode & MODEMASK;
++ if (mask & AT_UID)
++ vap->va_uid = (uid_t)(IS_EPHEMERAL(uid)) ? -1 : uid;
++ if (mask & AT_GID)
++ vap->va_gid = (gid_t)(IS_EPHEMERAL(gid)) ? -1 : gid;
+ vap->va_rdev = zfs_cmpldev(rdev);
+ vap->va_nodeid = nodeid;
+ }