nd_dax
构造nd_dax的函数
nd_dax_probe()
nd_dax_alloc()
nd_pfn_devinit()
nd_pfn_validate()
__nd_device_register()nd_dax
nd_dax
+-------------------------------------------------+
|nd_pfn |
| (struct nd_pfn) |
| +-------------------------------------------+
| |ndns | points to the ns
| | (struct nd_namespace_common*) |
| |dev |
| | (struct device) |
| | +--------------------------------------+
| | |name | "dax0.0"
| | |groups | nd_dax_attribute_groups
| | |type | nd_dax_device_type
| | | |
| | |driver_data | = dax_region
| | | |
| | +--------------------------------------+
| |id |
| | (int) |
| |uuid |
| | (u8*) |
| |mode | PFN_MODE_NONE
| | (enum nd_pfn_mode) |
| |align | HPAGE_PMD_SIZE / PAGE_SIZE
| |npfns | tricky?
| |pfn_sb | setup in nd_pfn_init
| | (struct nd_pfn_sb*) |
| | +--------------------------------------+
| | |signature[PFN_SIG_LEN] |
| | |uuid[16] | = nd_pfn->uuid
| | |parent_uuid[16] |
| | | (u8) |
| | |mode | = nd_pfn->mode
| | |align | = nd_pfn->align
| | | (__le32) |
| | | |
| | |start_pad | trim_pfn_device()
| | |end_trunc |
| | | (__le32) |
| | |dataoff | meta data
| | |npfns | number of pfn
| | | (__le64) |
| | | |
+-----+----+--------------------------------------+ dax_pmem_driver
Last updated