24 Jul, 2012

1 commit

  • BTRFS_SETGET_FUNCS macro is used to generate btrfs_set_foo() and
    btrfs_foo() functions, which read and write specific fields in the
    extent buffer.

    The total number of set/get functions is ~200, but in fact we only
    need 8 functions: 2 for u8 field, 2 for u16, 2 for u32 and 2 for u64.

    It results in redunction of ~37K bytes.

    text data bss dec hex filename
    629661 12489 216 642366 9cd3e fs/btrfs/btrfs.o.orig
    592637 12489 216 605342 93c9e fs/btrfs/btrfs.o

    Signed-off-by: Li Zefan

    Li Zefan
     

27 Mar, 2012

1 commit


28 Jul, 2011

1 commit

  • The extent_buffers have a very complex interface where
    we use HIGHMEM for metadata and try to cache a kmap mapping
    to access the memory.

    The next commit adds reader/writer locks, and concurrent use
    of this kmap cache would make it even more complex.

    This commit drops the ability to use HIGHMEM with extent buffers,
    and rips out all of the related code.

    Signed-off-by: Chris Mason

    Chris Mason
     

06 Jan, 2009

1 commit


03 Dec, 2008

1 commit

  • The btrfs macros to access individual struct members on disk were
    sending the same variable to functions that expected different types
    of endianness. This fix explicitly creates a variable of the correct
    type instead of abusing a single variable for mixed purposes.

    Signed-off-by: Chris Mason

    Chris Mason
     

30 Sep, 2008

1 commit

  • This improves the comments at the top of many functions. It didn't
    dive into the guts of functions because I was trying to
    avoid merging problems with the new allocator and back reference work.

    extent-tree.c and volumes.c were both skipped, and there is definitely
    more work todo in cleaning and commenting the code.

    Signed-off-by: Chris Mason

    Chris Mason
     

25 Sep, 2008

3 commits