删除文件 0009-os_linux.cpp-Fix-d-megaraid-open-crash-on-missing-pr.patch
This commit is contained in:
parent
5320b665c6
commit
cc4f39e7b4
@ -1,62 +0,0 @@
|
||||
From f201d3a068d2bbdc36b89d248b521ba2da3ad741 Mon Sep 17 00:00:00 2001
|
||||
From: chrfranke <authors@smartmontools.org>
|
||||
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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user