]> git.baikalelectronics.ru Git - kernel.git/commit
Btrfs: finish ordered extents in their own thread
authorJosef Bacik <josef@redhat.com>
Wed, 2 May 2012 18:00:54 +0000 (14:00 -0400)
committerJosef Bacik <josef@redhat.com>
Wed, 30 May 2012 14:23:33 +0000 (10:23 -0400)
commit7ccf5f05b54eecc451bb8c044b06c1bd1802e834
treef378b1042b4fbd366185b8b12b082bce4fd4fac4
parent0c5b50730653d7b2a2ab52017a41b61708458861
Btrfs: finish ordered extents in their own thread

We noticed that the ordered extent completion doesn't really rely on having
a page and that it could be done independantly of ending the writeback on a
page.  This patch makes us not do the threaded endio stuff for normal
buffered writes and direct writes so we can end page writeback as soon as
possible (in irq context) and only start threads to do the ordered work when
it is actually done.  Compression needs to be reworked some to take
advantage of this as well, but atm it has to do a find_get_page in its endio
handler so it must be done in its own thread.  This makes direct writes
quite a bit faster.  Thanks,

Signed-off-by: Josef Bacik <josef@redhat.com>
fs/btrfs/disk-io.c
fs/btrfs/extent_io.c
fs/btrfs/extent_io.h
fs/btrfs/free-space-cache.c
fs/btrfs/inode.c
fs/btrfs/ordered-data.c
fs/btrfs/ordered-data.h