[BACK]Return to puffs_subr.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sys / fs / puffs

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/sys/fs/puffs/puffs_subr.c between version 1.22.2.13 and 1.22.2.14

version 1.22.2.13, 2007/10/09 15:22:16 version 1.22.2.14, 2007/10/12 17:03:17
Line 106  void
Line 106  void
 puffs_parkdone_asyncbioread(struct puffs_mount *pmp,  puffs_parkdone_asyncbioread(struct puffs_mount *pmp,
         struct puffs_req *preq, void *arg)          struct puffs_req *preq, void *arg)
 {  {
         struct puffs_vnreq_read *read_argp = (void *)preq;          struct puffs_vnmsg_read *read_msg = (void *)preq;
         struct buf *bp = arg;          struct buf *bp = arg;
         size_t moved;          size_t moved;
   
         bp->b_error = checkerr(pmp, preq->preq_rv, __func__);          bp->b_error = checkerr(pmp, preq->preq_rv, __func__);
         if (bp->b_error == 0) {          if (bp->b_error == 0) {
                 moved = bp->b_bcount - read_argp->pvnr_resid;                  moved = bp->b_bcount - read_msg->pvnr_resid;
                 bp->b_resid = read_argp->pvnr_resid;                  bp->b_resid = read_msg->pvnr_resid;
   
                 memcpy(bp->b_data, read_argp->pvnr_data, moved);                  memcpy(bp->b_data, read_msg->pvnr_data, moved);
         }          }
   
         biodone(bp);          biodone(bp);
         free(preq, M_PUFFS);  
 }  }
   
 /* XXX: userspace can leak kernel resources */  /* XXX: userspace can leak kernel resources */
 void  void
 puffs_parkdone_poll(struct puffs_mount *pmp, struct puffs_req *preq, void *arg)  puffs_parkdone_poll(struct puffs_mount *pmp, struct puffs_req *preq, void *arg)
 {  {
         struct puffs_vnreq_poll *poll_argp = (void *)preq;          struct puffs_vnmsg_poll *poll_msg = (void *)preq;
         struct puffs_node *pn = arg;          struct puffs_node *pn = arg;
         int revents, error;          int revents, error;
   
         error = checkerr(pmp, preq->preq_rv, __func__);          error = checkerr(pmp, preq->preq_rv, __func__);
         if (error)          if (error)
                 revents = poll_argp->pvnr_events;                  revents = poll_msg->pvnr_events;
         else          else
                 revents = POLLERR;                  revents = POLLERR;
   
Line 141  puffs_parkdone_poll(struct puffs_mount *
Line 140  puffs_parkdone_poll(struct puffs_mount *
         mutex_exit(&pn->pn_mtx);          mutex_exit(&pn->pn_mtx);
   
         selnotify(&pn->pn_sel, 0);          selnotify(&pn->pn_sel, 0);
         free(preq, M_PUFFS);  
   
         puffs_releasenode(pn);          puffs_releasenode(pn);
 }  }

Legend:
Removed from v.1.22.2.13  
changed lines
  Added in v.1.22.2.14

CVSweb <webmaster@jp.NetBSD.org>