• Tao Ma's avatar
    ocfs2: Add xattr bucket iteration for large numbers of EAs · 0c044f0b
    Tao Ma authored
    Ocfs2 breaks up xattr index tree leaves into 4k regions, called buckets.
    Attributes are stored within a given bucket, depending on hash value.
    
    After a discussion with Mark, we decided that the per-bucket index
    (xe_entry[]) would only exist in the 1st block of a bucket. Likewise,
    name/value pairs will not straddle more than one block. This allows the
    majority of operations to work directly on the buffer heads in a leaf block.
    
    This patch adds code to iterate the buckets in an EA. A new abstration of
    ocfs2_xattr_bucket is added. It records the bhs in this bucket and
    ocfs2_xattr_header. This keeps the code neat, improving readibility.
    Signed-off-by: default avatarTao Ma <tao.ma@oracle.com>
    Signed-off-by: default avatarMark Fasheh <mfasheh@suse.com>
    0c044f0b
xattr.c 52.3 KB