Lines Matching refs:node
13 Node *node; /* path to remote file */ member
220 ff->node = nil; in newfid()
335 f->node = remroot; in rattach()
336 rhdr.qid = f->node->d->qid; in rattach()
348 Node *node; in rwalk() local
357 nf->node = f->node; in rwalk()
364 node = f->node; in rwalk()
369 if((node->d->qid.type & QTDIR) == 0){ in rwalk()
375 rhdr.wqid[i] = node->d->qid; in rwalk()
380 node = node->parent; in rwalk()
385 invalidate(node); in rwalk()
386 readdir(node); in rwalk()
391 if((os == Tops || os == VM || os == VMS) && node == remroot){ in rwalk()
394 node = np; in rwalk()
403 node = extendpath(node, s_copy(elems[i])); in rwalk()
404 if(ISCACHED(node->parent)){ in rwalk()
406 if(!ISVALID(node)){ in rwalk()
410 if(node->parent->chdirunknown || (node->d->mode & DMSYML)) in rwalk()
411 fixsymbolic(node); in rwalk()
412 } else if(!ISVALID(node)){ in rwalk()
414 if(changedir(node) == 0){ in rwalk()
415 node->d->qid.type = QTDIR; in rwalk()
416 node->d->mode |= DMDIR; in rwalk()
418 node->d->qid.type = QTFILE; in rwalk()
419 node->d->mode &= ~DMDIR; in rwalk()
436 f->node = node; in rwalk()
447 if(f->node->d->qid.type & QTDIR) in ropen()
452 uncache(f->node); in ropen()
453 uncache(f->node->parent); in ropen()
454 filedirty(f->node); in ropen()
457 if(!ISCACHED(f->node)){ in ropen()
458 filefree(f->node); in ropen()
459 if(f->node->d->qid.type & QTDIR){ in ropen()
460 invalidate(f->node); in ropen()
461 if(readdir(f->node) < 0) in ropen()
464 if(readfile(f->node) < 0) in ropen()
467 CACHED(f->node); in ropen()
471 rhdr.qid = f->node->d->qid; in ropen()
473 f->node->opens++; in ropen()
482 if((f->node->d->qid.type&QTDIR) == 0) in rcreate()
486 f->node = extendpath(f->node, s_copy(name)); in rcreate()
487 uncache(f->node); in rcreate()
489 if(createdir(f->node) < 0) in rcreate()
492 filedirty(f->node); in rcreate()
493 invalidate(f->node->parent); in rcreate()
494 uncache(f->node->parent); in rcreate()
496 rhdr.qid = f->node->d->qid; in rcreate()
498 f->node->opens++; in rcreate()
515 if(f->node->d->qid.type & QTDIR){ in rread()
517 for(np = f->node->children; np != nil; np = np->sibs){ in rread()
537 if(!ISCACHED(f->node)) in rread()
538 if(readfile(f->node) < 0) in rread()
540 CACHED(f->node); in rread()
541 rv = fileread(f->node, (char*)mbuf, off, cnt); in rread()
557 if(f->node->d->qid.type & QTDIR) in rwrite()
563 cnt = filewrite(f->node, thdr.data, off, cnt); in rwrite()
566 filedirty(f->node); in rwrite()
574 if(fileisdirty(f->node)){ in rclunk()
575 if(createfile(f->node) < 0) in rclunk()
576 fprint(2, "ftpfs: couldn't create %s\n", f->node->d->name); in rclunk()
577 fileclean(f->node); in rclunk()
578 uncache(f->node); in rclunk()
582 f->node->opens--; in rclunk()
596 if(QTDIR & f->node->d->qid.type){ in rremove()
597 if(removedir(f->node) < 0) in rremove()
600 if(removefile(f->node) < 0) in rremove()
603 uncache(f->node->parent); in rremove()
604 uncache(f->node); in rremove()
606 INVALID(f->node); in rremove()
616 p = f->node->parent; in rstat()
622 if(!ISVALID(f->node)) in rstat()
625 fixsymbolic(f->node); in rstat()
626 rhdr.nstat = convD2M(f->node->d, mbuf, messagesize-IOHDRSZ); in rstat()
764 invalidate(Node *node) in invalidate() argument
768 if(node->opens) in invalidate()
771 uncachedir(node, 0); in invalidate()
774 for(np = node->children; np; np = np->sibs){ in invalidate()
813 fixsymbolic(Node *node) in fixsymbolic() argument
815 if(changedir(node) == 0){ in fixsymbolic()
816 node->d->mode |= DMDIR; in fixsymbolic()
817 node->d->qid.type = QTDIR; in fixsymbolic()
819 node->d->qid.type = QTFILE; in fixsymbolic()
820 node->d->mode &= ~DMSYML; in fixsymbolic()