Module Name:    src
Committed By:   hannken
Date:           Sat Jan 12 10:42:09 UTC 2019

Modified Files:
        src/external/cddl/osnet/dist/uts/common/fs/zfs: dmu_send.c

Log Message:
Need FOF_UPDATE_OFFSET to update the offset on plain files.

Running "zfs send" to plain files no longer writes garbage.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 \
    src/external/cddl/osnet/dist/uts/common/fs/zfs/dmu_send.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/uts/common/fs/zfs/dmu_send.c
diff -u src/external/cddl/osnet/dist/uts/common/fs/zfs/dmu_send.c:1.2 src/external/cddl/osnet/dist/uts/common/fs/zfs/dmu_send.c:1.3
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/dmu_send.c:1.2	Mon May 28 21:05:07 2018
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/dmu_send.c	Sat Jan 12 10:42:09 2019
@@ -72,6 +72,8 @@ static int
 fo_write(struct file *fp, struct uio *uio, cred_t *cred, int flags, kthread_t *thr)
 {
 
+	if (fp->f_type == DTYPE_VNODE)
+		flags |= FOF_UPDATE_OFFSET;
 	return (*fp->f_ops->fo_write)(fp, &fp->f_offset, uio, cred, flags);
 }
 
@@ -79,6 +81,8 @@ static int
 fo_read(struct file *fp, struct uio *uio, cred_t *cred, int flags, kthread_t *thr)
 {
 
+	if (fp->f_type == DTYPE_VNODE)
+		flags |= FOF_UPDATE_OFFSET;
 	return (*fp->f_ops->fo_read)(fp, &fp->f_offset, uio, cred, flags);
 }
 #endif

Reply via email to