For now, fail with Not supported (ENOTSUP) if configured using sparse files on DARWIN.
Signed-off-by: Dennis Schafroth <dennis@schafroth.com>
fiemap->fm_length = len + start % CEPH_PAGE_SIZE;
fiemap->fm_flags = FIEMAP_FLAG_SYNC; /* flush extents to disk if needed */
+#if defined(DARWIN)
+ ret = -ENOTSUP;
+ goto done_err;
+#else
if (ioctl(fd, FS_IOC_FIEMAP, fiemap) < 0) {
ret = -errno;
goto done_err;
}
-
+#endif
size = sizeof(struct fiemap_extent) * (fiemap->fm_mapped_extents);
_realloc_fiemap = (struct fiemap *)realloc(fiemap, sizeof(struct fiemap) + size);
fiemap->fm_extent_count = fiemap->fm_mapped_extents;
fiemap->fm_mapped_extents = 0;
+#if defined(DARWIN)
+ ret = -ENOTSUP;
+ goto done_err;
+#else
if (ioctl(fd, FS_IOC_FIEMAP, fiemap) < 0) {
ret = -errno;
goto done_err;
}
*pfiemap = fiemap;
-
+#endif
return 0;
done_err: