case LDD_MT_LDISKFS2:
ret = ldiskfs_write_ldd(mop);
break;
+#ifdef HAVE_ZFS_OSD
+ case LDD_MT_ZFS:
+ ret = zfs_write_ldd(mop);
+ break;
+#endif /* HAVE_ZFS_OSD */
default:
fatal();
fprintf(stderr, "unknown fs type %d '%s'\n",
case LDD_MT_LDISKFS2:
ret = ldiskfs_read_ldd(dev, ldd);
break;
+#ifdef HAVE_ZFS_OSD
+ case LDD_MT_ZFS:
+ ret = zfs_read_ldd(dev, ldd);
+ break;
+#endif /* HAVE_ZFS_OSD */
default:
fatal();
fprintf(stderr, "unknown fs type %d '%s'\n",
vprint("found\n");
return 1;
}
+#ifdef HAVE_ZFS_OSD
+ if (zfs_is_lustre(dev, mount_type)) {
+ vprint("found\n");
+ return 1;
+ }
+#endif /* HAVE_ZFS_OSD */
vprint("not found\n");
return 0;
case LDD_MT_LDISKFS2:
ret = ldiskfs_make_lustre(mop);
break;
+#ifdef HAVE_ZFS_OSD
+ case LDD_MT_ZFS:
+ ret = zfs_make_lustre(mop);
+ break;
+#endif /* HAVE_ZFS_OSD */
default:
fatal();
fprintf(stderr, "unknown fs type %d '%s'\n",
default_mountopts, default_len,
always_mountopts, always_len);
break;
+#ifdef HAVE_ZFS_OSD
+ case LDD_MT_ZFS:
+ ret = zfs_prepare_lustre(mop,
+ default_mountopts, default_len,
+ always_mountopts, always_len);
+ break;
+#endif /* HAVE_ZFS_OSD */
default:
fatal();
fprintf(stderr, "unknown fs type %d '%s'\n",
ret = ldiskfs_init();
if (ret)
return ret;
+#ifdef HAVE_ZFS_OSD
+ ret = zfs_init();
+ /* we want to be able to set up a ldiskfs-based filesystem w/o
+ * the ZFS modules installed, see ORI-425 */
+ if (ret)
+ ret = 0;
+#endif /* HAVE_ZFS_OSD */
return ret;
}
void osd_fini(void)
{
ldiskfs_fini();
+#ifdef HAVE_ZFS_OSD
+ zfs_fini();
+#endif /* HAVE_ZFS_OSD */
}
__u64 get_device_size(char* device)