> + while ((ret == 0) && (start < isize) && len) { no need for both sets of inner braces. > + memset(&iom, 0, sizeof(iom)); > + ret = iomap(inode->i_mapping, start, len, &iom); > + if (ret) > + break; > + > + if (!iomap_needs_allocation(&iom)) { I don't think the iomap_needs_allocation, because the decision if something needs an allocation is up to the beholder. E.g. in this case you want to report block numbers of holes and unwritten extents. > + if (prev_iom.blkno) > + ret = fiemap_fill_next_extent(fieinfo, > + prev_iom.offset, > + blk_to_logical(inode, the iomap interface as used for pnfs and the multi page writes that I pointed you to in the last reply use file system blocks as unit, so the blk_to_logical should go away. -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html