Lines Matching refs:block
27 static int afs_find_contig_bits(union afs_xdr_dir_block *block, unsigned int nr_slots) in afs_find_contig_bits() argument
33 bitmap = (u64)block->hdr.bitmap[0] << 0 * 8; in afs_find_contig_bits()
34 bitmap |= (u64)block->hdr.bitmap[1] << 1 * 8; in afs_find_contig_bits()
35 bitmap |= (u64)block->hdr.bitmap[2] << 2 * 8; in afs_find_contig_bits()
36 bitmap |= (u64)block->hdr.bitmap[3] << 3 * 8; in afs_find_contig_bits()
37 bitmap |= (u64)block->hdr.bitmap[4] << 4 * 8; in afs_find_contig_bits()
38 bitmap |= (u64)block->hdr.bitmap[5] << 5 * 8; in afs_find_contig_bits()
39 bitmap |= (u64)block->hdr.bitmap[6] << 6 * 8; in afs_find_contig_bits()
40 bitmap |= (u64)block->hdr.bitmap[7] << 7 * 8; in afs_find_contig_bits()
72 static void afs_set_contig_bits(union afs_xdr_dir_block *block, in afs_set_contig_bits() argument
80 before = *(u64 *)block->hdr.bitmap; in afs_set_contig_bits()
82 block->hdr.bitmap[0] |= (u8)(mask >> 0 * 8); in afs_set_contig_bits()
83 block->hdr.bitmap[1] |= (u8)(mask >> 1 * 8); in afs_set_contig_bits()
84 block->hdr.bitmap[2] |= (u8)(mask >> 2 * 8); in afs_set_contig_bits()
85 block->hdr.bitmap[3] |= (u8)(mask >> 3 * 8); in afs_set_contig_bits()
86 block->hdr.bitmap[4] |= (u8)(mask >> 4 * 8); in afs_set_contig_bits()
87 block->hdr.bitmap[5] |= (u8)(mask >> 5 * 8); in afs_set_contig_bits()
88 block->hdr.bitmap[6] |= (u8)(mask >> 6 * 8); in afs_set_contig_bits()
89 block->hdr.bitmap[7] |= (u8)(mask >> 7 * 8); in afs_set_contig_bits()
91 after = *(u64 *)block->hdr.bitmap; in afs_set_contig_bits()
97 static void afs_clear_contig_bits(union afs_xdr_dir_block *block, in afs_clear_contig_bits() argument
105 before = *(u64 *)block->hdr.bitmap; in afs_clear_contig_bits()
107 block->hdr.bitmap[0] &= ~(u8)(mask >> 0 * 8); in afs_clear_contig_bits()
108 block->hdr.bitmap[1] &= ~(u8)(mask >> 1 * 8); in afs_clear_contig_bits()
109 block->hdr.bitmap[2] &= ~(u8)(mask >> 2 * 8); in afs_clear_contig_bits()
110 block->hdr.bitmap[3] &= ~(u8)(mask >> 3 * 8); in afs_clear_contig_bits()
111 block->hdr.bitmap[4] &= ~(u8)(mask >> 4 * 8); in afs_clear_contig_bits()
112 block->hdr.bitmap[5] &= ~(u8)(mask >> 5 * 8); in afs_clear_contig_bits()
113 block->hdr.bitmap[6] &= ~(u8)(mask >> 6 * 8); in afs_clear_contig_bits()
114 block->hdr.bitmap[7] &= ~(u8)(mask >> 7 * 8); in afs_clear_contig_bits()
116 after = *(u64 *)block->hdr.bitmap; in afs_clear_contig_bits()
122 static int afs_dir_scan_block(union afs_xdr_dir_block *block, struct qstr *name, in afs_dir_scan_block() argument
131 bitmap = (u64)block->hdr.bitmap[0] << 0 * 8; in afs_dir_scan_block()
132 bitmap |= (u64)block->hdr.bitmap[1] << 1 * 8; in afs_dir_scan_block()
133 bitmap |= (u64)block->hdr.bitmap[2] << 2 * 8; in afs_dir_scan_block()
134 bitmap |= (u64)block->hdr.bitmap[3] << 3 * 8; in afs_dir_scan_block()
135 bitmap |= (u64)block->hdr.bitmap[4] << 4 * 8; in afs_dir_scan_block()
136 bitmap |= (u64)block->hdr.bitmap[5] << 5 * 8; in afs_dir_scan_block()
137 bitmap |= (u64)block->hdr.bitmap[6] << 6 * 8; in afs_dir_scan_block()
138 bitmap |= (u64)block->hdr.bitmap[7] << 7 * 8; in afs_dir_scan_block()
145 de = &block->dirents[d]; in afs_dir_scan_block()
168 union afs_xdr_dir_block *block, int block_num) in afs_edit_init_block() argument
170 memset(block, 0, sizeof(*block)); in afs_edit_init_block()
171 block->hdr.npages = htons(1); in afs_edit_init_block()
172 block->hdr.magic = AFS_DIR_MAGIC; in afs_edit_init_block()
173 block->hdr.bitmap[0] = 1; in afs_edit_init_block()
176 block->hdr.bitmap[0] = 0xff; in afs_edit_init_block()
177 block->hdr.bitmap[1] = 0x1f; in afs_edit_init_block()
178 memset(block->meta.alloc_ctrs, in afs_edit_init_block()
180 sizeof(block->meta.alloc_ctrs)); in afs_edit_init_block()
202 union afs_xdr_dir_block *meta, *block; in afs_edit_dir_add() local
269 block = &dir_page->blocks[b % AFS_DIR_BLOCKS_PER_PAGE]; in afs_edit_dir_add()
274 ntohs(block->hdr.npages), in afs_edit_dir_add()
275 ntohs(block->hdr.magic)); in afs_edit_dir_add()
280 afs_edit_init_block(meta, block, b); in afs_edit_dir_add()
290 slot = afs_find_contig_bits(block, need_slots); in afs_edit_dir_add()
317 block = meta; in afs_edit_dir_add()
325 de = &block->dirents[slot]; in afs_edit_dir_add()
335 afs_set_contig_bits(block, slot, need_slots); in afs_edit_dir_add()
383 union afs_xdr_dir_block *meta, *block; in afs_edit_dir_remove() local
435 block = &dir_page->blocks[b % AFS_DIR_BLOCKS_PER_PAGE]; in afs_edit_dir_remove()
439 slot = afs_dir_scan_block(block, name, b); in afs_edit_dir_remove()
458 de = &block->dirents[slot]; in afs_edit_dir_remove()
467 afs_clear_contig_bits(block, slot, need_slots); in afs_edit_dir_remove()