diff --git a/fs/iomap/iter.c b/fs/iomap/iter.c index 6ffc6a7b9ba5..e53591538643 100644 --- a/fs/iomap/iter.c +++ b/fs/iomap/iter.c @@ -30,7 +30,8 @@ int iomap_iter_advance(struct iomap_iter *iter, u64 *count) static inline void iomap_iter_done(struct iomap_iter *iter) { - WARN_ON_ONCE(iter->iomap.offset > iter->pos); + WARN_ON_ONCE(iter->iomap.type != IOMAP_HOLE && + iter->iomap.offset > iter->pos); WARN_ON_ONCE(iter->iomap.length == 0); WARN_ON_ONCE(iter->iomap.offset + iter->iomap.length <= iter->pos); WARN_ON_ONCE(iter->iomap.flags & IOMAP_F_STALE);