chfs.h (30296cb2) chfs.h (98907fc3)
1/* $NetBSD: chfs.h,v 1.10 2018/04/19 21:50:10 christos Exp $ */
1/* $NetBSD: chfs.h,v 1.11 2021/12/07 21:37:37 andvar Exp $ */
2
3/*-
4 * Copyright (c) 2010 Department of Software Engineering,
5 * University of Szeged, Hungary
6 * Copyright (C) 2009 Ferenc Havasi <havasi@inf.u-szeged.hu>
7 * Copyright (C) 2009 Zoltan Sogor <weth@inf.u-szeged.hu>
8 * Copyright (C) 2009 David Tengeri <dtengeri@inf.u-szeged.hu>
9 * Copyright (C) 2009 Tamas Toth <ttoth@inf.u-szeged.hu>

--- 184 unchanged lines hidden (view full) ---

194 uint64_t version; /* version */
195 ino_t vno; /* vnode number */
196 uint32_t nhash; /* name hash */
197 enum chtype type; /* type of the dirent */
198 uint8_t nsize; /* length of its name */
199 uint8_t name[0]; /* name of the directory */
200};
201
2
3/*-
4 * Copyright (c) 2010 Department of Software Engineering,
5 * University of Szeged, Hungary
6 * Copyright (C) 2009 Ferenc Havasi <havasi@inf.u-szeged.hu>
7 * Copyright (C) 2009 Zoltan Sogor <weth@inf.u-szeged.hu>
8 * Copyright (C) 2009 David Tengeri <dtengeri@inf.u-szeged.hu>
9 * Copyright (C) 2009 Tamas Toth <ttoth@inf.u-szeged.hu>

--- 184 unchanged lines hidden (view full) ---

194 uint64_t version; /* version */
195 ino_t vno; /* vnode number */
196 uint32_t nhash; /* name hash */
197 enum chtype type; /* type of the dirent */
198 uint8_t nsize; /* length of its name */
199 uint8_t name[0]; /* name of the directory */
200};
201
202/* struct chfs_tmp_dnode - used temporarly while building a data node */
202/* struct chfs_tmp_dnode - used temporarily while building a data node */
203struct chfs_tmp_dnode {
204 struct chfs_full_dnode *node; /* associated full dnode */
205 uint64_t version; /* version of the tmp node */
206 uint32_t data_crc; /* CRC of the data */
207 uint16_t overlapped; /* is overlapped */
208 struct chfs_tmp_dnode *next; /* next tmp node */
209};
210

--- 160 unchanged lines hidden (view full) ---

371 * (and also the sizes of each eraseblock).
372 * If you have to lock chm_lock_mountfields and also chm_lock_sizes,
373 * you must lock chm_lock_mountfields first.
374 */
375 kmutex_t chm_lock_sizes;
376
377 /*
378 * eraseblock queues
203struct chfs_tmp_dnode {
204 struct chfs_full_dnode *node; /* associated full dnode */
205 uint64_t version; /* version of the tmp node */
206 uint32_t data_crc; /* CRC of the data */
207 uint16_t overlapped; /* is overlapped */
208 struct chfs_tmp_dnode *next; /* next tmp node */
209};
210

--- 160 unchanged lines hidden (view full) ---

371 * (and also the sizes of each eraseblock).
372 * If you have to lock chm_lock_mountfields and also chm_lock_sizes,
373 * you must lock chm_lock_mountfields first.
374 */
375 kmutex_t chm_lock_sizes;
376
377 /*
378 * eraseblock queues
379 * free: completly free
379 * free: completely free
380 * clean: contains only valid data
381 * dirty: contains valid and deleted data
382 * very_dirty: contains mostly deleted data (should be GC'd)
383 * erasable: doesn't contain valid data (should be erased)
384 * erase_pending: we can erase blocks from this queue
385 */
386 struct chfs_eraseblock_queue chm_free_queue;
387 struct chfs_eraseblock_queue chm_clean_queue;

--- 370 unchanged lines hidden ---
380 * clean: contains only valid data
381 * dirty: contains valid and deleted data
382 * very_dirty: contains mostly deleted data (should be GC'd)
383 * erasable: doesn't contain valid data (should be erased)
384 * erase_pending: we can erase blocks from this queue
385 */
386 struct chfs_eraseblock_queue chm_free_queue;
387 struct chfs_eraseblock_queue chm_clean_queue;

--- 370 unchanged lines hidden ---