Author: alfred Date: Fri Apr 30 03:10:53 2010 New Revision: 207415 URL: http://svn.freebsd.org/changeset/base/207415
Log: Do not set IO_NODELOCKED while writing to vnodes as our consumers do not lock the vnodes. Obtained from: Juniper Networks Reviewed by: jhb Modified: head/sys/kern/kern_gzio.c Modified: head/sys/kern/kern_gzio.c ============================================================================== --- head/sys/kern/kern_gzio.c Fri Apr 30 03:06:53 2010 (r207414) +++ head/sys/kern/kern_gzio.c Fri Apr 30 03:10:53 2010 (r207415) @@ -166,7 +166,7 @@ gzFile gz_open (path, mode, vp) 0 /*xflags*/, OS_CODE); if ((error = vn_rdwr(UIO_WRITE, s->file, buf, GZ_HEADER_LEN, s->outoff, - UIO_SYSSPACE, IO_NODELOCKED|IO_UNIT, curproc->p_ucred, + UIO_SYSSPACE, IO_UNIT, curproc->p_ucred, NOCRED, &resid, curthread))) { s->outoff += GZ_HEADER_LEN - resid; return destroy(s), (gzFile)Z_NULL; @@ -234,7 +234,7 @@ int ZEXPORT gzwrite (file, buf, len) s->stream.next_out = s->outbuf; vfslocked = VFS_LOCK_GIANT(s->file->v_mount); error = vn_rdwr_inchunks(UIO_WRITE, s->file, s->outbuf, Z_BUFSIZE, - curoff, UIO_SYSSPACE, IO_NODELOCKED|IO_UNIT, + curoff, UIO_SYSSPACE, IO_UNIT, curproc->p_ucred, NOCRED, &resid, curthread); VFS_UNLOCK_GIANT(vfslocked); if (error) { @@ -291,7 +291,7 @@ local int do_flush (file, flush) if (len != 0) { vfslocked = VFS_LOCK_GIANT(s->file->v_mount); error = vn_rdwr_inchunks(UIO_WRITE, s->file, s->outbuf, len, curoff, - UIO_SYSSPACE, IO_NODELOCKED|IO_UNIT, curproc->p_ucred, + UIO_SYSSPACE, IO_UNIT, curproc->p_ucred, NOCRED, &resid, curthread); VFS_UNLOCK_GIANT(vfslocked); if (error) { @@ -350,7 +350,7 @@ local void putU32 (s, x) xx = x; #endif vn_rdwr(UIO_WRITE, s->file, (caddr_t)&xx, sizeof(xx), curoff, - UIO_SYSSPACE, IO_NODELOCKED|IO_UNIT, curproc->p_ucred, + UIO_SYSSPACE, IO_UNIT, curproc->p_ucred, NOCRED, &resid, curthread); s->outoff += sizeof(xx) - resid; } _______________________________________________ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"