blkid_topology_get_logical_sector_size(tp));
printf("\tphysical sector size : %lu\n",
blkid_topology_get_physical_sector_size(tp));
+ printf("\tdax support : %lu\n",
+ blkid_topology_get_dax(tp));
}
/*
__ul_attribute__((nonnull));
extern unsigned long blkid_topology_get_physical_sector_size(blkid_topology tp)
__ul_attribute__((nonnull));
+extern unsigned long blkid_topology_get_dax(blkid_topology tp)
+ __ul_attribute__((nonnull));
/*
* partitions probing
blkid_probe_reset_buffers;
blkid_probe_hide_range;
} BLKID_2.30;
+
+BLKID_2_35 {
+ blkid_topology_get_dax;
+} BLKID_2_31;
{ "queue/minimum_io_size", blkid_topology_set_minimum_io_size },
{ "queue/optimal_io_size", blkid_topology_set_optimal_io_size },
{ "queue/physical_block_size", blkid_topology_set_physical_sector_size },
+ { "queue/dax", blkid_topology_set_dax },
};
static int probe_sysfs_tp(blkid_probe pr,
unsigned long optimal_io_size;
unsigned long logical_sector_size;
unsigned long physical_sector_size;
+ unsigned long dax;
};
/*
static const struct blkid_idinfo *idinfos[] =
{
#ifdef __linux__
- &ioctl_tp_idinfo,
&sysfs_tp_idinfo,
+ &ioctl_tp_idinfo,
&md_tp_idinfo,
&dm_tp_idinfo,
&lvm_tp_idinfo,
val);
}
+int blkid_topology_set_dax(blkid_probe pr, unsigned long val)
+{
+ return topology_set_value(pr,
+ "DAX",
+ offsetof(struct blkid_struct_topology, dax),
+ val);
+}
+
/**
* blkid_topology_get_alignment_offset:
* @tp: topology
return tp->physical_sector_size;
}
+/**
+ * blkid_topology_get_dax
+ * @tp: topology
+ *
+ * Returns: 1 if dax is supported, 0 otherwise.
+ */
+unsigned long blkid_topology_get_dax(blkid_topology tp)
+{
+ return tp->dax;
+}
extern int blkid_topology_set_minimum_io_size(blkid_probe pr, unsigned long val);
extern int blkid_topology_set_optimal_io_size(blkid_probe pr, unsigned long val);
extern int blkid_topology_set_physical_sector_size(blkid_probe pr, unsigned long val);
+extern int blkid_topology_set_dax(blkid_probe pr, unsigned long val);
/*
* topology probers