Hi,
When climbing some metadata trees for fun, I ran into a set of
suspicious otime values on inode objects.
I found that a bunch of inodes have values for the seconds.nseconds
fields that are either 422212465065984.0 or even much higher values like
16811597680319950858.1387412042.
So, I wrote a
On Fri, Aug 02, 2019 at 05:00:45PM -0500, Goldwyn Rodrigues wrote:
> From: Goldwyn Rodrigues
>
> This helps filesystems to perform tasks on the bio while
> submitting for I/O. Since btrfs requires the position
> we are working on, pass pos to iomap_dio_submit_bio()
>
> The correct place for subm
On Fri, Aug 02, 2019 at 05:00:37PM -0500, Goldwyn Rodrigues wrote:
> From: Goldwyn Rodrigues
>
> In case of a IOMAP_COW, read a page from the srcmap before
> performing a write on the page.
>
> Signed-off-by: Goldwyn Rodrigues
> ---
> fs/iomap/buffered-io.c | 14 --
> 1 file change
On Fri, Aug 02, 2019 at 05:00:40PM -0500, Goldwyn Rodrigues wrote:
> From: Goldwyn Rodrigues
>
> Set iomap->type to IOMAP_COW and fill up the source map in case
> the I/O is not page aligned.
.
> static void btrfs_buffered_page_done(struct inode *inode, loff_t pos,
> unsigned c
On Fri, Aug 02, 2019 at 05:00:39PM -0500, Goldwyn Rodrigues wrote:
> From: Goldwyn Rodrigues
>
> Introduce a new btrfs_iomap structure which contains information
> about the filesystem between the iomap_begin() and iomap_end() calls.
> This contains information about reservations and extent locki
On Fri, Aug 02, 2019 at 05:00:36PM -0500, Goldwyn Rodrigues wrote:
> From: Goldwyn Rodrigues
>
> Introduces a new type IOMAP_COW, which means the data at offset
> must be read from a srcmap and copied before performing the
> write on the offset.
>
> The srcmap is used to identify where the read