dsl_dataset.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. /*
  2. * GRUB -- GRand Unified Bootloader
  3. * Copyright (C) 1999,2000,2001,2002,2003,2004 Free Software Foundation, Inc.
  4. *
  5. * SPDX-License-Identifier: GPL-2.0+
  6. */
  7. /*
  8. * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
  9. * Use is subject to license terms.
  10. */
  11. #ifndef _SYS_DSL_DATASET_H
  12. #define _SYS_DSL_DATASET_H
  13. typedef struct dsl_dataset_phys {
  14. uint64_t ds_dir_obj;
  15. uint64_t ds_prev_snap_obj;
  16. uint64_t ds_prev_snap_txg;
  17. uint64_t ds_next_snap_obj;
  18. uint64_t ds_snapnames_zapobj; /* zap obj of snaps; ==0 for snaps */
  19. uint64_t ds_num_children; /* clone/snap children; ==0 for head */
  20. uint64_t ds_creation_time; /* seconds since 1970 */
  21. uint64_t ds_creation_txg;
  22. uint64_t ds_deadlist_obj;
  23. uint64_t ds_used_bytes;
  24. uint64_t ds_compressed_bytes;
  25. uint64_t ds_uncompressed_bytes;
  26. uint64_t ds_unique_bytes; /* only relevant to snapshots */
  27. /*
  28. * The ds_fsid_guid is a 56-bit ID that can change to avoid
  29. * collisions. The ds_guid is a 64-bit ID that will never
  30. * change, so there is a small probability that it will collide.
  31. */
  32. uint64_t ds_fsid_guid;
  33. uint64_t ds_guid;
  34. uint64_t ds_flags;
  35. blkptr_t ds_bp;
  36. uint64_t ds_pad[8]; /* pad out to 320 bytes for good measure */
  37. } dsl_dataset_phys_t;
  38. #endif /* _SYS_DSL_DATASET_H */