]> git.proxmox.com Git - mirror_zfs.git/blobdiff - module/zfs/include/sys/zap_leaf.h
Update core ZFS code from build 121 to build 141.
[mirror_zfs.git] / module / zfs / include / sys / zap_leaf.h
index 14144e059e540347dd17173400ab2a74b3ded8bb..3a33636741d9a88586333b52a26f105eb55b2c7f 100644 (file)
  * CDDL HEADER END
  */
 /*
- * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
- * Use is subject to license terms.
+ * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
  */
 
 #ifndef        _SYS_ZAP_LEAF_H
 #define        _SYS_ZAP_LEAF_H
 
-#pragma ident  "%Z%%M% %I%     %E% SMI"
+#include <sys/zap.h>
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
 struct zap;
+struct zap_name;
+struct zap_stats;
 
 #define        ZAP_LEAF_MAGIC 0x2AB1EAF
 
@@ -129,12 +130,12 @@ typedef struct zap_leaf_phys {
 typedef union zap_leaf_chunk {
        struct zap_leaf_entry {
                uint8_t le_type;                /* always ZAP_CHUNK_ENTRY */
-               uint8_t le_int_size;            /* size of ints */
+               uint8_t le_value_intlen;        /* size of value's ints */
                uint16_t le_next;               /* next entry in hash chain */
                uint16_t le_name_chunk;         /* first chunk of the name */
-               uint16_t le_name_length;        /* bytes in name, incl null */
+               uint16_t le_name_numints;       /* ints in name (incl null) */
                uint16_t le_value_chunk;        /* first chunk of the value */
-               uint16_t le_value_length;       /* value length in ints */
+               uint16_t le_value_numints;      /* value length in ints */
                uint32_t le_cd;                 /* collision differentiator */
                uint64_t le_hash;               /* hash value of the name */
        } l_entry;
@@ -177,7 +178,7 @@ typedef struct zap_entry_handle {
  * value must equal zap_hash(name).
  */
 extern int zap_leaf_lookup(zap_leaf_t *l,
-    zap_name_t *zn, zap_entry_handle_t *zeh);
+    struct zap_name *zn, zap_entry_handle_t *zeh);
 
 /*
  * Return a handle to the entry with this hash+cd, or the entry with the
@@ -193,10 +194,10 @@ extern int zap_leaf_lookup_closest(zap_leaf_t *l,
  * num_integers in the attribute.
  */
 extern int zap_entry_read(const zap_entry_handle_t *zeh,
-       uint8_t integer_size, uint64_t num_integers, void *buf);
+    uint8_t integer_size, uint64_t num_integers, void *buf);
 
-extern int zap_entry_read_name(const zap_entry_handle_t *zeh,
-       uint16_t buflen, char *buf);
+extern int zap_entry_read_name(struct zap *zap, const zap_entry_handle_t *zeh,
+    uint16_t buflen, char *buf);
 
 /*
  * Replace the value of an existing entry.
@@ -204,7 +205,7 @@ extern int zap_entry_read_name(const zap_entry_handle_t *zeh,
  * zap_entry_update may fail if it runs out of space (ENOSPC).
  */
 extern int zap_entry_update(zap_entry_handle_t *zeh,
-       uint8_t integer_size, uint64_t num_integers, const void *buf);
+    uint8_t integer_size, uint64_t num_integers, const void *buf);
 
 /*
  * Remove an entry.
@@ -216,17 +217,16 @@ extern void zap_entry_remove(zap_entry_handle_t *zeh);
  * belong in this leaf (according to its hash value).  Fills in the
  * entry handle on success.  Returns 0 on success or ENOSPC on failure.
  */
-extern int zap_entry_create(zap_leaf_t *l,
-       const char *name, uint64_t h, uint32_t cd,
-       uint8_t integer_size, uint64_t num_integers, const void *buf,
-       zap_entry_handle_t *zeh);
+extern int zap_entry_create(zap_leaf_t *l, struct zap_name *zn, uint32_t cd,
+    uint8_t integer_size, uint64_t num_integers, const void *buf,
+    zap_entry_handle_t *zeh);
 
 /*
  * Return true if there are additional entries with the same normalized
  * form.
  */
 extern boolean_t zap_entry_normalization_conflict(zap_entry_handle_t *zeh,
-    zap_name_t *zn, const char *name, zap_t *zap);
+    struct zap_name *zn, const char *name, struct zap *zap);
 
 /*
  * Other stuff.
@@ -235,7 +235,8 @@ extern boolean_t zap_entry_normalization_conflict(zap_entry_handle_t *zeh,
 extern void zap_leaf_init(zap_leaf_t *l, boolean_t sort);
 extern void zap_leaf_byteswap(zap_leaf_phys_t *buf, int len);
 extern void zap_leaf_split(zap_leaf_t *l, zap_leaf_t *nl, boolean_t sort);
-extern void zap_leaf_stats(zap_t *zap, zap_leaf_t *l, zap_stats_t *zs);
+extern void zap_leaf_stats(struct zap *zap, zap_leaf_t *l,
+    struct zap_stats *zs);
 
 #ifdef __cplusplus
 }