[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20170805221020.iehq3ntki6rbs4in@thunk.org>
Date: Sat, 5 Aug 2017 18:10:20 -0400
From: Theodore Ts'o <tytso@....edu>
To: Jan Kara <jack@...e.cz>
Cc: linux-ext4@...r.kernel.org,
Andreas Gruenbacher <agruenba@...hat.com>,
stable@...r.kernel.org
Subject: Re: [PATCH] ext4: Fix SEEK_HOLE/SEEK_DATA for blocksize < pagesize
On Fri, Jul 28, 2017 at 01:16:37PM +0200, Jan Kara wrote:
> ext4_find_unwritten_pgoff() does not properly handle a situation when
> starting index is in the middle of a page and blocksize < pagesize. The
> following command shows the bug on filesystem with 1k blocksize:
>
> xfs_io -f -c "falloc 0 4k" \
> -c "pwrite 1k 1k" \
> -c "pwrite 3k 1k" \
> -c "seek -a -r 0" foo
>
> In this example, neither lseek(fd, 1024, SEEK_HOLE) nor lseek(fd, 2048,
> SEEK_DATA) will return the correct result.
>
> Fix the problem by neglecting buffers in a page before starting offset.
>
> Reported-by: Andreas Gruenbacher <agruenba@...hat.com>
> CC: stable@...r.kernel.org
> Signed-off-by: Jan Kara <jack@...e.cz>
Thanks, applied.
- Ted
Powered by blists - more mailing lists