Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,10 @@

* Matrix Storage Manager Support (no reference, metadata format documentation is proprietary).

Known as **IMSM**. Metadata format developed and maintained by **Intel®** as a part of **VROC**
solution. There are some functional differences between **native** and **imsm**. The most
important difference is that the metadata is managed from userspace.
Known as **IMSM**. Metadata format developed by**Intel®**. Currently, maintained
by **Graid Technology Inc.** as a part of **VROC** solution. There are some functional differences
between **native** and **imsm**.
The most important difference is that the metadata is managed from userspace.

**CAUTION:** **imsm** is compatible with **Intel RST**, however it is not officially supported.
You are using it on your own risk.
Expand Down
2 changes: 1 addition & 1 deletion mdadm.8.in
Original file line number Diff line number Diff line change
Expand Up @@ -365,7 +365,7 @@ Use the Intel(R) Matrix Storage Manager metadata format. This creates a
which is managed in a similar manner to DDF, and is supported by an
option-rom on some platforms:
.IP
.B https://www.intel.com/content/www/us/en/support/products/122484
.B https://docs.graidtech.com/vroc/
.PP
.RE

Expand Down
2 changes: 1 addition & 1 deletion platform-intel.c
Original file line number Diff line number Diff line change
Expand Up @@ -691,7 +691,7 @@ static const struct imsm_orom *find_imsm_hba_orom(struct sys_dev *hba)
#define RST_TSATA_V_GUID \
EFI_GUID(0x101ce8f1, 0xb873, 0x4362, 0xa9, 0x76, 0xb5, 0x54, 0x31, 0x74, 0x52, 0x7e)

/* GUID entry in 'UEFI' for Intel(R) VROC VMD. */
/* GUID entry in 'UEFI' for VROC on Intel(R) VMD */
#define RST_UEFI_V_GUID \
EFI_GUID(0x4bf2da96, 0xde6e, 0x4d8a, 0xa8, 0x8b, 0xb3, 0xd, 0x33, 0xf6, 0xf, 0x3e)

Expand Down
28 changes: 16 additions & 12 deletions super-intel.c
Original file line number Diff line number Diff line change
Expand Up @@ -2727,16 +2727,21 @@ static void print_imsm_chunk_size_capability(const struct imsm_orom *orom)
static void print_imsm_capability(const struct orom_entry *entry)
{
const struct imsm_orom *orom = &entry->orom;
const char *platform_name;

if (imsm_orom_is_enterprise(orom) && orom->major_ver >= 26) {
platform_name = "VROC(TM) by Graid Technology Inc.";
} else if (orom->capabilities == 0 && orom->driver_features == 0) {
platform_name = "Intel(R) Matrix Storage Manager";
} else if (imsm_orom_is_enterprise(orom) && orom->major_ver >= 6) {
platform_name = "Intel(R) Virtual RAID on CPU";
} else {
platform_name = imsm_orom_is_enterprise(orom) ?
"Intel(R) Rapid Storage Technology enterprise" :
"Intel(R) Rapid Storage Technology";
}

printf(" Platform : Intel(R) ");

if (orom->capabilities == 0 && orom->driver_features == 0)
printf("Matrix Storage Manager\n");
else if (imsm_orom_is_enterprise(orom) && orom->major_ver >= 6)
printf("Virtual RAID on CPU\n");
else
printf("Rapid Storage Technology%s\n",
imsm_orom_is_enterprise(orom) ? " enterprise" : "");
printf(" Platform : %s\n", platform_name);

if (orom->major_ver || orom->minor_ver || orom->hotfix_ver || orom->build) {
if (imsm_orom_is_vmd_without_efi(orom))
Expand Down Expand Up @@ -6146,13 +6151,12 @@ static int add_to_super_imsm(struct supertype *st, mdu_disk_info_t *dk,
}

if (is_multipath_nvme(fd))
pr_err("%s controller supports Multi-Path I/O, Intel (R) VROC does not support multipathing\n",
pr_err("%s controller supports Multi-Path I/O, VROC does not support multipathing\n",
basename(cntrl_path));

if (super->orom && devpath_to_vendor(pci_dev_path) != 0x8086 &&
!imsm_orom_has_tpv_support(super->orom)) {
pr_err("\tPlatform configuration does not support non-Intel NVMe drives.\n"
"\tPlease refer to Intel(R) RSTe/VROC user guide.\n");
pr_err("\tPlatform configuration does not support non-Intel NVMe drives.\n");
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No more documentation for the user to refer to?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The link to the documentation is already mentioned in the manual. I think code messages should not refer to documentation, as the user is already aware of the product or metadata being used. Otherwise, this line would have to be added to every similar existing message.

goto error;
}
}
Expand Down
Loading