diff --git a/0009-os_linux.cpp-Fix-d-megaraid-open-crash-on-missing-pr.patch b/0009-os_linux.cpp-Fix-d-megaraid-open-crash-on-missing-pr.patch deleted file mode 100644 index c79da8a..0000000 --- a/0009-os_linux.cpp-Fix-d-megaraid-open-crash-on-missing-pr.patch +++ /dev/null @@ -1,62 +0,0 @@ -From f201d3a068d2bbdc36b89d248b521ba2da3ad741 Mon Sep 17 00:00:00 2001 -From: chrfranke -Date: Thu, 11 Oct 2018 18:51:35 +0000 -Subject: [PATCH 204/291] os_linux.cpp: Fix '-d megaraid' open crash on missing - /proc/devices. There is no /proc/devices on ESXi (see #800) and WSL. - -git-svn-id: http://svn.code.sf.net/p/smartmontools/code/trunk@4809 4ea69e1a-61f1-4043-bf83-b5c94c648137 ---- - smartmontools/ChangeLog | 5 +++++ - smartmontools/os_linux.cpp | 34 ++++++++++++++++++---------------- - 2 files changed, 23 insertions(+), 16 deletions(-) - -diff --git a/smartmontools/os_linux.cpp b/smartmontools/os_linux.cpp -index 1a1b0858..9790818a 100644 ---- a/smartmontools/os_linux.cpp -+++ b/smartmontools/os_linux.cpp -@@ -1299,24 +1299,26 @@ bool linux_megaraid_device::open() - } - /* Perform mknod of device ioctl node */ - FILE * fp = fopen("/proc/devices", "r"); -- while (fgets(line, sizeof(line), fp) != NULL) { -- int n1 = 0; -- if (sscanf(line, "%d megaraid_sas_ioctl%n", &mjr, &n1) == 1 && n1 == 22) { -- n1=mknod("/dev/megaraid_sas_ioctl_node", S_IFCHR, makedev(mjr, 0)); -- if(report > 0) -- pout("Creating /dev/megaraid_sas_ioctl_node = %d\n", n1 >= 0 ? 0 : errno); -- if (n1 >= 0 || errno == EEXIST) -- break; -- } -- else if (sscanf(line, "%d megadev%n", &mjr, &n1) == 1 && n1 == 11) { -- n1=mknod("/dev/megadev0", S_IFCHR, makedev(mjr, 0)); -- if(report > 0) -- pout("Creating /dev/megadev0 = %d\n", n1 >= 0 ? 0 : errno); -- if (n1 >= 0 || errno == EEXIST) -- break; -+ if (fp) { -+ while (fgets(line, sizeof(line), fp) != NULL) { -+ int n1 = 0; -+ if (sscanf(line, "%d megaraid_sas_ioctl%n", &mjr, &n1) == 1 && n1 == 22) { -+ n1=mknod("/dev/megaraid_sas_ioctl_node", S_IFCHR, makedev(mjr, 0)); -+ if(report > 0) -+ pout("Creating /dev/megaraid_sas_ioctl_node = %d\n", n1 >= 0 ? 0 : errno); -+ if (n1 >= 0 || errno == EEXIST) -+ break; -+ } -+ else if (sscanf(line, "%d megadev%n", &mjr, &n1) == 1 && n1 == 11) { -+ n1=mknod("/dev/megadev0", S_IFCHR, makedev(mjr, 0)); -+ if(report > 0) -+ pout("Creating /dev/megadev0 = %d\n", n1 >= 0 ? 0 : errno); -+ if (n1 >= 0 || errno == EEXIST) -+ break; -+ } - } -+ fclose(fp); - } -- fclose(fp); - - /* Open Device IOCTL node */ - if ((m_fd = ::open("/dev/megaraid_sas_ioctl_node", O_RDWR)) >= 0) { --- -2.19.1 -