Re: Btrfs for mainline

Ryusuke Konishi
2009-01-02T16:37:55Z

Hi,
On Wed, 31 Dec 2008 18:19:09 -0500, Chris Mason <chris.mason@oracle.com> wrote:
>
> This has only btrfs as a module and would be the fastest way to see
> the .c files. btrfs doesn't have any changes outside of fs/Makefile and
> fs/Kconfig

I found some overlapping (or cloned) functions in
btrfs-unstable.git/fs/btrfs, for example:

- Declarations to apply hardware crc32c in fs/btrfs/crc32c.h:
The same code is found in arch/x86/crypto/crc32c-intel.c

- btrfs_wait_on_page_writeback_range() and btrfs_fdatawrite_range():
These are clones of wait_on_page_writeback_range() and
__filemap_fdatawrite_range() respectively, and can be removed if they
are just exported.

- Copies of add_to_page_cache_lru() found in compression.c and extent_io.c
(can be replaced if it's exported)

How about including patches to resolve these in the btrfs kernel tree
(or patchset to be posted) ?

In addition, there seem to be well-separated reusable routines such as
async-thread (enhanced workqueue) and extent_map. Do you intend to
move these into lib/ or so?

I also tried scripts/checkpatch.pl against btrfs, and it has detected
45 ERRORs and 93 WARNINGs. I think it's a good opportunity to clean
up these violations.

With regards,
Ryusuke Konishi