Index: libsrc/posixio.c =================================================================== --- libsrc/posixio.c (revision 1125) +++ libsrc/posixio.c (working copy) @@ -505,6 +505,22 @@ /* copy upper half into lower half */ (void) memcpy(pxp->bf_base, middle, pxp->bf_cnt); } + else /* added to fix nofill bug */ + { + assert(pxp->bf_extent == 2 * pxp->blksz); + /* still have to page out lower half, if modified */ + if(fIsSet(pxp->bf_rflags, RGN_MODIFIED)) + { + assert(pxp->bf_refcount <= 0); + status = px_pgout(nciop, + pxp->bf_offset, + pxp->blksz, + pxp->bf_base, + &pxp->pos); + if(status != ENOERR) + return status; + } + } pxp->bf_offset = blkoffset; /* pxp->bf_extent = pxp->blksz; */