[Libsysio-commit] unification: libsysio/src access.c chdir.c chmod.c chown.c dup.c fcntl.c fsync.c
Brought to you by:
lward
From: Lee W. <lw...@us...> - 2007-04-10 21:25:38
|
Update of /cvsroot/libsysio/libsysio/src In directory sc8-pr-cvs6.sourceforge.net:/tmp/cvs-serv9556/src Modified Files: Tag: unification access.c chdir.c chmod.c chown.c dup.c fcntl.c fsync.c getdirentries.c init.c ioctl.c iowait.c link.c lseek.c mkdir.c mknod.c mount.c open.c readdir.c readlink.c rename.c rmdir.c rw.c stat.c statvfs.c statvfs64.c stddir.c symlink.c truncate.c unlink.c utime.c Log Message: Modified tracing to support intrumentation of tracked formals. SYSIO_INTERFACE_ENTER additionally takes a tag and a variable number of arguments. SYSIO_INTERFACE_RETURN dditionally takes a tag and a variable number of arguments. Be aware, the return code and error number are implicitly passed. Index: access.c =================================================================== RCS file: /cvsroot/libsysio/libsysio/src/access.c,v retrieving revision 1.13 retrieving revision 1.13.2.1 diff -u -w -b -B -p -r1.13 -r1.13.2.1 --- access.c 1 Jun 2006 21:28:57 -0000 1.13 +++ access.c 10 Apr 2007 21:25:30 -0000 1.13.2.1 @@ -250,12 +250,12 @@ SYSIO_INTERFACE_NAME(access)(const char SYSIO_INTERFACE_DISPLAY_BLOCK; - SYSIO_INTERFACE_ENTER; + SYSIO_INTERFACE_ENTER(access, path, amode); INTENT_INIT(&intent, INT_GETATTR, NULL, NULL); err = _sysio_namei(_sysio_cwd, path, 0, &intent, &pno); if (err) - SYSIO_INTERFACE_RETURN(-1, err); + SYSIO_INTERFACE_RETURN(-1, err, access, 0); err = _sysio_ldcreds(geteuid(), getegid(), &cr); if (err < 0) goto out; @@ -263,7 +263,7 @@ SYSIO_INTERFACE_NAME(access)(const char _sysio_check_permission(pno, &cr, amode); out: P_RELE(pno); - SYSIO_INTERFACE_RETURN(err ? -1 : 0, err); + SYSIO_INTERFACE_RETURN(err ? -1 : 0, err, access, 0); } #ifdef REDSTORM Index: chdir.c =================================================================== RCS file: /cvsroot/libsysio/libsysio/src/chdir.c,v retrieving revision 1.25 retrieving revision 1.25.2.1 diff -u -w -b -B -p -r1.25 -r1.25.2.1 --- chdir.c 3 May 2006 22:34:46 -0000 1.25 +++ chdir.c 10 Apr 2007 21:25:30 -0000 1.25.2.1 @@ -124,15 +124,15 @@ SYSIO_INTERFACE_NAME(chdir)(const char * struct pnode *pno; SYSIO_INTERFACE_DISPLAY_BLOCK; - SYSIO_INTERFACE_ENTER; + SYSIO_INTERFACE_ENTER(chdir, path); err = _sysio_namei(_sysio_cwd, path, 0, NULL, &pno); if (err) - SYSIO_INTERFACE_RETURN(-1, err); + SYSIO_INTERFACE_RETURN(-1, err, chdir, 0); err = _sysio_p_chdir(pno); if (err) P_RELE(pno); - SYSIO_INTERFACE_RETURN(err ? -1 : 0, err); + SYSIO_INTERFACE_RETURN(err ? -1 : 0, err, chdir, 0); } #ifdef REDSTORM @@ -237,7 +237,7 @@ SYSIO_INTERFACE_NAME(getcwd)(char *buf, int err; SYSIO_INTERFACE_DISPLAY_BLOCK; - SYSIO_INTERFACE_ENTER; + SYSIO_INTERFACE_ENTER(getcwd, buf, size); #if DEFER_INIT_CWD if (!_sysio_cwd) { struct pnode *pno; @@ -252,7 +252,7 @@ SYSIO_INTERFACE_NAME(getcwd)(char *buf, } #endif err = _sysio_p_path(_sysio_cwd, &buf, buf ? size : 0); - SYSIO_INTERFACE_RETURN(err ? NULL : buf, err); + SYSIO_INTERFACE_RETURN(err ? NULL : buf, err, getcwd, buf, size); } #ifdef __GLIBC__ Index: chmod.c =================================================================== RCS file: /cvsroot/libsysio/libsysio/src/chmod.c,v retrieving revision 1.14.10.1 retrieving revision 1.14.10.2 diff -u -w -b -B -p -r1.14.10.1 -r1.14.10.2 --- chmod.c 5 Feb 2007 15:54:27 -0000 1.14.10.1 +++ chmod.c 10 Apr 2007 21:25:30 -0000 1.14.10.2 @@ -75,14 +75,14 @@ SYSIO_INTERFACE_NAME(chmod)(const char * struct pnode *pno; SYSIO_INTERFACE_DISPLAY_BLOCK; - SYSIO_INTERFACE_ENTER; + SYSIO_INTERFACE_ENTER(chmod, path, mode); err = _sysio_namei(_sysio_cwd, path, 0, NULL, &pno); if (err) goto out; err = do_chmod(pno, mode); P_RELE(pno); out: - SYSIO_INTERFACE_RETURN(err ? -1 : 0, err); + SYSIO_INTERFACE_RETURN(err ? -1 : 0, err, chmod, 0); } #ifdef REDSTORM @@ -98,7 +98,7 @@ SYSIO_INTERFACE_NAME(fchmod)(int fd, mod struct file *fil; SYSIO_INTERFACE_DISPLAY_BLOCK; - SYSIO_INTERFACE_ENTER; + SYSIO_INTERFACE_ENTER(fchmod, fd, mode); err = 0; fil = _sysio_fd_find(fd); if (!fil) { @@ -108,7 +108,7 @@ SYSIO_INTERFACE_NAME(fchmod)(int fd, mod err = do_chmod(fil->f_pno, mode); out: - SYSIO_INTERFACE_RETURN(err ? -1 : 0, err); + SYSIO_INTERFACE_RETURN(err ? -1 : 0, err, fchmod, 0); } #ifdef REDSTORM Index: chown.c =================================================================== RCS file: /cvsroot/libsysio/libsysio/src/chown.c,v retrieving revision 1.13.10.1 retrieving revision 1.13.10.2 diff -u -w -b -B -p -r1.13.10.1 -r1.13.10.2 --- chown.c 5 Feb 2007 15:54:27 -0000 1.13.10.1 +++ chown.c 10 Apr 2007 21:25:30 -0000 1.13.10.2 @@ -82,7 +82,7 @@ SYSIO_INTERFACE_NAME(chown)(const char * struct pnode *pno; SYSIO_INTERFACE_DISPLAY_BLOCK; - SYSIO_INTERFACE_ENTER; + SYSIO_INTERFACE_ENTER(chown, path, owner, group); err = _sysio_namei(_sysio_cwd, path, 0, NULL, &pno); if (err) goto out; @@ -90,7 +90,7 @@ SYSIO_INTERFACE_NAME(chown)(const char * err = _do_chown(pno, owner, group); P_RELE(pno); out: - SYSIO_INTERFACE_RETURN(err ? -1 : 0, err); + SYSIO_INTERFACE_RETURN(err ? -1 : 0, err, chown, 0); } #ifdef REDSTORM @@ -106,7 +106,7 @@ SYSIO_INTERFACE_NAME(fchown)(int fd, uid struct file *fil; SYSIO_INTERFACE_DISPLAY_BLOCK; - SYSIO_INTERFACE_ENTER; + SYSIO_INTERFACE_ENTER(fchown, fd, owner, group); err = 0; fil = _sysio_fd_find(fd); if (!fil) { @@ -116,7 +116,7 @@ SYSIO_INTERFACE_NAME(fchown)(int fd, uid err = _do_chown(fil->f_pno, owner, group); out: - SYSIO_INTERFACE_RETURN(err ? -1 : 0, err); + SYSIO_INTERFACE_RETURN(err ? -1 : 0, err, fchown, 0); } #ifdef REDSTORM Index: dup.c =================================================================== RCS file: /cvsroot/libsysio/libsysio/src/dup.c,v retrieving revision 1.12 retrieving revision 1.12.4.1 diff -u -w -b -B -p -r1.12 -r1.12.4.1 --- dup.c 16 Jun 2005 21:01:14 -0000 1.12 +++ dup.c 10 Apr 2007 21:25:30 -0000 1.12.4.1 @@ -56,11 +56,11 @@ SYSIO_INTERFACE_NAME(dup2)(int oldfd, in int fd; SYSIO_INTERFACE_DISPLAY_BLOCK; - SYSIO_INTERFACE_ENTER; + SYSIO_INTERFACE_ENTER(dup2, oldfd, newfd); if (newfd < 0) - SYSIO_INTERFACE_RETURN(-1, -EBADF); + SYSIO_INTERFACE_RETURN(-1, -EBADF, dup2, 0); fd = _sysio_fd_dup(oldfd, newfd, 1); - SYSIO_INTERFACE_RETURN(fd < 0 ? -1 : fd, fd < 0 ? fd : 0); + SYSIO_INTERFACE_RETURN(fd < 0 ? -1 : fd, fd < 0 ? fd : 0, dup2, 0); } #ifdef REDSTORM @@ -75,9 +75,9 @@ SYSIO_INTERFACE_NAME(dup)(int oldfd) int fd; SYSIO_INTERFACE_DISPLAY_BLOCK; - SYSIO_INTERFACE_ENTER; + SYSIO_INTERFACE_ENTER(dup, oldfd); fd = _sysio_fd_dup(oldfd, -1, 0); - SYSIO_INTERFACE_RETURN(fd < 0 ? -1 : fd, fd < 0 ? fd : 0); + SYSIO_INTERFACE_RETURN(fd < 0 ? -1 : fd, fd < 0 ? fd : 0, dup, 0); } #ifdef __GLIBC__ Index: fcntl.c =================================================================== RCS file: /cvsroot/libsysio/libsysio/src/fcntl.c,v retrieving revision 1.25.2.1 retrieving revision 1.25.2.2 diff -u -w -b -B -p -r1.25.2.1 -r1.25.2.2 --- fcntl.c 5 Feb 2007 15:54:27 -0000 1.25.2.1 +++ fcntl.c 10 Apr 2007 21:25:31 -0000 1.25.2.2 @@ -160,7 +160,7 @@ _sysio_vfcntl(int fd, int cmd, va_list a struct file *fil; SYSIO_INTERFACE_DISPLAY_BLOCK; - SYSIO_INTERFACE_ENTER; + SYSIO_INTERFACE_ENTER(vfcntl, fd, cmd); err = 0; fil = _sysio_fd_find(fd); if (!fil) { @@ -267,7 +267,7 @@ _sysio_vfcntl(int fd, int cmd, va_list a } out: - SYSIO_INTERFACE_RETURN(rtn, err); + SYSIO_INTERFACE_RETURN(rtn, err, vfcntl, 0); } int Index: fsync.c =================================================================== RCS file: /cvsroot/libsysio/libsysio/src/fsync.c,v retrieving revision 1.8.8.1 retrieving revision 1.8.8.2 diff -u -w -b -B -p -r1.8.8.1 -r1.8.8.2 --- fsync.c 5 Feb 2007 15:54:27 -0000 1.8.8.1 +++ fsync.c 10 Apr 2007 21:25:31 -0000 1.8.8.2 @@ -58,12 +58,12 @@ SYSIO_INTERFACE_NAME(fsync)(int fd) int err; SYSIO_INTERFACE_DISPLAY_BLOCK; - SYSIO_INTERFACE_ENTER; + SYSIO_INTERFACE_ENTER(fsync, fd); fil = _sysio_fd_find(fd); if (!(fil && fil->f_pno)) - SYSIO_INTERFACE_RETURN(-1, -EBADF); + SYSIO_INTERFACE_RETURN(-1, -EBADF, fsync, 0); err = PNOP_SYNC(fil->f_pno); - SYSIO_INTERFACE_RETURN(err ? -1 : 0, err); + SYSIO_INTERFACE_RETURN(err ? -1 : 0, err, fsync, 0); } int @@ -73,10 +73,10 @@ SYSIO_INTERFACE_NAME(fdatasync)(int fd) int err; SYSIO_INTERFACE_DISPLAY_BLOCK; - SYSIO_INTERFACE_ENTER; + SYSIO_INTERFACE_ENTER(fdatasync, fd); fil = _sysio_fd_find(fd); if (!(fil && fil->f_pno)) - SYSIO_INTERFACE_RETURN(-1, -EBADF); + SYSIO_INTERFACE_RETURN(-1, -EBADF, fdatasync, 0); err = PNOP_DATASYNC(fil->f_pno); - SYSIO_INTERFACE_RETURN(err ? -1 : 0, err); + SYSIO_INTERFACE_RETURN(err ? -1 : 0, err, fdatasync, 0); } Index: getdirentries.c =================================================================== RCS file: /cvsroot/libsysio/libsysio/src/getdirentries.c,v retrieving revision 1.20.4.1 retrieving revision 1.20.4.2 diff -u -w -b -B -p -r1.20.4.1 -r1.20.4.2 --- getdirentries.c 5 Feb 2007 15:54:27 -0000 1.20.4.1 +++ getdirentries.c 10 Apr 2007 21:25:31 -0000 1.20.4.2 @@ -117,11 +117,13 @@ PREPEND(_, SYSIO_INTERFACE_NAME(getdiren ssize_t cc; SYSIO_INTERFACE_DISPLAY_BLOCK; - SYSIO_INTERFACE_ENTER; + SYSIO_INTERFACE_ENTER(getdirentries64, fd, buf, nbytes, basep); fil = _sysio_fd_find(fd); cc = filldirents(fil, buf, nbytes, basep); - SYSIO_INTERFACE_RETURN(cc < 0 ? -1 : cc, cc < 0 ? (int )cc : 0); + SYSIO_INTERFACE_RETURN(cc < 0 ? -1 : cc, + cc < 0 ? (int )cc : 0, + getdirentries64, buf, basep); } #if _LARGEFILE64_SOURCE @@ -184,7 +186,7 @@ SYSIO_INTERFACE_NAME(getdirentries)(int char *cp; SYSIO_INTERFACE_DISPLAY_BLOCK; - SYSIO_INTERFACE_ENTER; + SYSIO_INTERFACE_ENTER(getdirentries, fd, buf, nbytes, basep); fil = _sysio_fd_find(fd); count = cc = filldirents(fil, buf, nbytes, &b); @@ -244,10 +246,10 @@ SYSIO_INTERFACE_NAME(getdirentries)(int } if (cc < 0) - SYSIO_INTERFACE_RETURN(-1, cc); + SYSIO_INTERFACE_RETURN(-1, cc, getdirentries, buf, basep); cc = (char *)dp - buf; *basep = b; - SYSIO_INTERFACE_RETURN(cc, 0); + SYSIO_INTERFACE_RETURN(cc, 0, getdirentries, buf, basep); } #else /* !defined(DIRENT64_IS_NATURAL) */ sysio_sym_strong_alias(PREPEND(_, SYSIO_INTERFACE_NAME(getdirentries64), Index: init.c =================================================================== RCS file: /cvsroot/libsysio/libsysio/src/init.c,v retrieving revision 1.30.2.1 retrieving revision 1.30.2.2 diff -u -w -b -B -p -r1.30.2.1 -r1.30.2.2 --- init.c 5 Feb 2007 15:54:27 -0000 1.30.2.1 +++ init.c 10 Apr 2007 21:25:31 -0000 1.30.2.2 @@ -89,7 +89,9 @@ struct trace_callback { void (*f)(const char *file, /* callback function */ const char *func, int line, - void *data); + void *data, + int tag, + va_list ap); void *data; /* callback data */ void (*destructor)(void *data); /* data destructor */ }; @@ -321,7 +323,9 @@ _sysio_register_trace(void *q, void (*f)(const char *file, const char *func, int line, - void *data), + void *data, + int tag, + va_list ap), void *data, void (*destructor)(void *data)) { @@ -358,35 +362,46 @@ void _sysio_run_trace_q(void *q, const char *file, const char *func, - int line) + int line, + int tag, + ...) { + va_list ap, aq; struct trace_callback *tcb; + va_start(ap, tag); tcb = ((struct trace_q *)q)->tqh_first; while (tcb) { - (*tcb->f)(file, func, line, tcb->data); + va_copy(aq, ap); + (*tcb->f)(file, func, line, tcb->data, tag, ap); + va_end(aq); tcb = tcb->links.tqe_next; } + va_end(ap); } static void _sysio_trace_entry(const char *file __IS_UNUSED, const char *func, int line __IS_UNUSED, - void *data __IS_UNUSED) + void *data __IS_UNUSED, + tracing_tag tag, + va_list ap __IS_UNUSED) { - _sysio_cprintf("+ENTER+ %s\n", func); + _sysio_cprintf("+ENTER+ %s (%d)\n", func, tag); } static void _sysio_trace_exit(const char *file __IS_UNUSED, const char *func, int line __IS_UNUSED, - void *data __IS_UNUSED) + void *data __IS_UNUSED, + tracing_tag tag, + va_list ap __IS_UNUSED) { - _sysio_cprintf("+EXIT+ %s\n", func); + _sysio_cprintf("+EXIT+ %s (%d)\n", func, tag); } #endif /* defined(SYSIO_TRACING) */ @@ -639,36 +654,28 @@ do_creat(char *args) if (err) break; if (v[6].ovi_value) { - struct iovec iovec; - struct intnl_xtvec xtvec; - struct ioctx io_context; + size_t count; + struct ioctx *ioctx; /* * Deposit optional file content. */ - iovec.iov_base = v[6].ovi_value; - iovec.iov_len = strlen(v[6].ovi_value); - xtvec.xtv_off = 0; - xtvec.xtv_len = iovec.iov_len; - IOCTX_INIT(&io_context, - 1, - 1, - pno, - &iovec, 1, - &xtvec, 1); - _sysio_ioctx_enter(&io_context); + count = strlen(v[6].ovi_value); err = - PNOP_WRITE(pno, &io_context); + _sysio_p_awrite(pno, + 0, + v[6].ovi_value, + count, + &ioctx); if (!err) { ssize_t cc; - cc = _sysio_ioctx_wait(&io_context); + cc = _sysio_ioctx_wait(ioctx); if (cc < 0) err = cc; - else if ((size_t )cc != iovec.iov_len) + else if ((size_t )cc != count) err = -EIO; /* huh? */ - } else - _sysio_ioctx_complete(&io_context); + } } i = PNOP_CLOSE(pno); if (!err) Index: ioctl.c =================================================================== RCS file: /cvsroot/libsysio/libsysio/src/ioctl.c,v retrieving revision 1.12.8.1 retrieving revision 1.12.8.2 diff -u -w -b -B -p -r1.12.8.1 -r1.12.8.2 --- ioctl.c 5 Feb 2007 15:54:27 -0000 1.12.8.1 +++ ioctl.c 10 Apr 2007 21:25:31 -0000 1.12.8.2 @@ -61,7 +61,7 @@ SYSIO_INTERFACE_NAME(ioctl)(int fd, unsi va_list ap; SYSIO_INTERFACE_DISPLAY_BLOCK; - SYSIO_INTERFACE_ENTER; + SYSIO_INTERFACE_ENTER(ioctl, fd, request); err = 0; fil = _sysio_fd_find(fd); if (!fil) { @@ -74,7 +74,7 @@ SYSIO_INTERFACE_NAME(ioctl)(int fd, unsi va_end(ap); out: - SYSIO_INTERFACE_RETURN(err ? -1 : 0, err); + SYSIO_INTERFACE_RETURN(err ? -1 : 0, err, ioctl, request); } Index: iowait.c =================================================================== RCS file: /cvsroot/libsysio/libsysio/src/iowait.c,v retrieving revision 1.11 retrieving revision 1.11.4.1 diff -u -w -b -B -p -r1.11 -r1.11.4.1 --- iowait.c 25 Feb 2005 00:01:06 -0000 1.11 +++ iowait.c 10 Apr 2007 21:25:31 -0000 1.11.4.1 @@ -63,13 +63,13 @@ SYSIO_INTERFACE_NAME(iodone)(void *ioid) int rc; SYSIO_INTERFACE_DISPLAY_BLOCK; - SYSIO_INTERFACE_ENTER; + SYSIO_INTERFACE_ENTER(iodone, ioid); ioctx = _sysio_ioctx_find(ioid); if (!ioctx) - SYSIO_INTERFACE_RETURN(-1, -EINVAL); + SYSIO_INTERFACE_RETURN(-1, -EINVAL, iodone, 0); rc = _sysio_ioctx_done(ioctx); - SYSIO_INTERFACE_RETURN(rc < 0 ? -1 : rc, rc < 0 ? rc : 0); + SYSIO_INTERFACE_RETURN(rc < 0 ? -1 : rc, rc < 0 ? rc : 0, iodone, 0); } /* @@ -85,11 +85,12 @@ SYSIO_INTERFACE_NAME(iowait)(void *ioid) ssize_t cc; SYSIO_INTERFACE_DISPLAY_BLOCK; - SYSIO_INTERFACE_ENTER; + SYSIO_INTERFACE_ENTER(iowait, ioid); ioctx = _sysio_ioctx_find(ioid); if (!ioctx) - SYSIO_INTERFACE_RETURN(-1, -EINVAL); + SYSIO_INTERFACE_RETURN(-1, -EINVAL, iowait, 0); cc = _sysio_ioctx_wait(ioctx); - SYSIO_INTERFACE_RETURN(cc < 0 ? -1 : cc, cc < 0 ? (int )cc : 0); + SYSIO_INTERFACE_RETURN(cc < 0 ? -1 : cc, cc < 0 ? (int )cc : 0, + iowait, 0); } Index: link.c =================================================================== RCS file: /cvsroot/libsysio/libsysio/src/link.c,v retrieving revision 1.12.4.1 retrieving revision 1.12.4.2 diff -u -w -b -B -p -r1.12.4.1 -r1.12.4.2 --- link.c 5 Feb 2007 15:54:28 -0000 1.12.4.1 +++ link.c 10 Apr 2007 21:25:31 -0000 1.12.4.2 @@ -62,7 +62,7 @@ SYSIO_INTERFACE_NAME(link)(const char *o struct pnode *old, *new; SYSIO_INTERFACE_DISPLAY_BLOCK; - SYSIO_INTERFACE_ENTER; + SYSIO_INTERFACE_ENTER(link, oldpath, newpath); INTENT_INIT(&intent, 0, NULL, NULL); err = _sysio_namei(_sysio_cwd, oldpath, 0, &intent, &old); if (err) @@ -104,7 +104,7 @@ error2: error1: P_RELE(old); out: - SYSIO_INTERFACE_RETURN(err ? -1 : 0, err); + SYSIO_INTERFACE_RETURN(err ? -1 : 0, err, link, 0); } #ifdef REDSTORM Index: lseek.c =================================================================== RCS file: /cvsroot/libsysio/libsysio/src/lseek.c,v retrieving revision 1.27.2.1 retrieving revision 1.27.2.2 diff -u -w -b -B -p -r1.27.2.1 -r1.27.2.2 --- lseek.c 5 Feb 2007 15:54:28 -0000 1.27.2.1 +++ lseek.c 10 Apr 2007 21:25:31 -0000 1.27.2.2 @@ -128,13 +128,14 @@ SYSIO_INTERFACE_NAME(lseek64)(int fd, of off64_t off; SYSIO_INTERFACE_DISPLAY_BLOCK; - SYSIO_INTERFACE_ENTER; + SYSIO_INTERFACE_ENTER(lseek64, fd, offset, whence); fil = _sysio_fd_find(fd); if (!fil) - SYSIO_INTERFACE_RETURN((off64_t )-1, -EBADF); + SYSIO_INTERFACE_RETURN((off64_t )-1, -EBADF, lseek64, 0); off = _sysio_lseek(fil, offset, whence, _SEEK_MAX(fil)); SYSIO_INTERFACE_RETURN(off < 0 ? (off64_t )-1 : off, - off < 0 ? (int )off : 0); + off < 0 ? (int )off : 0, + lseek64, 0); } #ifdef __GLIBC__ @@ -159,16 +160,16 @@ SYSIO_INTERFACE_NAME(lseek)(int fd, off_ off_t rtn; SYSIO_INTERFACE_DISPLAY_BLOCK; - SYSIO_INTERFACE_ENTER; + SYSIO_INTERFACE_ENTER(lseek, fd, offset, whence); fil = _sysio_fd_find(fd); if (!fil) - SYSIO_INTERFACE_RETURN((off_t )-1, -EBADF); + SYSIO_INTERFACE_RETURN((off_t )-1, -EBADF, lseek, 0); off = _sysio_lseek(fil, offset, whence, LONG_MAX); if (off < 0) - SYSIO_INTERFACE_RETURN((off_t )-1, (int )off); + SYSIO_INTERFACE_RETURN((off_t )-1, (int )off, lseek, 0); rtn = (off_t )off; assert(rtn == off); - SYSIO_INTERFACE_RETURN(rtn, 0); + SYSIO_INTERFACE_RETURN(rtn, 0, lseek, 0); } #ifdef __GLIBC__ @@ -193,17 +194,21 @@ SYSIO_INTERFACE_NAME(llseek)(unsigned in /* * This is just plain goofy. */ - SYSIO_INTERFACE_ENTER; + SYSIO_INTERFACE_ENTER(llseek, + fd, + offset_high, offset_low, + result, + whence); fil = _sysio_fd_find(fd); if (!fil) - SYSIO_INTERFACE_RETURN(-1, -EBADF); + SYSIO_INTERFACE_RETURN(-1, -EBADF, llseek, NULL); #if !_LARGEFILE64_SOURCE if (offset_high) { /* * We are using 32-bit internals. This just isn't * going to work. */ - SYSIO_INTERFACE_RETURN(-1, -EOVERFLOW); + SYSIO_INTERFACE_RETURN(-1, -EOVERFLOW, llseek, NULL); } #else off = offset_high; @@ -212,9 +217,9 @@ SYSIO_INTERFACE_NAME(llseek)(unsigned in #endif off = _sysio_lseek(fil, off, whence, _SEEK_MAX(fil)); if (off < 0) - SYSIO_INTERFACE_RETURN((off_t )-1, (int )off); + SYSIO_INTERFACE_RETURN((off_t )-1, (int )off, llseek, NULL); *result = off; - SYSIO_INTERFACE_RETURN(0, 0); + SYSIO_INTERFACE_RETURN(0, 0, llseek, result); } #undef __llseek Index: mkdir.c =================================================================== RCS file: /cvsroot/libsysio/libsysio/src/mkdir.c,v retrieving revision 1.19.2.1 retrieving revision 1.19.2.2 diff -u -w -b -B -p -r1.19.2.1 -r1.19.2.2 --- mkdir.c 5 Feb 2007 15:54:28 -0000 1.19.2.1 +++ mkdir.c 10 Apr 2007 21:25:31 -0000 1.19.2.2 @@ -78,7 +78,7 @@ SYSIO_INTERFACE_NAME(mkdir)(const char * struct pnode *pno; SYSIO_INTERFACE_DISPLAY_BLOCK; - SYSIO_INTERFACE_ENTER; + SYSIO_INTERFACE_ENTER(mkdir, path, mode); INTENT_INIT(&intent, INT_CREAT, &mode, NULL); err = _sysio_namei(_sysio_cwd, path, ND_NEGOK, &intent, &pno); if (err) @@ -88,7 +88,7 @@ SYSIO_INTERFACE_NAME(mkdir)(const char * err = _sysio_mkdir(pno, mode); P_RELE(pno); out: - SYSIO_INTERFACE_RETURN(err ? -1 : 0, err); + SYSIO_INTERFACE_RETURN(err ? -1 : 0, err, mkdir, 0); } #ifdef REDSTORM Index: mknod.c =================================================================== RCS file: /cvsroot/libsysio/libsysio/src/mknod.c,v retrieving revision 1.18.2.1 retrieving revision 1.18.2.2 diff -u -w -b -B -p -r1.18.2.1 -r1.18.2.2 --- mknod.c 5 Feb 2007 15:54:28 -0000 1.18.2.1 +++ mknod.c 10 Apr 2007 21:25:31 -0000 1.18.2.2 @@ -96,7 +96,7 @@ PREPEND(__, SYSIO_INTERFACE_NAME(xmknod) struct pnode *pno; SYSIO_INTERFACE_DISPLAY_BLOCK; - SYSIO_INTERFACE_ENTER; + SYSIO_INTERFACE_ENTER(xmknod, __ver, path, mode, dev); if (__ver != _MKNOD_VER) { err = -ENOSYS; goto out; @@ -116,7 +116,7 @@ PREPEND(__, SYSIO_INTERFACE_NAME(xmknod) error: P_RELE(pno); out: - SYSIO_INTERFACE_RETURN(err ? -1 : 0, err); + SYSIO_INTERFACE_RETURN(err ? -1 : 0, err, xmknod, 0); } #ifdef REDSTORM Index: mount.c =================================================================== RCS file: /cvsroot/libsysio/libsysio/src/mount.c,v retrieving revision 1.21.4.1 retrieving revision 1.21.4.2 diff -u -w -b -B -p -r1.21.4.1 -r1.21.4.2 --- mount.c 5 Feb 2007 15:54:28 -0000 1.21.4.1 +++ mount.c 10 Apr 2007 21:25:31 -0000 1.21.4.2 @@ -351,7 +351,10 @@ SYSIO_INTERFACE_NAME(mount)(const char * int err; SYSIO_INTERFACE_DISPLAY_BLOCK; - SYSIO_INTERFACE_ENTER; + SYSIO_INTERFACE_ENTER(mount, + source, target, + filesystemtype, + mountflags); err = _sysio_mount(_sysio_cwd, source, @@ -359,7 +362,7 @@ SYSIO_INTERFACE_NAME(mount)(const char * filesystemtype, mountflags, data); - SYSIO_INTERFACE_RETURN(err ? -1 : 0, err); + SYSIO_INTERFACE_RETURN(err ? -1 : 0, err, mount, 0); } int @@ -369,7 +372,7 @@ SYSIO_INTERFACE_NAME(umount)(const char struct pnode *pno; SYSIO_INTERFACE_DISPLAY_BLOCK; - SYSIO_INTERFACE_ENTER; + SYSIO_INTERFACE_ENTER(umount, target); /* * Look up the target path node. */ @@ -391,7 +394,7 @@ SYSIO_INTERFACE_NAME(umount)(const char err = _sysio_do_unmount(pno->p_mount); out: - SYSIO_INTERFACE_RETURN(err ? -1 : 0, err); + SYSIO_INTERFACE_RETURN(err ? -1 : 0, err, umount, 0); } /* @@ -642,9 +645,8 @@ _sysio_automount(struct pnode *mntpno) { int err; struct inode *ino; - struct iovec iovec; - struct ioctx iocontext; - struct intnl_xtvec xtvec; + char *buf; + struct ioctx *ioctx; ssize_t cc; char *fstype, *source, *opts; unsigned flags; @@ -668,42 +670,27 @@ _sysio_automount(struct pnode *mntpno) */ return -EINVAL; } - iovec.iov_base = malloc(ino->i_stbuf.st_size + 1); - if (!iovec.iov_base) + buf = malloc(ino->i_stbuf.st_size + 1); + if (!buf) return -ENOMEM; - iovec.iov_len = ino->i_stbuf.st_size; err = _sysio_open(mntpno, O_RDONLY, 0); if (err) goto out; - xtvec.xtv_off = 0; - xtvec.xtv_len = ino->i_stbuf.st_size; - IOCTX_INIT(&iocontext, - 1, - 0, - mntpno, - &iovec, 1, - &xtvec, 1); - _sysio_ioctx_enter(&iocontext); - err = PNOP_READ(mntpno, &iocontext); - if (err) { - _sysio_ioctx_complete(&iocontext); - (void )PNOP_CLOSE(mntpno); - goto out; + err = _sysio_p_aread(mntpno, 0, buf, ino->i_stbuf.st_size, &ioctx); + if (!err) { + cc = _sysio_ioctx_wait(ioctx); + if (cc < 0) + err = (int )cc; } - cc = _sysio_ioctx_wait(&iocontext); - err = PNOP_CLOSE(mntpno); + (void )PNOP_CLOSE(mntpno); if (err) goto out; - if (cc < 0) { - err = (int )cc; - goto out; - } - ((char *)iovec.iov_base)[cc] = '\0'; + buf[cc] = '\0'; /* NUL terminate */ /* * Parse. */ - err = parse_automount_spec(iovec.iov_base, &fstype, &source, &opts); + err = parse_automount_spec(buf, &fstype, &source, &opts); if (err) goto out; flags = 0; @@ -733,8 +720,8 @@ _sysio_automount(struct pnode *mntpno) P_RELE(mntpno->p_parent); out: - if (iovec.iov_base) - free(iovec.iov_base); + if (buf) + free(buf); return err; } #endif Index: open.c =================================================================== RCS file: /cvsroot/libsysio/libsysio/src/open.c,v retrieving revision 1.28.2.1 retrieving revision 1.28.2.2 diff -u -w -b -B -p -r1.28.2.1 -r1.28.2.2 --- open.c 5 Feb 2007 15:54:28 -0000 1.28.2.1 +++ open.c 10 Apr 2007 21:25:31 -0000 1.28.2.2 @@ -129,7 +129,6 @@ SYSIO_INTERFACE_NAME(open)(const char *p struct file *fil; SYSIO_INTERFACE_DISPLAY_BLOCK; - SYSIO_INTERFACE_ENTER; /* * Get mode argument and determine parameters for namei */ @@ -162,6 +161,7 @@ SYSIO_INTERFACE_NAME(open)(const char *p if (flags & O_NOFOLLOW) ndflags |= ND_NOFOLLOW; #endif + SYSIO_INTERFACE_ENTER(open, path, flags, mode); /* * Find the file. @@ -192,14 +192,14 @@ SYSIO_INTERFACE_NAME(open)(const char *p P_RELE(pno); - SYSIO_INTERFACE_RETURN(rtn, 0); + SYSIO_INTERFACE_RETURN(rtn, 0, open, 0); error: if (fil) F_RELE(fil); if (pno) P_RELE(pno); - SYSIO_INTERFACE_RETURN(-1, rtn); + SYSIO_INTERFACE_RETURN(-1, rtn, open, 0); } #ifdef __GLIBC__ @@ -231,9 +231,9 @@ SYSIO_INTERFACE_NAME(close)(int fd) int err; SYSIO_INTERFACE_DISPLAY_BLOCK; - SYSIO_INTERFACE_ENTER; + SYSIO_INTERFACE_ENTER(close, fd); err = _sysio_fd_close(fd); - SYSIO_INTERFACE_RETURN(err ? -1 : 0, err); + SYSIO_INTERFACE_RETURN(err ? -1 : 0, err, close, 0); } #ifdef __GLIBC__ Index: readdir.c =================================================================== RCS file: /cvsroot/libsysio/libsysio/src/readdir.c,v retrieving revision 1.2 retrieving revision 1.2.4.1 diff -u -w -b -B -p -r1.2 -r1.2.4.1 --- readdir.c 25 Jan 2005 00:37:14 -0000 1.2 +++ readdir.c 10 Apr 2007 21:25:31 -0000 1.2.4.1 @@ -49,9 +49,6 @@ _READDIR(DIR *dir) #else int rc; #endif - SYSIO_INTERFACE_DISPLAY_BLOCK; - - SYSIO_INTERFACE_ENTER; /* need to read new data? */ rc = 0; @@ -61,7 +58,8 @@ _READDIR(DIR *dir) if (sizeof(dbase) != sizeof(dir->base) && dbase != dir->base) { dir->effective = 0; - SYSIO_INTERFACE_RETURN(NULL, -EOVERFLOW); + errno = EOVERFLOW; + return NULL; } rc = _GETDIRENTRIES(dir->fd, dir->buf, @@ -79,7 +77,7 @@ _READDIR(DIR *dir) rc = 0; if (rc <= 0) { dir->effective = 0; - SYSIO_INTERFACE_RETURN(NULL, rc); + return NULL; } dir->effective = rc; } @@ -96,7 +94,7 @@ _READDIR(DIR *dir) dir->filepos = dir->cur; #endif - SYSIO_INTERFACE_RETURN(dp, 0); + return dp; } sysio_sym_weak_alias(_READDIR, PREPEND(__,_READDIR)) @@ -113,12 +111,9 @@ _SCANDIR(const char *dirname, **s = NULL; int n = 32, i = 0; size_t desize; - SYSIO_INTERFACE_DISPLAY_BLOCK; - - SYSIO_INTERFACE_ENTER; if ((dir = SYSIO_INTERFACE_NAME(opendir)(dirname)) == NULL) - SYSIO_INTERFACE_RETURN(-1, -errno); + return -1; while ((de = _READDIR(dir)) != NULL) { if ((filter == NULL) || filter(de)) { @@ -127,12 +122,12 @@ _SCANDIR(const char *dirname, s = (_DIRENT_T **)realloc(s, (size_t )(n * sizeof(_DIRENT_T *))); if (!s) - SYSIO_INTERFACE_RETURN(-1, -ENOMEM); + return -1; } desize = &de->d_name[_D_ALLOC_NAMLEN(de)] - (char * )de; nextde = (_DIRENT_T *)malloc(desize); if (!nextde) - SYSIO_INTERFACE_RETURN(-1, -ENOMEM); + return -1; s[i++] = (_DIRENT_T *)memcpy(nextde, de, desize); } @@ -147,7 +142,7 @@ _SCANDIR(const char *dirname, SYSIO_INTERFACE_NAME(closedir)(dir); - SYSIO_INTERFACE_RETURN(i, 0); + return i; } sysio_sym_weak_alias(_SCANDIR, PREPEND(__,_SCANDIR)) Index: readlink.c =================================================================== RCS file: /cvsroot/libsysio/libsysio/src/readlink.c,v retrieving revision 1.6.8.1 retrieving revision 1.6.8.2 diff -u -w -b -B -p -r1.6.8.1 -r1.6.8.2 --- readlink.c 5 Feb 2007 15:54:28 -0000 1.6.8.1 +++ readlink.c 10 Apr 2007 21:25:31 -0000 1.6.8.2 @@ -63,7 +63,7 @@ SYSIO_INTERFACE_NAME(readlink)(const cha struct pnode *pno; SYSIO_INTERFACE_DISPLAY_BLOCK; - SYSIO_INTERFACE_ENTER; + SYSIO_INTERFACE_ENTER(readlink, path, bufsiz); INTENT_INIT(&intent, INT_GETATTR, NULL, NULL); err = _sysio_namei(_sysio_cwd, path, ND_NOFOLLOW, &intent, &pno); if (err) @@ -76,7 +76,8 @@ SYSIO_INTERFACE_NAME(readlink)(const cha error: P_RELE(pno); out: - SYSIO_INTERFACE_RETURN(err < 0 ? -1 : err, err >= 0 ? 0 : err); + SYSIO_INTERFACE_RETURN(err < 0 ? -1 : err, err >= 0 ? 0 : err, + readlink, buf); } #ifdef REDSTORM Index: rename.c =================================================================== RCS file: /cvsroot/libsysio/libsysio/src/rename.c,v retrieving revision 1.11.4.1 retrieving revision 1.11.4.2 diff -u -w -b -B -p -r1.11.4.1 -r1.11.4.2 --- rename.c 5 Feb 2007 15:54:28 -0000 1.11.4.1 +++ rename.c 10 Apr 2007 21:25:31 -0000 1.11.4.2 @@ -63,13 +63,13 @@ SYSIO_INTERFACE_NAME(rename)(const char struct pnode_base *nxtpb, *pb; SYSIO_INTERFACE_DISPLAY_BLOCK; - SYSIO_INTERFACE_ENTER; + SYSIO_INTERFACE_ENTER(rename, oldpath, newpath); /* * Neither old nor new may be the empty string. */ if (*oldpath == '\0' || *newpath == '\0') - SYSIO_INTERFACE_RETURN(-1, -ENOENT); + SYSIO_INTERFACE_RETURN(-1, -ENOENT, rename, 0); /* * Resolve oldpath to a path node. @@ -180,5 +180,5 @@ error3: goto out; _sysio_p_gone(old); /* kill it! */ out: - SYSIO_INTERFACE_RETURN(err ? -1 : 0, err); + SYSIO_INTERFACE_RETURN(err ? -1 : 0, err, rename, 0); } Index: rmdir.c =================================================================== RCS file: /cvsroot/libsysio/libsysio/src/rmdir.c,v retrieving revision 1.20.2.1 retrieving revision 1.20.2.2 diff -u -w -b -B -p -r1.20.2.1 -r1.20.2.2 --- rmdir.c 5 Feb 2007 15:54:28 -0000 1.20.2.1 +++ rmdir.c 10 Apr 2007 21:25:31 -0000 1.20.2.2 @@ -62,7 +62,7 @@ SYSIO_INTERFACE_NAME(rmdir)(const char * struct pnode *pno; SYSIO_INTERFACE_DISPLAY_BLOCK; - SYSIO_INTERFACE_ENTER; + SYSIO_INTERFACE_ENTER(rmdir, path); INTENT_INIT(&intent, INT_UPDPARENT, NULL, NULL); err = _sysio_namei(_sysio_cwd, path, 0, &intent, &pno); if (err) @@ -88,7 +88,7 @@ SYSIO_INTERFACE_NAME(rmdir)(const char * error: P_RELE(pno); out: - SYSIO_INTERFACE_RETURN(err ? -1 : 0, err); + SYSIO_INTERFACE_RETURN(err ? -1 : 0, err, rmdir, 0); } #ifdef REDSTORM Index: rw.c =================================================================== RCS file: /cvsroot/libsysio/libsysio/src/rw.c,v retrieving revision 1.16.4.1 retrieving revision 1.16.4.2 diff -u -w -b -B -p -r1.16.4.1 -r1.16.4.2 --- rw.c 5 Feb 2007 15:54:28 -0000 1.16.4.1 +++ rw.c 10 Apr 2007 21:25:31 -0000 1.16.4.2 @@ -36,7 +36,7 @@ * Lee Ward * Sandia National Laboratories, New Mexico * P.O. Box 5800 - * Albuquerque, NM 87185-1110 + * Albuquerque, NM 87185-1319 * * le...@sa... */ @@ -44,6 +44,7 @@ #include <stdlib.h> #include <unistd.h> [...1940 lines suppressed...] +SYSIO_INTERFACE_NAME(read)(int fd, void *buf, size_t count) { - SYSIO_INTERFACE_DISPLAY_BLOCK; - SYSIO_INTERFACE_ENTER; - SYSIO_INTERFACE_RETURN(-1, -ENOSYS); + return _do_io(fd, SYSIO_INTERFACE_NAME(iread), buf, count); +} + +ssize_t +SYSIO_INTERFACE_NAME(write)(int fd, const void *buf, size_t count) +{ + + return _do_io(fd, + (ioid_t (*)(int, + void *, + size_t))SYSIO_INTERFACE_NAME(iwrite), + (void *)buf, count); } -#endif Index: stat.c =================================================================== RCS file: /cvsroot/libsysio/libsysio/src/stat.c,v retrieving revision 1.17.8.1 retrieving revision 1.17.8.2 diff -u -w -b -B -p -r1.17.8.1 -r1.17.8.2 --- stat.c 5 Feb 2007 15:54:28 -0000 1.17.8.1 +++ stat.c 10 Apr 2007 21:25:31 -0000 1.17.8.2 @@ -66,7 +66,7 @@ _sysio_fxstat(int ver, int fildes, struc int err; SYSIO_INTERFACE_DISPLAY_BLOCK; - SYSIO_INTERFACE_ENTER; + SYSIO_INTERFACE_ENTER(fxstat, ver, fildes); if (ver != _STAT_VER) { err = -ENOSYS; goto out; @@ -84,7 +84,7 @@ _sysio_fxstat(int ver, int fildes, struc */ err = PNOP_GETATTR(fil->f_pno, stat_buf); out: - SYSIO_INTERFACE_RETURN(err ? -1 : 0, err); + SYSIO_INTERFACE_RETURN(err ? -1 : 0, err, fxstat, stat_buf); } static int @@ -98,7 +98,7 @@ _sysio_xstatnd(int ver, struct pnode *pno; SYSIO_INTERFACE_DISPLAY_BLOCK; - SYSIO_INTERFACE_ENTER; + SYSIO_INTERFACE_ENTER(xstatnd, ver, filename, ndflags); if (ver != _STAT_VER) { err = -ENOSYS; goto out; @@ -118,7 +118,7 @@ _sysio_xstatnd(int ver, sizeof(struct intnl_stat)); P_RELE(pno); out: - SYSIO_INTERFACE_RETURN(err ? -1 : 0, err); + SYSIO_INTERFACE_RETURN(err ? -1 : 0, err, xstatnd, stat_buf); } #if _LARGEFILE64_SOURCE Index: statvfs.c =================================================================== RCS file: /cvsroot/libsysio/libsysio/src/statvfs.c,v retrieving revision 1.12.10.1 retrieving revision 1.12.10.2 diff -u -w -b -B -p -r1.12.10.1 -r1.12.10.2 --- statvfs.c 5 Feb 2007 15:54:28 -0000 1.12.10.1 +++ statvfs.c 10 Apr 2007 21:25:31 -0000 1.12.10.2 @@ -89,7 +89,7 @@ SYSIO_INTERFACE_NAME(statvfs)(const char #endif SYSIO_INTERFACE_DISPLAY_BLOCK; - SYSIO_INTERFACE_ENTER; + SYSIO_INTERFACE_ENTER(statvfs, path); err = _sysio_namei(_sysio_cwd, path, 0, NULL, &pno); if (err) goto out; @@ -104,7 +104,7 @@ SYSIO_INTERFACE_NAME(statvfs)(const char goto out; err: out: - SYSIO_INTERFACE_RETURN(err ? -1 : 0, err); + SYSIO_INTERFACE_RETURN(err ? -1 : 0, err, statvfs, buf); } #ifdef REDSTORM @@ -126,7 +126,7 @@ SYSIO_INTERFACE_NAME(fstatvfs)(int fd, s #endif SYSIO_INTERFACE_DISPLAY_BLOCK; - SYSIO_INTERFACE_ENTER; + SYSIO_INTERFACE_ENTER(statvfs, fd); err = 0; filp = _sysio_fd_find(fd); if (!filp) { @@ -143,7 +143,7 @@ SYSIO_INTERFACE_NAME(fstatvfs)(int fd, s goto out; err: out: - SYSIO_INTERFACE_RETURN(err ? -1 : 0, err); + SYSIO_INTERFACE_RETURN(err ? -1 : 0, err, fstatvfs, buf); } #ifdef REDSTORM Index: statvfs64.c =================================================================== RCS file: /cvsroot/libsysio/libsysio/src/statvfs64.c,v retrieving revision 1.14.10.1 retrieving revision 1.14.10.2 diff -u -w -b -B -p -r1.14.10.1 -r1.14.10.2 --- statvfs64.c 5 Feb 2007 15:54:28 -0000 1.14.10.1 +++ statvfs64.c 10 Apr 2007 21:25:31 -0000 1.14.10.2 @@ -61,7 +61,7 @@ SYSIO_INTERFACE_NAME(statvfs64)(const ch struct pnode *pno; SYSIO_INTERFACE_DISPLAY_BLOCK; - SYSIO_INTERFACE_ENTER; + SYSIO_INTERFACE_ENTER(statvfs64, path); err = _sysio_namei(_sysio_cwd, path, 0, NULL, &pno); if (err) goto out; @@ -69,7 +69,7 @@ SYSIO_INTERFACE_NAME(statvfs64)(const ch err = PNOP_STATVFS(pno, buf); P_RELE(pno); out: - SYSIO_INTERFACE_RETURN(err ? -1 : 0, err); + SYSIO_INTERFACE_RETURN(err ? -1 : 0, err, statvfs64, buf); } #ifdef REDSTORM @@ -85,7 +85,7 @@ SYSIO_INTERFACE_NAME(fstatvfs64)(int fd, struct file *filp; SYSIO_INTERFACE_DISPLAY_BLOCK; - SYSIO_INTERFACE_ENTER; + SYSIO_INTERFACE_ENTER(fstatvfs64, fd, buf); err = 0; filp = _sysio_fd_find(fd); if (!filp) { @@ -95,7 +95,7 @@ SYSIO_INTERFACE_NAME(fstatvfs64)(int fd, err = PNOP_STATVFS(filp->f_pno, buf); out: - SYSIO_INTERFACE_RETURN(err ? -1 : 0, err); + SYSIO_INTERFACE_RETURN(err ? -1 : 0, err, fstatvfs64, buf); } #ifdef REDSTORM Index: stddir.c =================================================================== RCS file: /cvsroot/libsysio/libsysio/src/stddir.c,v retrieving revision 1.2 retrieving revision 1.2.4.1 diff -u -w -b -B -p -r1.2 -r1.2.4.1 --- stddir.c 25 Jan 2005 00:37:19 -0000 1.2 +++ stddir.c 10 Apr 2007 21:25:31 -0000 1.2.4.1 @@ -51,16 +51,16 @@ SYSIO_INTERFACE_NAME(opendir)(const char SYSIO_INTERFACE_DISPLAY_BLOCK; - SYSIO_INTERFACE_ENTER; + SYSIO_INTERFACE_ENTER(opendir, name); dir = (DIR * )calloc(1, sizeof(DIR)); if (!dir) - SYSIO_INTERFACE_RETURN(NULL, -ENOMEM); + SYSIO_INTERFACE_RETURN(NULL, -ENOMEM, opendir, 0); dir->fd = SYSIO_INTERFACE_NAME(open)(name, O_RDONLY); if (dir->fd < 0) { free(dir); - SYSIO_INTERFACE_RETURN(NULL, -errno); + SYSIO_INTERFACE_RETURN(NULL, -errno, opendir, 0); } return dir; } @@ -74,12 +74,12 @@ SYSIO_INTERFACE_NAME(closedir)(DIR *dir) int rc; SYSIO_INTERFACE_DISPLAY_BLOCK; - SYSIO_INTERFACE_ENTER; + SYSIO_INTERFACE_ENTER(closedir, dir); rc = SYSIO_INTERFACE_NAME(close)(dir->fd); free(dir); - SYSIO_INTERFACE_RETURN(rc, 0); + SYSIO_INTERFACE_RETURN(rc, 0, closedir, 0); } sysio_sym_weak_alias(SYSIO_INTERFACE_NAME(closedir), Index: symlink.c =================================================================== RCS file: /cvsroot/libsysio/libsysio/src/symlink.c,v retrieving revision 1.16.2.1 retrieving revision 1.16.2.2 diff -u -w -b -B -p -r1.16.2.1 -r1.16.2.2 --- symlink.c 5 Feb 2007 15:54:28 -0000 1.16.2.1 +++ symlink.c 10 Apr 2007 21:25:31 -0000 1.16.2.2 @@ -62,7 +62,7 @@ SYSIO_INTERFACE_NAME(symlink)(const char struct pnode *pno; SYSIO_INTERFACE_DISPLAY_BLOCK; - SYSIO_INTERFACE_ENTER; + SYSIO_INTERFACE_ENTER(symlink, oldpath, newpath); INTENT_INIT(&intent, INT_CREAT, NULL, NULL); err = _sysio_namei(_sysio_cwd, @@ -84,7 +84,7 @@ SYSIO_INTERFACE_NAME(symlink)(const char error: P_RELE(pno); out: - SYSIO_INTERFACE_RETURN(err ? -1 : 0, err); + SYSIO_INTERFACE_RETURN(err ? -1 : 0, err, symlink, 0); } #ifdef REDSTORM Index: truncate.c =================================================================== RCS file: /cvsroot/libsysio/libsysio/src/truncate.c,v retrieving revision 1.14.2.1 retrieving revision 1.14.2.2 diff -u -w -b -B -p -r1.14.2.1 -r1.14.2.2 --- truncate.c 5 Feb 2007 15:54:28 -0000 1.14.2.1 +++ truncate.c 10 Apr 2007 21:25:31 -0000 1.14.2.2 @@ -91,7 +91,7 @@ PREPEND(_, SYSIO_INTERFACE_NAME(truncate struct pnode *pno; SYSIO_INTERFACE_DISPLAY_BLOCK; - SYSIO_INTERFACE_ENTER; + SYSIO_INTERFACE_ENTER(truncate, path, length); err = _sysio_namei(_sysio_cwd, path, 0, NULL, &pno); if (err) goto out; @@ -99,7 +99,7 @@ PREPEND(_, SYSIO_INTERFACE_NAME(truncate P_RELE(pno); out: - SYSIO_INTERFACE_RETURN(err ? -1 : 0, err); + SYSIO_INTERFACE_RETURN(err ? -1 : 0, err, truncate, 0); } #if _LARGEFILE64_SOURCE @@ -127,7 +127,7 @@ PREPEND(_, SYSIO_INTERFACE_NAME(ftruncat struct file *fil; SYSIO_INTERFACE_DISPLAY_BLOCK; - SYSIO_INTERFACE_ENTER; + SYSIO_INTERFACE_ENTER(ftruncate, fd, length); err = 0; fil = _sysio_fd_find(fd); if (!fil) { @@ -139,7 +139,7 @@ PREPEND(_, SYSIO_INTERFACE_NAME(ftruncat goto out; err = do_truncate(fil->f_pno, length); out: - SYSIO_INTERFACE_RETURN(err ? -1 : 0, err); + SYSIO_INTERFACE_RETURN(err ? -1 : 0, err, ftruncate, 0); } #if _LARGEFILE64_SOURCE Index: unlink.c =================================================================== RCS file: /cvsroot/libsysio/libsysio/src/unlink.c,v retrieving revision 1.18.2.1 retrieving revision 1.18.2.2 diff -u -w -b -B -p -r1.18.2.1 -r1.18.2.2 --- unlink.c 5 Feb 2007 15:54:28 -0000 1.18.2.1 +++ unlink.c 10 Apr 2007 21:25:31 -0000 1.18.2.2 @@ -62,7 +62,7 @@ SYSIO_INTERFACE_NAME(unlink)(const char struct pnode *pno; SYSIO_INTERFACE_DISPLAY_BLOCK; - SYSIO_INTERFACE_ENTER; + SYSIO_INTERFACE_ENTER(unlink, path); INTENT_INIT(&intent, INT_UPDPARENT, NULL, NULL); err = _sysio_namei(_sysio_cwd, path, ND_NOFOLLOW, &intent, &pno); if (err) @@ -83,7 +83,7 @@ SYSIO_INTERFACE_NAME(unlink)(const char error: P_RELE(pno); out: - SYSIO_INTERFACE_RETURN(err ? -1 : 0, err); + SYSIO_INTERFACE_RETURN(err ? -1 : 0, err, unlink, 0); } #ifdef REDSTORM Index: utime.c =================================================================== RCS file: /cvsroot/libsysio/libsysio/src/utime.c,v retrieving revision 1.7.8.1 retrieving revision 1.7.8.2 diff -u -w -b -B -p -r1.7.8.1 -r1.7.8.2 --- utime.c 5 Feb 2007 15:54:28 -0000 1.7.8.1 +++ utime.c 10 Apr 2007 21:25:31 -0000 1.7.8.2 @@ -76,7 +76,7 @@ SYSIO_INTERFACE_NAME(utime)(const char * struct intnl_stat stbuf; SYSIO_INTERFACE_DISPLAY_BLOCK; - SYSIO_INTERFACE_ENTER; + SYSIO_INTERFACE_ENTER(utime, path); err = _sysio_namei(_sysio_cwd, path, 0, NULL, &pno); if (err) goto out; @@ -91,5 +91,5 @@ SYSIO_INTERFACE_NAME(utime)(const char * _sysio_setattr(pno, SETATTR_ATIME | SETATTR_MTIME, &stbuf); P_RELE(pno); out: - SYSIO_INTERFACE_RETURN(err ? -1 : 0, err); + SYSIO_INTERFACE_RETURN(err ? -1 : 0, err, utime, buf); } |