All of lore.kernel.org
 help / color / mirror / Atom feed
From: Qu Wenruo <wqu@suse.com>
To: linux-btrfs@vger.kernel.org
Subject: [PATCH v2 17/26] btrfs: make compress_file_range() to be subpage compatible
Date: Sun, 29 Aug 2021 13:24:49 +0800	[thread overview]
Message-ID: <20210829052458.15454-18-wqu@suse.com> (raw)
In-Reply-To: <20210829052458.15454-1-wqu@suse.com>

In function compress_file_range(), when the compression is finished, the
function just round up @total_in to PAGE_SIZE.

This is fine for regular sectorsize == PAGE_SIZE case, but not for
subpage.

Just change the ALIGN(, PAGE_SIZE) to round_up(, sectorsize) so that
both regular sectorsize and subpage sectorsize will be happy.

Signed-off-by: Qu Wenruo <wqu@suse.com>
---
 fs/btrfs/inode.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index 18d99f5dd380..09639887b65f 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -758,7 +758,7 @@ static noinline int compress_file_range(struct async_chunk *async_chunk)
 		 * win, compare the page count read with the blocks on disk,
 		 * compression must free at least one sector size
 		 */
-		total_in = ALIGN(total_in, PAGE_SIZE);
+		total_in = round_up(total_in, fs_info->sectorsize);
 		if (total_compressed + blocksize <= total_in) {
 			compressed_extents++;
 
-- 
2.32.0


  parent reply	other threads:[~2021-08-29  5:25 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-29  5:24 [PATCH v2 00/26] btrfs: limited subpage compressed write support Qu Wenruo
2021-08-29  5:24 ` [PATCH v2 01/26] btrfs: remove unused parameter @nr_pages in add_ra_bio_pages() Qu Wenruo
2021-08-29  5:24 ` [PATCH v2 02/26] btrfs: remove unnecessary parameter @delalloc_start for writepage_delalloc() Qu Wenruo
2021-08-29  5:24 ` [PATCH v2 03/26] btrfs: use async_chunk::async_cow to replace the confusing pending pointer Qu Wenruo
2021-08-29  5:24 ` [PATCH v2 04/26] btrfs: don't pass compressed pages to btrfs_writepage_endio_finish_ordered() Qu Wenruo
2021-08-29  5:24 ` [PATCH v2 05/26] btrfs: make add_ra_bio_pages() to be subpage compatible Qu Wenruo
2021-08-29  5:24 ` [PATCH v2 06/26] btrfs: introduce compressed_bio::pending_sectors to trace compressed bio more elegantly Qu Wenruo
2021-08-29  5:24 ` [PATCH v2 07/26] btrfs: add subpage checked bitmap to make PageChecked flag to be subpage compatible Qu Wenruo
2021-08-29  5:24 ` [PATCH v2 08/26] btrfs: handle errors properly inside btrfs_submit_compressed_read() Qu Wenruo
2021-08-29  5:24 ` [PATCH v2 09/26] btrfs: handle errors properly inside btrfs_submit_compressed_write() Qu Wenruo
2021-08-29  5:24 ` [PATCH v2 10/26] btrfs: introduce submit_compressed_bio() for compression Qu Wenruo
2021-08-29  5:24 ` [PATCH v2 11/26] btrfs: introduce alloc_compressed_bio() " Qu Wenruo
2021-08-29  5:24 ` [PATCH v2 12/26] btrfs: make btrfs_submit_compressed_read() to determine stripe boundary at bio allocation time Qu Wenruo
2021-08-29  5:24 ` [PATCH v2 13/26] btrfs: make btrfs_submit_compressed_write() " Qu Wenruo
2021-08-29  5:24 ` [PATCH v2 14/26] btrfs: remove unused function btrfs_bio_fits_in_stripe() Qu Wenruo
2021-08-29  5:24 ` [PATCH v2 15/26] btrfs: refactor submit_compressed_extents() Qu Wenruo
2021-08-29  5:24 ` [PATCH v2 16/26] btrfs: cleanup for extent_write_locked_range() Qu Wenruo
2021-08-29  5:24 ` Qu Wenruo [this message]
2021-08-29  5:24 ` [PATCH v2 18/26] btrfs: make btrfs_submit_compressed_write() to be subpage compatible Qu Wenruo
2021-08-29  5:24 ` [PATCH v2 19/26] btrfs: make end_compressed_bio_writeback() to be subpage compatble Qu Wenruo
2021-08-29  5:24 ` [PATCH v2 20/26] btrfs: make extent_write_locked_range() to be subpage compatible Qu Wenruo
2021-08-29  5:24 ` [PATCH v2 21/26] btrfs: extract uncompressed async extent submission code into a new helper Qu Wenruo
2021-08-29  5:24 ` [PATCH v2 22/26] btrfs: rework lzo_compress_pages() to make it subpage compatible Qu Wenruo
2021-08-29  5:24 ` [PATCH v2 23/26] btrfs: teach __extent_writepage() to handle locked page differently Qu Wenruo
2021-08-29  5:24 ` [PATCH v2 24/26] btrfs: allow page to be unlocked by btrfs_page_end_writer_lock() even if it's locked by plain page_lock() Qu Wenruo
2021-08-29  5:24 ` [PATCH v2 25/26] btrfs: don't run delalloc range which is beyond the locked_page to prevent deadlock for subpage compression Qu Wenruo
2021-08-29  5:24 ` [PATCH v2 26/26] btrfs: only allow subpage compression if the range is fully page aligned Qu Wenruo
2021-08-29  6:16 ` [PATCH v2 00/26] btrfs: limited subpage compressed write support Qu Wenruo
2021-08-31 11:01 ` David Sterba
2021-09-07 18:02 ` David Sterba
2021-09-07 23:40   ` Qu Wenruo
2021-09-08 11:11     ` Qu Wenruo

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=20210829052458.15454-18-wqu@suse.com \
    --to=wqu@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.