/src/sys/ufs/chfs/ |
chfs_erase.c | 48 chfs_remap_leb(struct chfs_mount *chmp) 55 KASSERT(!rw_write_held(&chmp->chm_lock_wbuf)); 56 KASSERT(mutex_owned(&chmp->chm_lock_mountfields)); 57 KASSERT(mutex_owned(&chmp->chm_lock_sizes)); 59 if (!chmp->chm_nr_erasable_blocks) { 66 if (!TAILQ_EMPTY(&chmp->chm_erasable_pending_wbuf_queue)) { 67 cheb = TAILQ_FIRST(&chmp->chm_erasable_pending_wbuf_queue); 68 TAILQ_REMOVE(&chmp->chm_erasable_pending_wbuf_queue, cheb, queue); 69 if (chmp->chm_wbuf_len) { 70 mutex_exit(&chmp->chm_lock_sizes) [all...] |
chfs_wbuf.c | 43 #define EB_ADDRESS(x) ( rounddown((x), chmp->chm_ebh->eb_size) ) 45 #define PAGE_DIV(x) ( rounddown((x), chmp->chm_wbuf_pagesize) ) 46 #define PAGE_MOD(x) ( (x) % (chmp->chm_wbuf_pagesize) ) 59 chfs_flush_wbuf(struct chfs_mount *chmp, int pad) 66 KASSERT(mutex_owned(&chmp->chm_lock_mountfields)); 67 KASSERT(mutex_owned(&chmp->chm_lock_sizes)); 68 KASSERT(rw_write_held(&chmp->chm_lock_wbuf)); 73 chmp->chm_wbuf_len = PAD(chmp->chm_wbuf_len); 74 memset(chmp->chm_wbuf + chmp->chm_wbuf_len, 0 [all...] |
chfs_build.c | 42 chfs_calc_trigger_levels(struct chfs_mount *chmp) 46 chmp->chm_resv_blocks_deletion = 2; 48 size = chmp->chm_ebh->flash_size / 50; /* 2% of flash size */ 49 size += chmp->chm_ebh->peb_nr * 100; 50 size += chmp->chm_ebh->eb_size - 1; 52 chmp->chm_resv_blocks_write = 53 chmp->chm_resv_blocks_deletion + (size / chmp->chm_ebh->eb_size); 54 chmp->chm_resv_blocks_gctrigger = chmp->chm_resv_blocks_write + 1 [all...] |
chfs_nodeops.c | 44 chfs_update_eb_dirty(struct chfs_mount *chmp, 47 KASSERT(mutex_owned(&chmp->chm_lock_mountfields)); 48 KASSERT(!mutex_owned(&chmp->chm_lock_sizes)); 58 mutex_enter(&chmp->chm_lock_sizes); 59 chfs_change_size_free(chmp, cheb, -size); 60 chfs_change_size_dirty(chmp, cheb, size); 61 mutex_exit(&chmp->chm_lock_sizes); 71 chfs_add_node_to_list(struct chfs_mount *chmp, 75 KASSERT(mutex_owned(&chmp->chm_lock_vnocache)); 101 chfs_mark_node_obsolete(chmp, nextref) [all...] |
chfs_gc.c | 69 chfs_gc_trigger(struct chfs_mount *chmp) 71 struct garbage_collector_thread *gc = &chmp->chm_gc_thread; 74 chfs_gc_thread_should_wake(chmp)) { 84 struct chfs_mount *chmp = data; local in function:chfs_gc_thread 85 struct garbage_collector_thread *gc = &chmp->chm_gc_thread; 89 mutex_enter(&chmp->chm_lock_mountfields); 95 if (chfs_gc_thread_should_wake(chmp)) { 96 if (chfs_gcollect_pass(chmp) == ENOSPC) { 97 mutex_exit(&chmp->chm_lock_mountfields); 108 &chmp->chm_lock_mountfields, mstohz(100)) [all...] |
chfs_write.c | 45 chfs_write_flash_vnode(struct chfs_mount *chmp, 48 KASSERT(mutex_owned(&chmp->chm_lock_mountfields)); 89 err = chfs_reserve_space_gc(chmp, CHFS_PAD(size)); 93 chfs_gc_trigger(chmp); 95 err = chfs_reserve_space_normal(chmp, 98 err = chfs_reserve_space_normal(chmp, 105 nref = chfs_alloc_node_ref(chmp->chm_nextblock); 111 mutex_enter(&chmp->chm_lock_sizes); 114 nref->nref_offset = chmp->chm_ebh->eb_size - chmp->chm_nextblock->free_size 420 struct chfs_mount *chmp = ump->um_chfs; local in function:chfs_do_link 473 struct chfs_mount *chmp = ump->um_chfs; local in function:chfs_do_unlink [all...] |
chfs_scan.c | 41 chfs_scan_make_vnode_cache(struct chfs_mount *chmp, ino_t vno) 45 KASSERT(mutex_owned(&chmp->chm_lock_vnocache)); 48 vc = chfs_vnode_cache_get(chmp, vno); 54 if (vno > chmp->chm_max_vno) { 55 chmp->chm_max_vno = vno; 61 chfs_vnode_cache_add(chmp, vc); 102 chfs_scan_check_vnode(struct chfs_mount *chmp, 105 KASSERT(mutex_owned(&chmp->chm_lock_mountfields)); 118 err = chfs_update_eb_dirty(chmp, 130 mutex_enter(&chmp->chm_lock_vnocache) [all...] |
chfs_pool.c | 61 struct chfs_mount *chmp) 66 "%s_chfs_%p", what, chmp); 71 chpp->chp_mount = chmp; 88 struct chfs_mount *chmp; local in function:chfs_pool_page_alloc 94 chmp = chpp->chp_mount; 96 pages = atomic_inc_uint_nv(&chmp->chm_pages_used); 97 if (pages >= CHFS_PAGES_MAX(chmp)) { 98 atomic_dec_uint(&chmp->chm_pages_used); 103 atomic_dec_uint(&chmp->chm_pages_used); 115 struct chfs_mount *chmp; local in function:chfs_pool_page_free [all...] |
chfs_vnode_cache.c | 53 chfs_vnode_cache_get(struct chfs_mount *chmp, ino_t vno) 57 KASSERT(mutex_owned(&chmp->chm_lock_vnocache)); 59 ret = chmp->chm_vnocache_hash[vno % VNODECACHE_SIZE]; 78 chfs_vnode_cache_add(struct chfs_mount *chmp, 83 KASSERT(mutex_owned(&chmp->chm_lock_vnocache)); 86 new->vno = ++chmp->chm_max_vno; 89 prev = &chmp->chm_vnocache_hash[new->vno % VNODECACHE_SIZE]; 100 chfs_vnode_cache_remove(struct chfs_mount *chmp, 105 KASSERT(mutex_owned(&chmp->chm_lock_vnocache)); 107 prev = &chmp->chm_vnocache_hash[old->vno % VNODECACHE_SIZE] [all...] |
chfs_vfsops.c | 120 struct chfs_mount *chmp; local in function:chfs_mount 192 chmp = ump->um_chfs; 195 chmp->chm_fsmp = mp; 215 struct chfs_mount* chmp; local in function:chfs_mountfs 253 chmp = ump->um_chfs; 256 chmp->chm_ebh = kmem_alloc(sizeof(struct chfs_ebh), KM_SLEEP); 259 err = ebh_open(chmp->chm_ebh, devvp->v_rdev); 268 chmp->chm_gbl_version = 0; 269 chmp->chm_vnocache_hash = chfs_vnocache_hash_init(); 271 chmp->chm_blocks = kmem_zalloc(chmp->chm_ebh->peb_nr 392 struct chfs_mount *chmp; local in function:chfs_unmount 471 struct chfs_mount *chmp; local in function:chfs_loadvnode 706 struct chfs_mount *chmp; local in function:chfs_statvfs [all...] |
chfs_vnode.c | 55 chfs_vnode_lookup(struct chfs_mount *chmp, ino_t vno) 60 vfs_vnode_iterator_init(chmp->chm_fsmp, &marker); 72 struct chfs_mount *chmp = ump->um_chfs; local in function:chfs_readvnode 102 err = chfs_read_leb(chmp, chvc->v->nref_lnr, buf, 144 struct chfs_mount *chmp = ump->um_chfs; local in function:chfs_readdirent 152 err = chfs_read_leb(chmp, chnr->nref_lnr, (char *)&chfdn, 171 err = chfs_read_leb(chmp, chnr->nref_lnr, fd->name, 187 chfs_add_fd_to_inode(chmp, pdir, fd); 199 struct chfs_mount* chmp = ump->um_chfs; local in function:chfs_makeinode 211 vno = ++(chmp->chm_max_vno) [all...] |
chfs_readinode.c | 141 chfs_check_td_data(struct chfs_mount *chmp, 151 KASSERT(mutex_owned(&chmp->chm_lock_mountfields)); 152 KASSERT(!mutex_owned(&chmp->chm_lock_sizes)); 161 err = chfs_read_leb(chmp, nref->nref_lnr, buf, ofs, len, &retlen); 186 mutex_enter(&chmp->chm_lock_sizes); 187 chfs_change_size_unchecked(chmp, &chmp->chm_blocks[nref->nref_lnr], -totlen); 188 chfs_change_size_used(chmp, &chmp->chm_blocks[nref->nref_lnr], totlen); 189 mutex_exit(&chmp->chm_lock_sizes) [all...] |
chfs_vnops.c | 62 struct chfs_mount* chmp; local in function:chfs_lookup 99 chmp = ump->um_chfs; 101 ip->ino = ++chmp->chm_max_vno; 103 mutex_enter(&chmp->chm_lock_vnocache); 104 chvc = chfs_vnode_cache_get(chmp, ip->ino); 105 mutex_exit(&chmp->chm_lock_vnocache); 225 struct chfs_mount *chmp; local in function:chfs_mknod 233 chmp = ump->um_chfs; 287 mutex_enter(&chmp->chm_lock_mountfields); 289 err = chfs_write_flash_dnode(chmp, vp, bp, fd) 460 struct chfs_mount *chmp = ump->um_chfs; local in function:chfs_setattr 626 struct chfs_mount *chmp; local in function:chfs_read 769 struct chfs_mount *chmp; local in function:chfs_write 1268 struct chfs_mount *chmp; local in function:chfs_symlink 1350 struct chfs_mount *chmp; local in function:chfs_readdir 1502 struct chfs_mount *chmp = ip->chmp; local in function:chfs_reclaim 1562 struct chfs_mount *chmp = ip->chmp; local in function:chfs_strategy [all...] |
chfs_subr.c | 197 struct chfs_mount *chmp; local in function:chfs_chsize 201 chmp = ip->chmp; 223 mutex_enter(&chmp->chm_lock_mountfields); 230 mutex_exit(&chmp->chm_lock_mountfields); 239 chfs_truncate_fragtree(ip->chmp, &ip->fragtree, size); 244 mutex_exit(&chmp->chm_lock_mountfields);
|
chfs_pool.h | 65 const char *what, struct chfs_mount *chmp);
|
chfs.h | 107 #define MAX_READ_FREE(chmp) (((chmp)->chm_ebh)->eb_size / 8) 110 #define VERY_DIRTY(chmp, size) ((size) >= (((chmp)->chm_ebh)->eb_size / 2)) 677 chfs_map_leb(struct chfs_mount *chmp, int lnr) 681 err = ebh_map_leb(chmp->chm_ebh, lnr); 691 chfs_unmap_leb(struct chfs_mount *chmp, int lnr) 695 err = ebh_unmap_leb(chmp->chm_ebh, lnr); 704 chfs_read_leb(struct chfs_mount *chmp, int lnr, char *buf, 709 err = ebh_read_leb(chmp->chm_ebh, lnr, buf, offset, len, retlen) [all...] |
chfs_inode.h | 81 struct chfs_mount *chmp; /* chfs mount point - TODO we should remove it */ member in struct:chfs_inode
|