sfs 47 kern/fs/sfs/sfs_fs.c #define SFS_FS_BITMAPSIZE(sfs) SFS_BITMAPSIZE((sfs)->sfs_super.sp_nblocks)
sfs 48 kern/fs/sfs/sfs_fs.c #define SFS_FS_BITBLOCKS(sfs) SFS_BITBLOCKS((sfs)->sfs_super.sp_nblocks)
sfs 70 kern/fs/sfs/sfs_fs.c sfs_mapio(struct sfs_fs *sfs, enum uio_rw rw)
sfs 77 kern/fs/sfs/sfs_fs.c mapsize = SFS_FS_BITBLOCKS(sfs);
sfs 80 kern/fs/sfs/sfs_fs.c bitdata = bitmap_getdata(sfs->sfs_freemap);
sfs 90 kern/fs/sfs/sfs_fs.c result = sfs_rblock(sfs, ptr, SFS_MAP_LOCATION+j);
sfs 93 kern/fs/sfs/sfs_fs.c result = sfs_wblock(sfs, ptr, SFS_MAP_LOCATION+j);
sfs 113 kern/fs/sfs/sfs_fs.c struct sfs_fs *sfs;
sfs 149 kern/fs/sfs/sfs_fs.c sfs = fs->fs_data;
sfs 152 kern/fs/sfs/sfs_fs.c num = vnodearray_num(sfs->sfs_vnodes);
sfs 154 kern/fs/sfs/sfs_fs.c struct vnode *v = vnodearray_get(sfs->sfs_vnodes, i);
sfs 159 kern/fs/sfs/sfs_fs.c if (sfs->sfs_freemapdirty) {
sfs 160 kern/fs/sfs/sfs_fs.c result = sfs_mapio(sfs, UIO_WRITE);
sfs 165 kern/fs/sfs/sfs_fs.c sfs->sfs_freemapdirty = false;
sfs 169 kern/fs/sfs/sfs_fs.c if (sfs->sfs_superdirty) {
sfs 170 kern/fs/sfs/sfs_fs.c result = sfs_wblock(sfs, &sfs->sfs_super, SFS_SB_LOCATION);
sfs 175 kern/fs/sfs/sfs_fs.c sfs->sfs_superdirty = false;
sfs 191 kern/fs/sfs/sfs_fs.c struct sfs_fs *sfs = fs->fs_data;
sfs 195 kern/fs/sfs/sfs_fs.c ret = sfs->sfs_super.sp_volname;
sfs 210 kern/fs/sfs/sfs_fs.c struct sfs_fs *sfs = fs->fs_data;
sfs 215 kern/fs/sfs/sfs_fs.c if (vnodearray_num(sfs->sfs_vnodes) > 0) {
sfs 221 kern/fs/sfs/sfs_fs.c KASSERT(sfs->sfs_superdirty == false);
sfs 222 kern/fs/sfs/sfs_fs.c KASSERT(sfs->sfs_freemapdirty == false);
sfs 225 kern/fs/sfs/sfs_fs.c vnodearray_destroy(sfs->sfs_vnodes);
sfs 226 kern/fs/sfs/sfs_fs.c bitmap_destroy(sfs->sfs_freemap);
sfs 229 kern/fs/sfs/sfs_fs.c (void)sfs->sfs_device;
sfs 232 kern/fs/sfs/sfs_fs.c kfree(sfs);
sfs 258 kern/fs/sfs/sfs_fs.c struct sfs_fs *sfs;
sfs 286 kern/fs/sfs/sfs_fs.c sfs = kmalloc(sizeof(struct sfs_fs));
sfs 287 kern/fs/sfs/sfs_fs.c if (sfs==NULL) {
sfs 293 kern/fs/sfs/sfs_fs.c sfs->sfs_vnodes = vnodearray_create();
sfs 294 kern/fs/sfs/sfs_fs.c if (sfs->sfs_vnodes == NULL) {
sfs 295 kern/fs/sfs/sfs_fs.c kfree(sfs);
sfs 301 kern/fs/sfs/sfs_fs.c sfs->sfs_device = dev;
sfs 304 kern/fs/sfs/sfs_fs.c result = sfs_rblock(sfs, &sfs->sfs_super, SFS_SB_LOCATION);
sfs 306 kern/fs/sfs/sfs_fs.c vnodearray_destroy(sfs->sfs_vnodes);
sfs 307 kern/fs/sfs/sfs_fs.c kfree(sfs);
sfs 314 kern/fs/sfs/sfs_fs.c if (sfs->sfs_super.sp_magic != SFS_MAGIC) {
sfs 317 kern/fs/sfs/sfs_fs.c sfs->sfs_super.sp_magic,
sfs 319 kern/fs/sfs/sfs_fs.c vnodearray_destroy(sfs->sfs_vnodes);
sfs 320 kern/fs/sfs/sfs_fs.c kfree(sfs);
sfs 325 kern/fs/sfs/sfs_fs.c if (sfs->sfs_super.sp_nblocks > dev->d_blocks) {
sfs 327 kern/fs/sfs/sfs_fs.c sfs->sfs_super.sp_nblocks, dev->d_blocks);
sfs 331 kern/fs/sfs/sfs_fs.c sfs->sfs_super.sp_volname[sizeof(sfs->sfs_super.sp_volname)-1] = 0;
sfs 334 kern/fs/sfs/sfs_fs.c sfs->sfs_freemap = bitmap_create(SFS_FS_BITMAPSIZE(sfs));
sfs 335 kern/fs/sfs/sfs_fs.c if (sfs->sfs_freemap == NULL) {
sfs 336 kern/fs/sfs/sfs_fs.c vnodearray_destroy(sfs->sfs_vnodes);
sfs 337 kern/fs/sfs/sfs_fs.c kfree(sfs);
sfs 341 kern/fs/sfs/sfs_fs.c result = sfs_mapio(sfs, UIO_READ);
sfs 343 kern/fs/sfs/sfs_fs.c bitmap_destroy(sfs->sfs_freemap);
sfs 344 kern/fs/sfs/sfs_fs.c vnodearray_destroy(sfs->sfs_vnodes);
sfs 345 kern/fs/sfs/sfs_fs.c kfree(sfs);
sfs 351 kern/fs/sfs/sfs_fs.c sfs->sfs_absfs.fs_sync = sfs_sync;
sfs 352 kern/fs/sfs/sfs_fs.c sfs->sfs_absfs.fs_getvolname = sfs_getvolname;
sfs 353 kern/fs/sfs/sfs_fs.c sfs->sfs_absfs.fs_getroot = sfs_getroot;
sfs 354 kern/fs/sfs/sfs_fs.c sfs->sfs_absfs.fs_unmount = sfs_unmount;
sfs 355 kern/fs/sfs/sfs_fs.c sfs->sfs_absfs.fs_data = sfs;
sfs 358 kern/fs/sfs/sfs_fs.c sfs->sfs_superdirty = false;
sfs 359 kern/fs/sfs/sfs_fs.c sfs->sfs_freemapdirty = false;
sfs 362 kern/fs/sfs/sfs_fs.c *ret = &sfs->sfs_absfs;
sfs 48 kern/fs/sfs/sfs_io.c sfs_rwblock(struct sfs_fs *sfs, struct uio *uio)
sfs 60 kern/fs/sfs/sfs_io.c result = sfs->sfs_device->d_io(sfs->sfs_device, uio);
sfs 90 kern/fs/sfs/sfs_io.c sfs_rblock(struct sfs_fs *sfs, void *data, uint32_t block)
sfs 96 kern/fs/sfs/sfs_io.c return sfs_rwblock(sfs, &ku);
sfs 100 kern/fs/sfs/sfs_io.c sfs_wblock(struct sfs_fs *sfs, void *data, uint32_t block)
sfs 106 kern/fs/sfs/sfs_io.c return sfs_rwblock(sfs, &ku);
sfs 49 kern/fs/sfs/sfs_vnode.c static int sfs_loadvnode(struct sfs_fs *sfs, uint32_t ino, int type,
sfs 59 kern/fs/sfs/sfs_vnode.c sfs_clearblock(struct sfs_fs *sfs, uint32_t block)
sfs 63 kern/fs/sfs/sfs_vnode.c return sfs_wblock(sfs, zeros, block);
sfs 72 kern/fs/sfs/sfs_vnode.c struct sfs_fs *sfs = sv->sv_v.vn_fs->fs_data;
sfs 73 kern/fs/sfs/sfs_vnode.c int result = sfs_wblock(sfs, &sv->sv_i, sv->sv_ino);
sfs 91 kern/fs/sfs/sfs_vnode.c sfs_balloc(struct sfs_fs *sfs, uint32_t *diskblock)
sfs 95 kern/fs/sfs/sfs_vnode.c result = bitmap_alloc(sfs->sfs_freemap, diskblock);
sfs 99 kern/fs/sfs/sfs_vnode.c sfs->sfs_freemapdirty = true;
sfs 101 kern/fs/sfs/sfs_vnode.c if (*diskblock >= sfs->sfs_super.sp_nblocks) {
sfs 106 kern/fs/sfs/sfs_vnode.c return sfs_clearblock(sfs, *diskblock);
sfs 114 kern/fs/sfs/sfs_vnode.c sfs_bfree(struct sfs_fs *sfs, uint32_t diskblock)
sfs 116 kern/fs/sfs/sfs_vnode.c bitmap_unmark(sfs->sfs_freemap, diskblock);
sfs 117 kern/fs/sfs/sfs_vnode.c sfs->sfs_freemapdirty = true;
sfs 125 kern/fs/sfs/sfs_vnode.c sfs_bused(struct sfs_fs *sfs, uint32_t diskblock)
sfs 127 kern/fs/sfs/sfs_vnode.c if (diskblock >= sfs->sfs_super.sp_nblocks) {
sfs 131 kern/fs/sfs/sfs_vnode.c return bitmap_isset(sfs->sfs_freemap, diskblock);
sfs 158 kern/fs/sfs/sfs_vnode.c struct sfs_fs *sfs = sv->sv_v.vn_fs->fs_data;
sfs 179 kern/fs/sfs/sfs_vnode.c result = sfs_balloc(sfs, &block);
sfs 192 kern/fs/sfs/sfs_vnode.c if (block != 0 && !sfs_bused(sfs, block)) {
sfs 239 kern/fs/sfs/sfs_vnode.c result = sfs_balloc(sfs, &idblock);
sfs 257 kern/fs/sfs/sfs_vnode.c result = sfs_rblock(sfs, idbuf, idblock);
sfs 268 kern/fs/sfs/sfs_vnode.c result = sfs_balloc(sfs, &block);
sfs 277 kern/fs/sfs/sfs_vnode.c result = sfs_wblock(sfs, idbuf, idblock);
sfs 284 kern/fs/sfs/sfs_vnode.c if (block != 0 && !sfs_bused(sfs, block)) {
sfs 320 kern/fs/sfs/sfs_vnode.c struct sfs_fs *sfs = sv->sv_v.vn_fs->fs_data;
sfs 351 kern/fs/sfs/sfs_vnode.c result = sfs_rblock(sfs, iobuf, diskblock);
sfs 369 kern/fs/sfs/sfs_vnode.c result = sfs_wblock(sfs, iobuf, diskblock);
sfs 385 kern/fs/sfs/sfs_vnode.c struct sfs_fs *sfs = sv->sv_v.vn_fs->fs_data;
sfs 431 kern/fs/sfs/sfs_vnode.c result = sfs_rwblock(sfs, uio);
sfs 763 kern/fs/sfs/sfs_vnode.c struct sfs_fs *sfs = sv->sv_v.vn_fs->fs_data;
sfs 772 kern/fs/sfs/sfs_vnode.c result = sfs_loadvnode(sfs, ino, SFS_TYPE_INVAL, ret);
sfs 794 kern/fs/sfs/sfs_vnode.c sfs_makeobj(struct sfs_fs *sfs, int type, struct sfs_vnode **ret)
sfs 804 kern/fs/sfs/sfs_vnode.c result = sfs_balloc(sfs, &ino);
sfs 813 kern/fs/sfs/sfs_vnode.c return sfs_loadvnode(sfs, ino, type, ret);
sfs 892 kern/fs/sfs/sfs_vnode.c struct sfs_fs *sfs = v->vn_fs->fs_data;
sfs 931 kern/fs/sfs/sfs_vnode.c sfs_bfree(sfs, sv->sv_ino);
sfs 935 kern/fs/sfs/sfs_vnode.c num = vnodearray_num(sfs->sfs_vnodes);
sfs 938 kern/fs/sfs/sfs_vnode.c struct vnode *v2 = vnodearray_get(sfs->sfs_vnodes, i);
sfs 949 kern/fs/sfs/sfs_vnode.c vnodearray_remove(sfs->sfs_vnodes, ix);
sfs 1140 kern/fs/sfs/sfs_vnode.c struct sfs_fs *sfs = sv->sv_v.vn_fs->fs_data;
sfs 1161 kern/fs/sfs/sfs_vnode.c sfs_bfree(sfs, block);
sfs 1180 kern/fs/sfs/sfs_vnode.c result = sfs_rblock(sfs, idbuf, idblock);
sfs 1191 kern/fs/sfs/sfs_vnode.c sfs_bfree(sfs, idbuf[j]);
sfs 1203 kern/fs/sfs/sfs_vnode.c sfs_bfree(sfs, idblock);
sfs 1209 kern/fs/sfs/sfs_vnode.c result = sfs_wblock(sfs, idbuf, idblock);
sfs 1256 kern/fs/sfs/sfs_vnode.c struct sfs_fs *sfs = v->vn_fs->fs_data;
sfs 1279 kern/fs/sfs/sfs_vnode.c result = sfs_loadvnode(sfs, ino, SFS_TYPE_INVAL, &newguy);
sfs 1290 kern/fs/sfs/sfs_vnode.c result = sfs_makeobj(sfs, SFS_TYPE_FILE, &newguy);
sfs 1651 kern/fs/sfs/sfs_vnode.c sfs_loadvnode(struct sfs_fs *sfs, uint32_t ino, int forcetype,
sfs 1661 kern/fs/sfs/sfs_vnode.c num = vnodearray_num(sfs->sfs_vnodes);
sfs 1665 kern/fs/sfs/sfs_vnode.c v = vnodearray_get(sfs->sfs_vnodes, i);
sfs 1669 kern/fs/sfs/sfs_vnode.c if (!sfs_bused(sfs, sv->sv_ino)) {
sfs 1694 kern/fs/sfs/sfs_vnode.c if (!sfs_bused(sfs, ino)) {
sfs 1700 kern/fs/sfs/sfs_vnode.c result = sfs_rblock(sfs, &sv->sv_i, ino);
sfs 1737 kern/fs/sfs/sfs_vnode.c result = VOP_INIT(&sv->sv_v, ops, &sfs->sfs_absfs, sv);
sfs 1747 kern/fs/sfs/sfs_vnode.c result = vnodearray_add(sfs->sfs_vnodes, &sv->sv_v, NULL);
sfs 1766 kern/fs/sfs/sfs_vnode.c struct sfs_fs *sfs = fs->fs_data;
sfs 1772 kern/fs/sfs/sfs_vnode.c result = sfs_loadvnode(sfs, SFS_ROOT_LOCATION, SFS_TYPE_INVAL, &sv);
sfs 83 kern/include/sfs.h int sfs_rwblock(struct sfs_fs *sfs, struct uio *uio);
sfs 84 kern/include/sfs.h int sfs_rblock(struct sfs_fs *sfs, void *data, uint32_t block);
sfs 85 kern/include/sfs.h int sfs_wblock(struct sfs_fs *sfs, void *data, uint32_t block);