[Libsysio-commit] HEAD: libsysio/src file.c ioctx.c rw.c
Brought to you by:
lward
From: Lee W. <lw...@us...> - 2008-07-11 18:24:02
|
Update of /cvsroot/libsysio/libsysio/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv14678/src Modified Files: file.c ioctx.c rw.c Log Message: Complete, finally, the change to use pnodes everywhere. Not ported to the new scheme were; sockets, yod, and incore driver. Index: file.c =================================================================== RCS file: /cvsroot/libsysio/libsysio/src/file.c,v retrieving revision 1.23 retrieving revision 1.24 diff -u -w -b -B -p -r1.23 -r1.24 --- file.c 17 Jun 2008 17:18:57 -0000 1.23 +++ file.c 11 Jul 2008 18:23:57 -0000 1.24 @@ -141,7 +141,7 @@ _sysio_fcompletio(struct ioctx *ioctx, s if (ioctx->ioctx_cc <= 0) return; - assert(ioctx->ioctx_ino == fil->f_pno->p_base->pb_ino); + assert(ioctx->ioctx_pno == fil->f_pno); off = fil->f_pos + ioctx->ioctx_cc; if (fil->f_pos && off <= fil->f_pos) abort(); Index: ioctx.c =================================================================== RCS file: /cvsroot/libsysio/libsysio/src/ioctx.c,v retrieving revision 1.28 retrieving revision 1.29 diff -u -w -b -B -p -r1.28 -r1.29 --- ioctx.c 17 Jun 2008 17:18:57 -0000 1.28 +++ ioctx.c 11 Jul 2008 18:23:57 -0000 1.29 @@ -116,11 +116,7 @@ _sysio_ioctx_new(struct pnode *pno, if (!ioctx) return NULL; -#ifdef not_yet P_REF(pno); -#else - I_REF(pno->p_base->pb_ino); -#endif IOCTX_INIT(ioctx, 0, @@ -190,17 +186,10 @@ _sysio_ioctx_done(struct ioctx *ioctx) if (ioctx->ioctx_done) return 1; -#ifdef not_yet P_GET(ioctx->ioctx_pno); - if (PNOP_IODONE(ioctx->ioctx_pno, ioctx)) + if (PNOP_IODONE(ioctx)) ioctx->ioctx_done = 1; P_PUT(ioctx->ioctx_pno); -#else - I_GET(ioctx->ioctx_ino); - if ((*ioctx->ioctx_ino->i_ops.inop_iodone)(ioctx)) - ioctx->ioctx_done = 1; - I_PUT(ioctx->ioctx_ino); -#endif return (int )ioctx->ioctx_done; } @@ -278,10 +267,6 @@ _sysio_ioctx_complete(struct ioctx *ioct if (ioctx->ioctx_fast) return; -#ifdef not_yet P_RELE(ioctx->ioctx_pno); -#else - I_RELE(ioctx->ioctx_ino); -#endif free(ioctx); } Index: rw.c =================================================================== RCS file: /cvsroot/libsysio/libsysio/src/rw.c,v retrieving revision 1.29 retrieving revision 1.30 diff -u -w -b -B -p -r1.29 -r1.30 --- rw.c 17 Jun 2008 17:18:57 -0000 1.29 +++ rw.c 11 Jul 2008 18:23:57 -0000 1.30 @@ -64,7 +64,7 @@ typedef enum { READ, WRITE } direction; * Post some IO operation. */ static int -_sysio_post_io(int (*f)(struct inode *ino, struct ioctx *ioctx), +_sysio_post_io(int (*f)(struct ioctx *ioctx), struct pnode *pno, const struct iovec *iov, size_t iov_count, void (*release_iov)(struct ioctx *, void *), @@ -106,7 +106,7 @@ _sysio_post_io(int (*f)(struct inode *in /* * Post the op. */ - err = INOP_CALL(f, pno->p_base->pb_ino, ioctx); + err = INOP_CALL(f, ioctx); } while (0); if (!err) { *ioctxp = ioctx; @@ -137,7 +137,7 @@ free_arg(struct ioctx *ioctx __IS_UNUSED * Post simple asynch, internal, IO operation. */ static int -_do_p_aio(int (*f)(struct inode *ino, struct ioctx *ioctx), +_do_p_aio(int (*f)(struct ioctx *ioctx), struct pnode *pno, _SYSIO_OFF_T off, void *buf, @@ -215,7 +215,7 @@ _sysio_iiox(int writing, { int err; ssize_t cc; - int (*f)(struct inode *, struct ioctx *); + int (*f)(struct ioctx *); err = 0; do { |