|
@@ -610,8 +610,8 @@ iomap_seek_hole(struct inode *inode, loff_t offset, const struct iomap_ops *ops)
|
|
loff_t length = size - offset;
|
|
loff_t length = size - offset;
|
|
loff_t ret;
|
|
loff_t ret;
|
|
|
|
|
|
- /* Nothing to be found beyond the end of the file. */
|
|
|
|
- if (offset >= size)
|
|
|
|
|
|
+ /* Nothing to be found before or beyond the end of the file. */
|
|
|
|
+ if (offset < 0 || offset >= size)
|
|
return -ENXIO;
|
|
return -ENXIO;
|
|
|
|
|
|
while (length > 0) {
|
|
while (length > 0) {
|
|
@@ -656,8 +656,8 @@ iomap_seek_data(struct inode *inode, loff_t offset, const struct iomap_ops *ops)
|
|
loff_t length = size - offset;
|
|
loff_t length = size - offset;
|
|
loff_t ret;
|
|
loff_t ret;
|
|
|
|
|
|
- /* Nothing to be found beyond the end of the file. */
|
|
|
|
- if (offset >= size)
|
|
|
|
|
|
+ /* Nothing to be found before or beyond the end of the file. */
|
|
|
|
+ if (offset < 0 || offset >= size)
|
|
return -ENXIO;
|
|
return -ENXIO;
|
|
|
|
|
|
while (length > 0) {
|
|
while (length > 0) {
|