dsl_dataset.h 1.2 KB

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