Lines Matching +full:secure +full:- +full:regions
1 /* SPDX-License-Identifier: GPL-2.0 */
3 * Copyright (c) 2000-2001,2005 Silicon Graphics, Inc.
11 * This structure is common to both leaf nodes and non-leaf nodes in the Btree.
16 #define XFS_DA_NODE_MAGIC 0xfebe /* magic number: non-leaf blocks */
36 #define XFS_DA3_NODE_MAGIC 0x3ebe /* magic number: non-leaf blocks */
100 * - shortform - embedded into the inode
101 * - single block - data with embedded leaf at the end
102 * - multiple data blocks, single leaf+freeindex block
103 * - data blocks, node and leaf blocks (btree), freeindex blocks
121 * Also, the xfs_dir3_*() functions handle both v2 and v3 formats - if the
135 * - a larger block header for CRC and identification purposes and so the
138 * - new magic numbers to be able to detect the v2/v3 types on the fly.
147 * list are an on-disk format change, requiring feature bits. Valid values
188 #define XFS_INO64_DIFF (XFS_INO64_SIZE - XFS_INO32_SIZE)
205 uint8_t i8count; /* count of 8-byte inode #s */
217 * A 64-bit or 32-bit inode number follows here, at a variable offset
224 return sizeof(struct xfs_dir2_sf_hdr) - in xfs_dir2_sf_hdr_size()
231 return get_unaligned_be16(sfep->offset); in xfs_dir2_sf_get_offset()
237 put_unaligned_be16(off, sfep->offset); in xfs_dir2_sf_put_offset()
244 ((char *)hdr + xfs_dir2_sf_hdr_size(hdr->i8count)); in xfs_dir2_sf_firstentry()
252 * +-------------------------------------------------+
254 * +-------------------------------------------------+
259 * +-------------------------------------------------+
261 * +-------------------------------------------------+
367 be16_to_cpu(dup->length) - sizeof(__be16)); in xfs_dir2_data_unused_tag_p()
375 * +---------------------------+
377 * +---------------------------+
383 * +---------------------------+
388 * +---------------------------+
390 * +---------------------------+
393 * for single-leaf (magic = XFS_DIR2_LEAF1_MAGIC) blocks only, but not present
455 * Get address of the bests array in the single-leaf block.
460 return (__be16 *)ltp - be32_to_cpu(ltp->bestcount); in xfs_dir2_leaf_bests_p()
483 /* unused entries are -1 */
497 /* unused entries are -1 */
507 * +-------------------------------------------------+
509 * +-------------------------------------------------+
514 * +-------------------------------------------------+
516 * +-------------------------------------------------+
520 * +-------------------------------------------------+
522 * +-------------------------------------------------+
534 * Pointer to the leaf entries embedded in a data block (1-block format)
539 return ((struct xfs_dir2_leaf_entry *)btp) - be32_to_cpu(btp->count); in xfs_dir2_block_leaf_p()
553 * bottom but are not packed. The freemap contains run-length-encoded entries
562 * takes the first-in-the-block key match found, so we should only have
566 * We store the fact that an attribute is a ROOT/USER/SECURE attribute in
583 struct xfs_attr_sf_hdr { /* constant-structure header block */
601 typedef struct xfs_attr_leaf_hdr { /* constant-structure header block */
609 /* N largest free regions */
615 __u8 flags; /* LOCAL/ROOT/SECURE/INCOMPLETE flag */
633 xfs_attr_leaf_hdr_t hdr; /* constant-structure header block */
680 * Only used when block size overflows the 2-bytes available on disk.
689 #define XFS_ATTR_SECURE_BIT 2 /* limit access to secure attrs */
706 if (leafp->hdr.info.magic == cpu_to_be16(XFS_ATTR3_LEAF_MAGIC)) in xfs_attr3_leaf_hdr_size()
714 if (leafp->hdr.info.magic == cpu_to_be16(XFS_ATTR3_LEAF_MAGIC)) in xfs_attr3_leaf_entryp()
715 return &((struct xfs_attr3_leafblock *)leafp)->entries[0]; in xfs_attr3_leaf_entryp()
716 return &leafp->entries[0]; in xfs_attr3_leaf_entryp()
749 return round_up(sizeof(struct xfs_attr_leaf_name_remote) - 1 + in xfs_attr_leaf_entsize_remote()
755 return round_up(sizeof(struct xfs_attr_leaf_name_local) - 1 + in xfs_attr_leaf_entsize_local()
792 ((bufsize) - (xfs_has_crc((mp)) ? \
798 return 1 << (sbp->sb_blocklog + sbp->sb_dirblklog); in xfs_dir2_dirblock_bytes()