Lines Matching refs:fsp
86 struct pcfs *fsp, /* filsystem for node */ in pc_getnode() argument
96 ASSERT(fsp->pcfs_flags & PCFS_LOCKED); in pc_getnode()
101 scluster = pc_getstartcluster(fsp, ep); in pc_getnode()
111 hp = &pcdhead[PCDHASH(fsp, scluster)]; in pc_getnode()
115 if ((fsp == VFSTOPCFS(PCTOV(pcp)->v_vfsp)) && in pc_getnode()
124 hp = &pcfhead[PCFHASH(fsp, blkno, offset)]; in pc_getnode()
128 if ((fsp == VFSTOPCFS(PCTOV(pcp)->v_vfsp)) && in pc_getnode()
159 if (IS_FAT32(fsp)) { in pc_getnode()
162 scluster = fsp->pcfs_rdirstart; in pc_getnode()
163 if (pc_fileclsize(fsp, scluster, &ncl)) { in pc_getnode()
169 pcp->pc_size = fsp->pcfs_clsize * ncl; in pc_getnode()
172 fsp->pcfs_rdirsec * fsp->pcfs_secsize; in pc_getnode()
177 if (pc_fileclsize(fsp, scluster, &ncl)) { in pc_getnode()
182 pcp->pc_size = fsp->pcfs_clsize * ncl; in pc_getnode()
188 fsp->pcfs_frefs++; in pc_getnode()
191 fsp->pcfs_nrefs++; in pc_getnode()
192 VFS_HOLD(PCFSTOVFS(fsp)); in pc_getnode()
194 vp->v_vfsp = PCFSTOVFS(fsp); in pc_getnode()
218 struct pcfs *fsp; in pc_rele() local
225 fsp = VFSTOPCFS(vp->v_vfsp); in pc_rele()
226 ASSERT(fsp->pcfs_flags & PCFS_LOCKED); in pc_rele()
256 (void) pc_syncfat(fsp); in pc_rele()
282 fsp->pcfs_frefs--; in pc_rele()
284 fsp->pcfs_nrefs--; in pc_rele()
287 if (fsp->pcfs_nrefs < 0) { in pc_rele()
290 if (fsp->pcfs_frefs < 0) { in pc_rele()
305 pc_mark_mod(struct pcfs *fsp, struct pcnode *pcp) in pc_mark_mod() argument
327 pc_mark_acc(struct pcfs *fsp, struct pcnode *pcp) in pc_mark_acc() argument
332 if (fsp->pcfs_flags & PCFS_NOATIME || PCTOV(pcp)->v_type == VDIR) in pc_mark_acc()
362 struct pcfs *fsp; in pc_truncate() local
371 fsp = VFSTOPCFS(vp->v_vfsp); in pc_truncate()
385 uint_t llcn = howmany((offset_t)length, fsp->pcfs_clsize); in pc_truncate()
392 if ((daddr_t)howmany((offset_t)pcp->pc_size, fsp->pcfs_clsize) < in pc_truncate()
403 if (pc_fileclsize(fsp, pcp->pc_scluster, &ncl)) { in pc_truncate()
408 pcp->pc_size = fsp->pcfs_clsize * ncl; in pc_truncate()
417 if (pc_blkoff(fsp, length) == 0) { in pc_truncate()
435 roundup(length, MIN(fsp->pcfs_clsize, MAXBSIZE)) - in pc_truncate()
444 howmany((offset_t)length, fsp->pcfs_clsize)); in pc_truncate()
452 pc_mark_mod(fsp, pcp); in pc_truncate()
462 struct pcfs *fsp; in pc_getentryblock() local
464 fsp = VFSTOPCFS(PCTOV(pcp)->v_vfsp); in pc_getentryblock()
465 if (pcp->pc_eblkno >= fsp->pcfs_datastart || in pc_getentryblock()
466 (pcp->pc_eblkno - fsp->pcfs_rdirstart) < in pc_getentryblock()
467 (fsp->pcfs_rdirsec & ~(fsp->pcfs_spcl - 1))) { in pc_getentryblock()
468 *bpp = bread(fsp->pcfs_xdev, in pc_getentryblock()
469 pc_dbdaddr(fsp, pcp->pc_eblkno), fsp->pcfs_clsize); in pc_getentryblock()
471 *bpp = bread(fsp->pcfs_xdev, in pc_getentryblock()
472 pc_dbdaddr(fsp, pcp->pc_eblkno), in pc_getentryblock()
473 (int)(fsp->pcfs_datastart - pcp->pc_eblkno) * in pc_getentryblock()
474 fsp->pcfs_secsize); in pc_getentryblock()
478 pc_mark_irrecov(fsp); in pc_getentryblock()
492 struct pcfs *fsp; in pc_nodesync() local
497 fsp = VFSTOPCFS(vp->v_vfsp); in pc_nodesync()
508 pc_mark_irrecov(fsp); in pc_nodesync()
531 struct pcfs *fsp; in pc_nodeupdate() local
534 fsp = VFSTOPCFS(vp->v_vfsp); in pc_nodeupdate()
535 if (IS_FAT32(fsp) && (vp->v_flag & VROOT)) { in pc_nodeupdate()
556 pc_setstartcluster(fsp, &pcp->pc_entry, pcp->pc_scluster); in pc_nodeupdate()
575 pc_verify(struct pcfs *fsp) in pc_verify() argument
580 if (!fsp || fsp->pcfs_flags & PCFS_IRRECOV) in pc_verify()
583 if (!(fsp->pcfs_flags & PCFS_NOCHK) && fsp->pcfs_fatp) { in pc_verify()
591 PC_DPRINTF1(4, "pc_verify fsp=0x%p\n", (void *)fsp); in pc_verify()
592 error = cdev_ioctl(fsp->pcfs_vfs->vfs_dev, in pc_verify()
608 pc_mark_irrecov(fsp); in pc_verify()
610 } else if (fsp->pcfs_fatjustread) { in pc_verify()
618 fsp->pcfs_fatjustread = 0; in pc_verify()
632 pc_mark_irrecov(fsp); in pc_verify()
636 if (error == 0 && fsp->pcfs_fatp == NULL) { in pc_verify()
637 error = pc_getfat(fsp); in pc_verify()
649 pc_mark_irrecov(struct pcfs *fsp) in pc_mark_irrecov() argument
651 if (!(fsp->pcfs_flags & PCFS_NOCHK)) { in pc_mark_irrecov()
652 if (pc_lockfs(fsp, 1, 0)) { in pc_mark_irrecov()
663 fsp->pcfs_flags |= PCFS_IRRECOV; in pc_mark_irrecov()
670 (void) pc_unlockfs(fsp); in pc_mark_irrecov()
678 pc_diskchanged(struct pcfs *fsp) in pc_diskchanged() argument
693 PC_DPRINTF1(1, "pc_diskchanged fsp=0x%p\n", (void *)fsp); in pc_diskchanged()
695 vfsp = PCFSTOVFS(fsp); in pc_diskchanged()
724 fsp->pcfs_nrefs --; in pc_diskchanged()
729 for (hp = pcfhead; fsp->pcfs_frefs && hp < &pcfhead[NPCHASH]; hp++) { in pc_diskchanged()
730 for (pcp = hp->pch_forw; fsp->pcfs_frefs && in pc_diskchanged()
756 fsp->pcfs_frefs--; in pc_diskchanged()
757 fsp->pcfs_nrefs--; in pc_diskchanged()
763 if (fsp->pcfs_frefs) { in pc_diskchanged()
767 if (fsp->pcfs_nrefs) { in pc_diskchanged()
773 fsp->pcfs_fatp != NULL) { in pc_diskchanged()
774 pc_invalfat(fsp); in pc_diskchanged()
776 binval(fsp->pcfs_xdev); in pc_diskchanged()