[4/6] vfs: Add iomap_seek_hole and iomap_seek_data helpers

Message ID 20170627224326.GA12755@lst.de
State Superseded
Headers show

Commit Message

Christoph Hellwig June 27, 2017, 10:43 p.m.
On Wed, Jun 28, 2017 at 12:14:57AM +0200, Andreas Grünbacher wrote:
> This shouldn't be true anymore now that the actors don't recompute the
> length; the above three lines should be obsolete.

Indeed.

> This comment makes more sense in iomap_seek_hole now.

Or just drop it..

What about the incremental patch below?

Comments

Andreas Grünbacher June 27, 2017, 10:49 p.m. | #1
2017-06-28 0:43 GMT+02:00 Christoph Hellwig <hch@lst.de>:
> On Wed, Jun 28, 2017 at 12:14:57AM +0200, Andreas Grünbacher wrote:
>> This shouldn't be true anymore now that the actors don't recompute the
>> length; the above three lines should be obsolete.
>
> Indeed.
>
>> This comment makes more sense in iomap_seek_hole now.
>
> Or just drop it..
>
> What about the incremental patch below?

Ok.

> diff --git a/fs/iomap.c b/fs/iomap.c
> index c90cda33994b..432eed8f091f 100644
> --- a/fs/iomap.c
> +++ b/fs/iomap.c
> @@ -626,9 +626,6 @@ iomap_seek_hole(struct inode *inode, loff_t offset, const struct iomap_ops *ops)
>                 length -= ret;
>         }
>
> -       /* The last segment can extend beyond the end of the file. */
> -       if (length <= 0)
> -               return min(offset, size);
>         return offset;
>  }
>  EXPORT_SYMBOL_GPL(iomap_seek_hole);
> @@ -675,7 +672,6 @@ iomap_seek_data(struct inode *inode, loff_t offset, const struct iomap_ops *ops)
>                 length -= ret;
>         }
>
> -       /* There is an implicit hole at the end of the file. */
>         if (length <= 0)
>                 return -ENXIO;
>         return offset;

Thanks,
Andreas

Patch

diff --git a/fs/iomap.c b/fs/iomap.c
index c90cda33994b..432eed8f091f 100644
--- a/fs/iomap.c
+++ b/fs/iomap.c
@@ -626,9 +626,6 @@  iomap_seek_hole(struct inode *inode, loff_t offset, const struct iomap_ops *ops)
 		length -= ret;
 	}
 
-	/* The last segment can extend beyond the end of the file. */
-	if (length <= 0)
-		return min(offset, size);
 	return offset;
 }
 EXPORT_SYMBOL_GPL(iomap_seek_hole);
@@ -675,7 +672,6 @@  iomap_seek_data(struct inode *inode, loff_t offset, const struct iomap_ops *ops)
 		length -= ret;
 	}
 
-	/* There is an implicit hole at the end of the file. */
 	if (length <= 0)
 		return -ENXIO;
 	return offset;