10 static Fsys *(*opentab[])(Disk*) =
24 for(i=0; i<nelem(opentab); i++)
25 if((fsys = (*opentab[i])(disk)) != nil)
31 fsysreadblock(Fsys *fsys, u64int blockno)
33 if(!fsys->_readblock){
34 werrstr("no read dispatch function");
37 return (*fsys->_readblock)(fsys, blockno);
43 if(disksync(fsys->disk) < 0)
47 return (*fsys->_sync)(fsys);
54 fprint(2, "no fsysClose\n");
57 (*fsys->_close)(fsys);
61 fsysroot(Fsys *fsys, Nfs3Handle *h)
65 return (*fsys->_root)(fsys, h);
69 fsyslookup(Fsys *fsys, SunAuthUnix *au, Nfs3Handle *h, char *name, Nfs3Handle *nh)
73 return (*fsys->_lookup)(fsys, au, h, name, nh);
77 fsysgetattr(Fsys *fsys, SunAuthUnix *au, Nfs3Handle *h, Nfs3Attr *attr)
81 return (*fsys->_getattr)(fsys, au, h, attr);
85 fsysreaddir(Fsys *fsys, SunAuthUnix *au, Nfs3Handle *h, u32int count, u64int cookie, uchar **e, u32int *ne, u1int *peof)
89 return (*fsys->_readdir)(fsys, au, h, count, cookie, e, ne, peof);
93 fsysreadfile(Fsys *fsys, SunAuthUnix *au, Nfs3Handle *h, u32int count, u64int offset, uchar **data, u32int *pcount, uchar *peof)
97 return (*fsys->_readfile)(fsys, au, h, count, offset, data, pcount, peof);
101 fsysreadlink(Fsys *fsys, SunAuthUnix *au, Nfs3Handle *h, char **plink)
105 return (*fsys->_readlink)(fsys, au, h, plink);
109 fsysaccess(Fsys *fsys, SunAuthUnix *au, Nfs3Handle *h, u32int want, u32int *got, Nfs3Attr *attr)
113 return (*fsys->_access)(fsys, au, h, want, got, attr);