svn commit: r287886 - head/sys/sys
Steven Hartland
smh at FreeBSD.org
Thu Sep 17 00:03:56 UTC 2015
Author: smh
Date: Thu Sep 17 00:03:55 2015
New Revision: 287886
URL: https://svnweb.freebsd.org/changeset/base/287886
Log:
Fix kqueue write events for files > 2GB
Due to the use of int's for file offsets in the VOP_WRITE_(PRE|POST)
macros, kqueue write events for files greater 2GB where never fired.
This caused tail -f on a file greater 2GB to never see updates.
MFC after: 1 week
Relnotes: YES
Sponsored by: Multiplay
Modified:
head/sys/sys/vnode.h
Modified: head/sys/sys/vnode.h
==============================================================================
--- head/sys/sys/vnode.h Wed Sep 16 23:59:53 2015 (r287885)
+++ head/sys/sys/vnode.h Thu Sep 17 00:03:55 2015 (r287886)
@@ -797,7 +797,8 @@ void vop_rename_fail(struct vop_rename_a
#define VOP_WRITE_PRE(ap) \
struct vattr va; \
- int error, osize, ooffset, noffset; \
+ int error; \
+ off_t osize, ooffset, noffset; \
\
osize = ooffset = noffset = 0; \
if (!VN_KNLIST_EMPTY((ap)->a_vp)) { \
@@ -805,7 +806,7 @@ void vop_rename_fail(struct vop_rename_a
if (error) \
return (error); \
ooffset = (ap)->a_uio->uio_offset; \
- osize = va.va_size; \
+ osize = (off_t)va.va_size; \
}
#define VOP_WRITE_POST(ap, ret) \
More information about the svn-src-all
mailing list