• Kent Overstreet's avatar
    bcachefs: New varints · a3e72262
    Kent Overstreet authored
    Previous varint implementation used by the inode code was not nearly as
    fast as it could have been; partly because it was attempting to encode
    integers up to 96 bits (for timestamps) but this meant that encoding and
    decoding the length required a table lookup.
    
    Instead, we'll just encode timestamps greater than 64 bits as two
    separate varints; this will make decoding/encoding of inodes
    significantly faster overall.
    Signed-off-by: default avatarKent Overstreet <kent.overstreet@gmail.com>
    Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
    a3e72262
recovery.c 32.9 KB