From owner-cvs-all@FreeBSD.ORG Thu Jul 7 18:17:56 2005 Return-Path: X-Original-To: cvs-all@FreeBSD.org Delivered-To: cvs-all@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 86C7A16A41C; Thu, 7 Jul 2005 18:17:56 +0000 (GMT) (envelope-from jhb@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2C2B243D4C; Thu, 7 Jul 2005 18:17:56 +0000 (GMT) (envelope-from jhb@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id j67IHuUZ081916; Thu, 7 Jul 2005 18:17:56 GMT (envelope-from jhb@repoman.freebsd.org) Received: (from jhb@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id j67IHuqv081915; Thu, 7 Jul 2005 18:17:56 GMT (envelope-from jhb) Message-Id: <200507071817.j67IHuqv081915@repoman.freebsd.org> From: John Baldwin Date: Thu, 7 Jul 2005 18:17:56 +0000 (UTC) To: src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org X-FreeBSD-CVS-Branch: HEAD Cc: Subject: cvs commit: src/lib/libc/sys Makefile.inc read.2 write.2 src/sys/compat/freebsd32 freebsd32_misc.c syscalls.master src/sys/kern sys_generic.c syscalls.master src/sys/sys syscallsubr.h uio.h X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 07 Jul 2005 18:17:56 -0000 jhb 2005-07-07 18:17:56 UTC FreeBSD src repository Modified files: lib/libc/sys Makefile.inc read.2 write.2 sys/compat/freebsd32 freebsd32_misc.c syscalls.master sys/kern sys_generic.c syscalls.master sys/sys syscallsubr.h uio.h Log: - Add two new system calls: preadv() and pwritev() which are like readv() and writev() except that they take an additional offset argument and do not change the current file position. In SAT speak: preadv:readv::pread:read and pwritev:writev::pwrite:write. - Try to reduce code duplication some by merging most of the old kern_foov() and dofilefoo() functions into new dofilefoo() functions that are called by kern_foov() and kern_pfoov(). The non-v functions now all generate a simple uio on the stack from the passed in arguments and then call kern_foov(). For example, read() now just builds a uio and calls kern_readv() and pwrite() just builds a uio and calls kern_pwritev(). PR: kern/80362 Submitted by: Marc Olzheim marcolz at stack dot nl (1) Approved by: re (scottl) MFC after: 1 week Revision Changes Path 1.113 +2 -2 src/lib/libc/sys/Makefile.inc 1.30 +25 -8 src/lib/libc/sys/read.2 1.30 +21 -6 src/lib/libc/sys/write.2 1.38 +28 -0 src/sys/compat/freebsd32/freebsd32_misc.c 1.50 +9 -2 src/sys/compat/freebsd32/syscalls.master 1.146 +198 -167 src/sys/kern/sys_generic.c 1.197 +5 -2 src/sys/kern/syscalls.master 1.31 +2 -0 src/sys/sys/syscallsubr.h 1.39 +7 -0 src/sys/sys/uio.h