> @@ -353,9 +353,16 @@ static inline bool iomap_block_needs_zeroing(const 
> struct iomap_iter *iter,
>  {
>       const struct iomap *srcmap = iomap_iter_srcmap(iter);
>  
> -     return srcmap->type != IOMAP_MAPPED ||
> -             (srcmap->flags & IOMAP_F_NEW) ||
> -             pos >= i_size_read(iter->inode);
> +     if (srcmap->type != IOMAP_MAPPED)
> +             return true;
> +
> +     if (srcmap->flags & IOMAP_F_NEW)
> +             return true;
> +
> +     if (srcmap->flags & IOMAP_F_FSVERITY)
> +             return false;
> +
> +     return pos >= i_size_read(iter->inode);

This might be a good time to document the various reasons for needing
zeroing.

> +/*
> + * IO happens beyond inode EOF, fsverity metadata is stored there
> + */
> +#define IOMAP_F_FSVERITY     (1U << 10)

This comment feels a bit too sparse.  Here is my interpretation of what
this flag does:

/*
 * Indicates reads and writes of fsverity metadata.
 *
 * Fsverity metadata is stored after the regular file data and thus beyond
 * i_size.
 */



_______________________________________________
Linux-f2fs-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

Reply via email to