10 static Fsys *(*opentab[])(Disk*) =
25 for(i=0; i<nelem(opentab); i++)
26 if((fsys = (*opentab[i])(disk)) != nil)
32 fsysreadblock(Fsys *fsys, u64int blockno)
34 if(!fsys->_readblock){
35 werrstr("no read dispatch function");
38 return (*fsys->_readblock)(fsys, blockno);
44 if(disksync(fsys->disk) < 0)
48 return (*fsys->_sync)(fsys);
55 fprint(2, "no fsysClose\n");
58 (*fsys->_close)(fsys);
62 fsysroot(Fsys *fsys, Nfs3Handle *h)
66 return (*fsys->_root)(fsys, h);
70 fsyslookup(Fsys *fsys, SunAuthUnix *au, Nfs3Handle *h, char *name, Nfs3Handle *nh)
74 return (*fsys->_lookup)(fsys, au, h, name, nh);
78 fsysgetattr(Fsys *fsys, SunAuthUnix *au, Nfs3Handle *h, Nfs3Attr *attr)
82 return (*fsys->_getattr)(fsys, au, h, attr);
86 fsysreaddir(Fsys *fsys, SunAuthUnix *au, Nfs3Handle *h, u32int count, u64int cookie, uchar **e, u32int *ne, u1int *peof)
90 return (*fsys->_readdir)(fsys, au, h, count, cookie, e, ne, peof);
94 fsysreadfile(Fsys *fsys, SunAuthUnix *au, Nfs3Handle *h, u32int count, u64int offset, uchar **data, u32int *pcount, uchar *peof)
98 return (*fsys->_readfile)(fsys, au, h, count, offset, data, pcount, peof);
102 fsysreadlink(Fsys *fsys, SunAuthUnix *au, Nfs3Handle *h, char **plink)
106 return (*fsys->_readlink)(fsys, au, h, plink);
110 fsysaccess(Fsys *fsys, SunAuthUnix *au, Nfs3Handle *h, u32int want, u32int *got, Nfs3Attr *attr)
114 return (*fsys->_access)(fsys, au, h, want, got, attr);