• Steven Whitehouse's avatar
    GFS2: Add meta readahead field in directory entries · 44aaada9
    Steven Whitehouse authored
    The intent of this new field in the directory entry is to
    allow a subsequent lookup to know how many blocks, which
    are contiguous with the inode, contain metadata which relates
    to the inode. This will then allow the issuing of a single
    read to read these blocks, rather than reading the inode
    first, and then issuing a second read for the metadata.
    
    This only works under some fairly strict conditions, since
    we do not have back pointers from inodes to directory entries
    we must ensure that the blocks referenced in this way will
    always belong to the inode.
    
    This rules out being able to use this system for indirect
    blocks, as these can change as a result of truncate/rewrite.
    
    So the idea here is to restrict this to xattr blocks only
    for the time being. For most inodes, that means only a
    single block. Also, when using ACLs and/or SELinux or
    other LSMs, these will be added at inode creation time
    so that they will be contiguous with the inode on disk and
    also will almost always be needed when we read the inode in
    for permissions checks.
    
    Once an xattr block for an inode is allocated, it will never
    change until the inode is deallocated.
    
    This patch adds the new field, a further patch will add the
    readahead in due course.
    Signed-off-by: default avatarSteven Whitehouse <swhiteho@redhat.com>
    44aaada9
dir.c 49.6 KB