Home | History | Annotate | Download | only in chfs

Lines Matching defs:dnode

286 	struct chfs_flash_data_node *dnode;
295 dnode = chfs_alloc_flash_dnode();
296 if (!dnode)
302 size = sizeof(*dnode) + len;
304 dnode->magic = htole16(CHFS_FS_MAGIC_BITMASK);
305 dnode->type = htole16(CHFS_NODETYPE_DATA);
306 dnode->length = htole32(CHFS_PAD(size));
307 dnode->hdr_crc = htole32(crc32(0, (uint8_t *)dnode,
309 dnode->vno = htole64(ip->ino);
310 dnode->version = htole64(++ip->chvc->highest_version);
311 dnode->offset = htole64(ofs);
312 dnode->data_length = htole32(len);
313 dnode->data_crc = htole32(crc32(0, (uint8_t *)bp->b_data, len));
314 dnode->node_crc = htole32(crc32(0, (uint8_t *)dnode,
315 sizeof(*dnode) - 4));
317 dbg("dnode @%llu %ub v%llu\n", (unsigned long long)dnode->offset,
318 dnode->data_length, (unsigned long long)dnode->version);
321 if (CHFS_PAD(size) - sizeof(*dnode)) {
323 - sizeof(*dnode), KM_SLEEP);
329 vec[0].iov_base = dnode;
330 vec[0].iov_len = sizeof(*dnode);
332 vec[1].iov_len = CHFS_PAD(size) - sizeof(*dnode);
393 chfs_remove_and_obsolete(chmp, ip->chvc, fd->nref, &ip->chvc->dnode);
399 chfs_add_node_to_list(chmp, ip->chvc, nref, &ip->chvc->dnode);
402 chfs_free_flash_dnode(dnode);
403 if (CHFS_PAD(size) - sizeof(*dnode)) {
404 kmem_free(tmpbuf, CHFS_PAD(size) - sizeof(*dnode));
519 /* clean dnode list */
520 while (ip->chvc->dnode != (struct chfs_node_ref *)ip->chvc) {
521 nref = ip->chvc->dnode;
523 chfs_remove_and_obsolete(chmp, ip->chvc, nref, &ip->chvc->dnode);