From: Nikolay Borisov <nborisov@suse.com>
To: linux-btrfs@vger.kernel.org
Cc: Nikolay Borisov <nborisov@suse.com>
Subject: [RESEND PATCH 0/4] Cleanups around compress path
Date: Wed, 13 Feb 2019 17:55:25 +0200 [thread overview]
Message-ID: <20190213155529.31500-1-nborisov@suse.com> (raw)
This series aims to streamline the logic in cow_file_range_async which is
invoked if extents have to be compressed. The main change is that the logic of
the loop in the function is now centered around the idea of chunks (in case
compression is enabled). So it's obvious that we will submit as many chunks as
necessary. The 2nd improvement is to eliminate the BUG_ON that is dependent on the
return value of kmalloc. Now, an array of struct async_cow is allocated, preceded
by an atomic_t, shared by all chunks. This allows to bail out before submitting
any io whatsoever and mark the page as errored out.
Rest of the patches are pure quality-of-live improvements - simplifying function
signature, removing unused code/redundant data members.
Needless to say this has survived full xfstest run.
Nikolay Borisov (4):
btrfs: Refactor cow_file_range_async
btrfs: Remove fs_info from struct async_cow
btrfs: Make compress_file_range only struct async_cow
btrfs: Replace clear_extent_bit with unlock_extent
fs/btrfs/inode.c | 105 +++++++++++++++++++++++++++--------------------
1 file changed, 60 insertions(+), 45 deletions(-)
--
2.17.1
next reply other threads:[~2019-02-13 15:55 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-02-13 15:55 Nikolay Borisov [this message]
2019-02-13 15:55 ` [PATCH 1/4] btrfs: Refactor cow_file_range_async Nikolay Borisov
2019-02-14 14:30 ` Nikolay Borisov
2019-02-15 10:00 ` Nikolay Borisov
2019-02-13 15:55 ` [PATCH 2/4] btrfs: Remove fs_info from struct async_cow Nikolay Borisov
2019-02-13 15:55 ` [PATCH 3/4] btrfs: Make compress_file_range only " Nikolay Borisov
2019-02-13 15:55 ` [PATCH 4/4] btrfs: Replace clear_extent_bit with unlock_extent Nikolay Borisov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190213155529.31500-1-nborisov@suse.com \
--to=nborisov@suse.com \
--cc=linux-btrfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.