diff mbox

[RFC,1/1,linux-next] btrfs: don't opencode zero_user_segment

Message ID 1413308774-9985-1-git-send-email-fabf@skynet.be (mailing list archive)
State New, archived
Headers show

Commit Message

Fabian Frederick Oct. 14, 2014, 5:46 p.m. UTC
use function defined in include/linux/highmem.h
Note that this reverts 2 last function call order

Signed-off-by: Fabian Frederick <fabf@skynet.be>
---
 fs/btrfs/scrub.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

Comments

Zach Brown Oct. 14, 2014, 7:15 p.m. UTC | #1
On Tue, Oct 14, 2014 at 07:46:14PM +0200, Fabian Frederick wrote:
> use function defined in include/linux/highmem.h
> Note that this reverts 2 last function call order

And adds a BUG_ON(PAGE_CACHE_SIZE > PAGE_SIZE).  We can take bets on
whether that will ever trigger.

- z
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Fabian Frederick Oct. 14, 2014, 8:18 p.m. UTC | #2
> On 14 October 2014 at 21:15 Zach Brown <zab@zabbo.net> wrote:
>
>
> On Tue, Oct 14, 2014 at 07:46:14PM +0200, Fabian Frederick wrote:
> > use function defined in include/linux/highmem.h
> > Note that this reverts 2 last function call order
>
> And adds a BUG_ON(PAGE_CACHE_SIZE > PAGE_SIZE).  We can take bets on
> whether that will ever trigger.

There are 36 zero_user_segment with PAGE_CACHE_SIZE callsites.
Maybe we could add some specific function to avoid BUG_ON tests ?

Fabian
>
> - z
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Zach Brown Oct. 15, 2014, 5:08 p.m. UTC | #3
On Tue, Oct 14, 2014 at 10:18:09PM +0200, Fabian Frederick wrote:
> 
> 
> > On 14 October 2014 at 21:15 Zach Brown <zab@zabbo.net> wrote:
> >
> >
> > On Tue, Oct 14, 2014 at 07:46:14PM +0200, Fabian Frederick wrote:
> > > use function defined in include/linux/highmem.h
> > > Note that this reverts 2 last function call order
> >
> > And adds a BUG_ON(PAGE_CACHE_SIZE > PAGE_SIZE).  We can take bets on
> > whether that will ever trigger.
> 
> There are 36 zero_user_segment with PAGE_CACHE_SIZE callsites.
> Maybe we could add some specific function to avoid BUG_ON tests ?

Nah, I wouldn't bother.

A lot of us have long rolled our eyes at the distinction between
PAGE_SIZE and PAGE_CACHE_SIZE given how much will break if they're ever
actually different.  That's what I was referencing there :).

- z 
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/fs/btrfs/scrub.c b/fs/btrfs/scrub.c
index efa0831..fa063cd 100644
--- a/fs/btrfs/scrub.c
+++ b/fs/btrfs/scrub.c
@@ -1503,13 +1503,9 @@  static int scrub_write_page_to_dev_replace(struct scrub_block *sblock,
 	struct scrub_page *spage = sblock->pagev[page_num];
 
 	BUG_ON(spage->page == NULL);
-	if (spage->io_error) {
-		void *mapped_buffer = kmap_atomic(spage->page);
+	if (spage->io_error)
+		zero_user_segment(spage->page, 0, PAGE_CACHE_SIZE);
 
-		memset(mapped_buffer, 0, PAGE_CACHE_SIZE);
-		flush_dcache_page(spage->page);
-		kunmap_atomic(mapped_buffer);
-	}
 	return scrub_add_page_to_wr_bio(sblock->sctx, spage);
 }