smartd would not start with huge FD limits (#RHEL-15505)

Resolves: #RHEL-15505
This commit is contained in:
Michal Hlavinka 2024-01-16 14:52:30 +01:00
parent 6c47e0d8b1
commit 91138223ef
3 changed files with 210 additions and 40 deletions

199
drivedb.h
View File

@ -4,7 +4,7 @@
* Home page of code is: https://www.smartmontools.org
*
* Copyright (C) 2003-11 Philip Williams, Bruce Allen
* Copyright (C) 2008-23 Christian Franke
* Copyright (C) 2008-24 Christian Franke
*
* SPDX-License-Identifier: GPL-2.0-or-later
*/
@ -68,7 +68,7 @@
/*
const drive_settings builtin_knowndrives[] = {
*/
{ "VERSION: 7.2/5533 2023-08-19 15:18:18 $Id$",
{ "VERSION: 7.2/5577 2024-01-12 18:07:33 $Id$",
"-", "-",
"Version information",
""
@ -290,6 +290,65 @@ const drive_settings builtin_knowndrives[] = {
//"-v 199,raw48,UDMA_CRC_Error_Count "
//"-v 240,raw48,Unknown_SSD_Attribute "
},
{ "ATP SATA III Value Line SSDs",
"ATP SATA III (M.2 (2242|2280)|mSATA|mSATA SSD|2.5 inch)",
// tested M.2 2280 with firmware version SBFMBB.3 (Value Line),
// ATP SATA III M.2 2280/SBFMBB.3
"SBFMB1.1|SBFMBB.3|SBFMT1.3",
"",
"-v 1,raw48,Raw_Read_Error_Count "
//"-v 9,raw24(raw8),Power_On_Hours "
//"-v 12,raw48,Power_Cycle_Count "
"-v 168,raw48,SATA_PHY_Error_Count "
"-v 170,raw16,Bad_Bl_Ct_LATER_0_EARLY " // Raw value: Byte [5~4] Later bad block count
// Byte [3~2] 0
// Byte [1~0] Early bad block count (meaning see ticket #1642)
"-v 173,raw16,Erase_Count_0_AVG_MAX " // Raw value: Byte [5~4] 0
// Byte [3~2] Average erase count
// Byte [1~0] Max erase count
"-v 192,raw48,Unexpected_Power_Loss "
//"-v 194,tempminmax,Device_Temperature "
"-v 218,raw48,CRC_Errors "
"-v 231,raw48,Percent_Lifetime_Remain "
"-v 241,raw48,Host_Writes_GiB "
},
{ "ATP SATA III Superior Line SSDs",
"ATP (SATA III|SATAIII|I-Temp. SATA III|I-Temp. SATAIII) (M.2 (2242|2280)|mSATA|2.5 inch) SSD",
// tested M.2 2242 & 2280 with firmware version T0205B (Superior Line with PLP),
// ATP SATA III M.2 2280 SSD/T0205B
"T0205B|U0316B",
"",
"-v 1,raw48,Raw_Read_Error_Count "
"-v 5,raw16(raw16),Realloc_Flash_Blocks_Ct "
//"-v 9,raw24(raw8),Power_On_Hours "
//"-v 12,raw48,Power_Cycle_Count "
"-v 14,raw48,Device_Raw_Capacity "
"-v 15,raw48,Device_User_Capacity "
"-v 16,raw48,Initial_Spare_Blocks "
"-v 17,raw48,Remaining_Spare_Blocks "
"-v 100,raw48,Total_Erease_Count "
"-v 160,raw48,Uncorrectable_Sectors "
"-v 172,raw48,Block_Erase_Failures "
"-v 173,raw48,Maximum_Erase_Count "
"-v 174,raw48,Unexpected_Power_Loss "
"-v 175,raw48,Average_Erase_Count "
"-v 181,raw48,Block_Program_Failures "
"-v 187,raw48,Reported_Uncorr_Errors "
//"-v 194,tempminmax,Device_Temperature "
//"-v 195,raw48,Hardware_ECC_Recovered "
"-v 197,raw48,Current_Pending_ECC_Cnt " // Like Crucial MX500: May flip 0 <> 1 (ticket #1227)
"-v 198,raw48,Offline_UErr_Media_Scan "
"-v 199,raw48,SATA_FIS_CRC_Errors "
"-v 202,raw48,Percent_Lifetime_Used "
"-v 205,raw48,Thermal_Asperity_Rate "
"-v 231,tempminmax,Controller_Temperature "
"-v 234,raw48,Sectors_Read_from_NAND "
"-v 235,raw48,Sectors_Written_to_SSD "
"-v 241,raw48,Sectors_Written_to_NAND "
"-v 242,raw48,Sectors_Read_from_SSD "
"-v 248,raw48,Percent_Lifetime_Remain "
"-v 249,raw48,Spare_Blocks_Remaining " // same as ID 17 (Remaining_Spare_Blocks)
},
{ "ATP SATA III aMLC M.2 2242/80 Embedded SSDs",
"ATP I-Temp M\\.2 22(42|80)", // tested with ATP I-Temp M.2 2242/R0822A,
// ATP I-Temp M.2 2280/R0822A
@ -610,6 +669,33 @@ const drive_settings builtin_knowndrives[] = {
"-v 241,raw48,Lifetime_Writes_GiB "
"-v 242,raw48,Lifetime_Reads_GiB"
},
{ "SandForce Driven SSDs",
"SanDisk SDSSDA(120|240|480)G|" // SanDisk SSD Plus, tested with SanDisk SDSSDA240G/U21010RL
"SanDisk SD8S[BFN]AT128G1(00|12)2", // SanDisk Z400s, tested with
// SanDisk SD8SFAT128G1122/Z2333000, SanDisk SD8SNAT128G1002/Z2317002
// SanDisk SD8SBAT128G1002/Z2317002
"", "",
"-v 5,raw48,Retired_Block_Count "
//"-v 9,raw24(raw8),Power_On_Hours "
//"-v 12,raw48,Power_Cycle_Count "
"-v 166,raw48,Min_PE_Cycles "
"-v 167,raw48,Max_Bad_Blocks_Per_Die "
"-v 168,raw48,Max_PE_Cycles "
"-v 169,raw48,Total_Bad_Blocks "
"-v 170,raw48,Grown_Bad_Blocks "
"-v 171,raw48,Program_Fail_Count "
"-v 172,raw48,Erase_Fail_Count "
"-v 173,raw48,Average_PE_Cycles "
"-v 174,raw48,Unexpect_Power_Loss_Ct "
//"-v 187,raw48,Reported_Uncorrect "
//"-v 194,tempminmax,Temperature_Celsius "
//"-v 199,raw48,UDMA_CRC_Error_Count "
"-v 230,raw48,Media_Wearout_Indicator "
//"-v 232,raw48,Available_Reservd_Space "
"-v 233,raw48,NAND_GiB_Written "
"-v 241,raw48,Lifetime_Writes_GiB "
"-v 242,raw48,Lifetime_Reads_GiB"
},
{ "SandForce Driven SSDs",
"SandForce 1st Ed\\.|" // Demo Drive, tested with firmware 320A13F0
"ADATA SSD S(396|510|599) .?..GB|" // tested with ADATA SSD S510 60GB/320ABBF0,
@ -680,7 +766,6 @@ const drive_settings builtin_knowndrives[] = {
"Patriot Pyro|" // tested with Patriot Pyro/332ABBF0
"SanDisk SDSSDX(60|120|240|480)GG25|" // SanDisk Extreme, SF-2281, tested with
// SDSSDX240GG25/R201
"SanDisk SDSSDA(120|240|480)G|" // SanDisk SSD Plus, tested with SanDisk SDSSDA240G/U21010RL
"SuperSSpeed S301 [0-9]*GB|" // SF-2281, tested with SuperSSpeed S301 128GB/503
"SG9XCS2D(0?50|100|200|400)GESLT|" // Smart Storage Systems XceedIOPS2, tested with
// SG9XCS2D200GESLT/SA03L370
@ -763,9 +848,10 @@ const drive_settings builtin_knowndrives[] = {
// KINGSTON RBUSNS4180S3256GJ/SBFK61D1, KINGSTON RBUSNS8180S3512GJ/SBFK61D1
"KINGSTON SEDC400S37(400|480|800|960|1600|1800)G|" // DC400, tested with
// KINGSTON SEDC400S37480G/SAFM02.[GH], KINGSTON SEDC400S37960G/SAFM32.I
"KINGSTON SEDC(450R|500[MR])(480|960|1920|3840|7680)G|" // DC450R, DC500M/R, tested with
"KINGSTON SEDC(450R|500[MR]|600M)(480|960|1920|3840|7680)G|" // DC450R, DC500M/R, DC600M, tested with
// KINGSTON SEDC450R480G/SCEKH3. KINGSTON SEDC500M1920G/SCEKJ2.3,
// KINGSTON SEDC500R480G/SCEKJ2.3, KINGSTON SEDC450R7680G/SCEKH3.4
// KINGSTON SEDC500R480G/SCEKJ2.3, KINGSTON SEDC450R7680G/SCEKH3.4,
// KINGSTON SEDC600M7680G/SCEKH5.1
"KINGSTON SM2280S3G2(120)G|" // KINGSTON SM2280S3G2120G/SAFM01.R
"KINGSTON SUV300S37A(120|240|480)G|" // UV300 SSD, tested with KINGSTON SUV300S37A120G/SAFM11.K
"KINGSTON SKC310S3B?7A960G|" // SSDNow KC310, KINGSTON SKC310S37A960G/SAFM00.r
@ -1648,9 +1734,9 @@ const drive_settings builtin_knowndrives[] = {
},
{ "Intel S4510/S4610/S4500/S4600 Series SSDs", // INTEL SSDSC2KB480G7/SCV10100,
// INTEL SSDSC2KB960G7/SCV10100, INTEL SSDSC2KB038T7/SCV10100,
// INTEL SSDSC2KB038T7/SCV10121, INTEL SSDSC2KG240G7/SCV10100
// INTEL SSDSC2KB480GZ/7CV10100
"INTEL SSDSC(2K|KK)(B|G)(240G|480G|960G|019T|038T)(7|8|Z).?",
// INTEL SSDSC2KB038T7/SCV10121, INTEL SSDSC2KG240G7/SCV10100,
// INTEL SSDSC2KB480GZ/7CV10100, INTEL SSDSC2KB076T8/XCV10132
"INTEL SSDSC(2K|KK)(B|G)(240G|480G|960G|019T|038T|076T)[78Z].?",
"", "",
//"-v 5,raw16(raw16),Reallocated_Sector_Ct "
//"-v 9,raw24(raw8),Power_On_Hours "
@ -1927,7 +2013,8 @@ const drive_settings builtin_knowndrives[] = {
"SAMSUNG MZ7L3(240|480|960|1T9|3T8|7T6)H(B[LN][AT]|CHQ|CJR)-.*|" // PM893/897, tested with
// SAMSUNG MZ7L3240HCHQ-00A07/JXTC104Q, SAMSUNG MZ7L3480HCHQ-00A07/JXTC104Q,
// SAMSUNG MZ7L3480HBLT-00A07/JXTE004Q, SAMSUNG MZ7L33T8HBLT-00A07/JXTC104Q
"MK000(240|480|960)GZXRB|" // MK000960GZXRB/HPG0 (HPE MZ7L3960HBLT-00AH3)
"MK000(240|480|960)GZXR[AB]|" // MK000960GZXRB/HPG0 (HPE MZ7L3960HBLT-00AH3)
// MK000480GZXRA/HPG0 (HPE P18432-B21)
"SAMSUNG MZ7KH(240|480|960|1T9|3T8)HA(HQ|JR|LS)-.*|" //SM883
"SAMSUNG MZ[7N](LF|TY)(128|192|256)H[CD](GS|HP)-.*|" // CM871/871a, tested with SAMSUNG MZNLF128HCHP-000H1/FXT21H1Q,
// SAMSUNG MZNTY256HDHP-000/MAT21K0Q, SAMSUNG MZ7LF192HCGS-000L1/FXT03L1Q
@ -1989,21 +2076,24 @@ const drive_settings builtin_knowndrives[] = {
},
{ "Marvell based SanDisk SSDs",
"SanDisk SD5SG2[0-9]*G1052E|" // X100 (88SS9174), tested with SanDisk SD5SG2256G1052E/10.04.01
"SanDisk SD6S[BF][12]M[0-9]*G(1022I?)?|" // X110/X210 (88SS9175/187?), tested with SanDisk SD6SB1M064G1022I/X231600,
"SanDisk SD6S[BFP][12]M[0-9]*G(1022I?|1102)?|" // X110/X210 (88SS9175/187?), tested with SanDisk SD6SB1M064G1022I/X231600,
// SanDisk SD6SB1M256G1022I/X231600, SanDisk SD6SF1M128G1022/X231200, SanDisk SD6SB2M512G1022I/X210400
"SanDisk SD7S[BN]6S-?(128|256|512)G(1122|-1006)|" // X300 (88SS9189?), tested with
// SanDisk SD7SB6S128G1122/X3310000, SanDisk SD7SN6S-512G-1006/X3511006
"SanDisk SD8S[BN]8U-?((128|256|512)G|1T00)(1122|-1006)|" // X400 (88SS1074), tested with SanDisk SD8SB8U128G1122/X4120000
"SanDisk SD9S[BN]8W-?((128|256|512)G|[12]T00)(1122|-1006)|" // X600, tested with SanDisk SD9SB8W128G1122/X6107000, SD9SB8W-512G-1006/X6103006
// SanDisk SD9SB8W1T001122/X6107000, SD9SB8W256G1122/X6107000
// SanDisk SD6SP1M128G1102/X231302
"SanDisk SD7S[BN][67]S-?(128|256|512|960)G(1122|-1006)?|" // X300 (88SS9189?), tested with
// SanDisk SD7SB6S128G1122/X3310000, SanDisk SD7SN6S-512G-1006/X3511006, SanDisk SD7SB7S960G/X36310DC
"SanDisk SD8[ST][BN]8U-?((128|256|512)G|1T00)(1122|-10[01]6)|" // X400 (88SS1074), tested with SanDisk SD8SB8U128G1122/X4120000
// SanDisk SD8TB8U-512G-1016/X4163116
"SanDisk SD9S[BN]8W-?((128|256|512)G|[12]T00)(1122|-1006|1020)|" // X600, tested with SanDisk SD9SB8W128G1122/X6107000, SD9SB8W-512G-1006/X6103006
// SanDisk SD9SB8W1T001122/X6107000, SD9SB8W256G1122/X6107000, SanDisk SD9SN8W128G1020/X6101020
"SanDisk SDSSDA-((120|240|480)G|[12]T00)|" // Plus, tested with SanDisk SDSSDA-2T00/411040RL
"SanDisk SDSSDHP[0-9]*G|" // Ultra Plus (88SS9175), tested with SanDisk SDSSDHP128G/X23[01]6RL
"SanDisk (SDSSDHII|Ultra II )[0-9]*GB?|" // Ultra II (88SS9190/88SS9189), tested with
// SanDisk SDSSDHII120G/X31200RL, SanDisk Ultra II 960GB/X41100RL
"SanDisk SDSSDH2(128|256)G|" // SanDisk SDSSDH2128G/X211200
"SanDisk SDSSDH3((250|500|1000|1024|2000)G| [124]T00)|" // Ultra 3D, tested with SanDisk SDSSDH3250G/X61170RL,
"SanDisk SDSSDH3((250|500| 512|1000|1024|2000)G| [124]T00)|" // Ultra 3D, tested with SanDisk SDSSDH3250G/X61170RL,
// SanDisk SDSSDH3500G/X61110RL, SanDisk SDSSDH31024G/X6107000, SanDisk SDSSDH3 2T00/411040RL,
// SanDisk SDSSDH3 4T00/411040RL, SanDisk SDSSDH3 1T00/415020RL
// SanDisk SDSSDH3 4T00/411040RL, SanDisk SDSSDH3 1T00/415020RL,
// SanDisk SDSSDH3 512G/40101000
"SanDisk SDSSDXPS?[0-9]*G|" // Extreme II/Pro (88SS9187), tested with SanDisk SDSSDXP480G/R1311,
// SanDisk SDSSDXPS480G/X21200RL
"SanDisk SSD G5 BICS4|" // WD Blue SSD WDS100T2B0A (#1378), tested with SanDisk SSD G5 BICS4/415000WD
@ -2050,7 +2140,8 @@ const drive_settings builtin_knowndrives[] = {
"SanDisk SSD i100 [0-9]*GB|" // tested with SanDisk SSD i100 8GB/11.56.04, 24GB/11.56.04
"SanDisk SSD U100 ([0-9]*GB|SMG2)|" // tested with SanDisk SSD U100 8GB/10.56.00, 256GB/10.01.02, SMG2/10.56.04
"SanDisk SSD U110 (8|16|24|32|64|128)GB|" // tested with SanDisk SSD U110 32GB/U221000
"SanDisk SDSA6[GM]M-[0-9]*G-.*|" // tested with SanDisk SDSA6GM-016G-1006/U221006, SanDisk SDSA6MM-016G-1006/U221006
"SanDisk SDSA6[DGM]M-[0-9]*G-.*|" // tested with SanDisk SDSA6GM-016G-1006/U221006, SanDisk SDSA6MM-016G-1006/U221006,
// SanDisk SDSA6GM-016G-1006/U221006
"SanDisk SD7[SU]B[23]Q(064|128|256|512)G.*", // tested with SD7SB3Q064G1122/SD7UB3Q256G1122/SD7SB3Q128G/SD7UB2Q512G1122
"", "",
//"-v 5,raw16(raw16),Reallocated_Sector_Ct "
@ -2260,9 +2351,9 @@ const drive_settings builtin_knowndrives[] = {
"Dogfish SSD (128|256|512)GB|" // tested with Dogfish SSD 128GB/S1211A0
"GIM(16|32|64|128|256|512)|"// GUDGA GIM, tested with GIM128/U0401A0
"INTENSO( SSD)?|" // tested with INTENSO/S1211A0 (Portable SSD 256GB premium edition),
// INTENSO/V0609A0, INTENSO SSD/V0823A0
"Intenso ?SSD( Sata III)?|" // tested with Intenso SSD/Q1107A0, Intenso SSD Sata III/P0510E,
// Intenso SSD Sata III/R0817B0, Intenso SSD Sata III/V0303B0
// INTENSO/V0609A0, INTENSO SSD/V0823A0, INTENSO/V0718B0
"Intenso ?SSD( S(ata|ATA) ?III)?|" // tested with Intenso SSD/Q1107A0, Intenso SSD Sata III/P0510E,
// Intenso SSD Sata III/R0817B0, Intenso SSD Sata III/V0303B0, Intenso SSD SATAIII/W0825A0
"KingFast|" // tested with KingFast/P0725A (F6M), KingFast/S0424A0 (120GB), KingFast/S1128B0 (512GB)
"KSM512|" // KingSpec, tested with KSM512/S0509A0
"LDLC|" // tested with LDLC/KFS03005
@ -2278,7 +2369,7 @@ const drive_settings builtin_knowndrives[] = {
"Verbatim Vi550 S3", // may also exist with different controller (tickets #1626 <> #1629),
// tested with Verbatim Vi550 S3/U1124A0 (128GB)
"HPS2227I|KFS03005|P0510E|P0725A|Q(0627|1107)A0|R0817B0|S(0424|0509|0618|1211|1230)A0|"
"S112[78]B0|T0(311|519|910)A0|U(0202|0401|0506|1124)A0|V0((606|823)A|303B)0",
"S112[78]B0|T0(311|519|910)A0|U(0202|0401|0506|1124)A0|V0((609|823)A|(303|718)B)0|V1027A0|W0825A0",
"",
"-v 148,raw48,Total_SLC_Erase_Ct "
"-v 149,raw48,Max_SLC_Erase_Ct "
@ -3650,8 +3741,8 @@ const drive_settings builtin_knowndrives[] = {
"", "", ""
},
{ "HGST Ultrastar HC310/320", // tested with HGST HUS726T6TALE6L4/VKGNW40H,
// HGST HUS728T8TALE6L4/V8GNW460
"HGST HUS72(6T[46]|8T8)TALE6L4",
// HGST HUS728T8TALE6L4/V8GNW460, HGST HUS726T4TALA6L1/VLGNX41C
"HGST HUS72(6T[46]|8T8)TAL[AE]6L[14]",
"", "", ""
},
{ "HGST Ultrastar He6", // tested with HGST HUS726060ALA640/AHGNT1E2
@ -3873,17 +3964,21 @@ const drive_settings builtin_knowndrives[] = {
"TOSHIBA MG03ACA[1234]00Y?",
"", "", ""
},
{ "Toshiba MG04ACA... Enterprise HDD", // tested with TOSHIBA MD04ACA500/FP1A,
// TOSHIBA MG04ACA600A/FS2B, TOSHIBA MG04ACA400NY/FK5D (Dell)
"TOSHIBA MG04ACA[23456]00([AEN].?)?",
{ "Toshiba MD04ACA... Enterprise HDD", // tested with TOSHIBA MD04ACA500/FP1A
"TOSHIBA MD04ACA[2-6]00N?",
"", "", ""
},
{ "Toshiba MG04ACA... Enterprise HDD", // tested with TOSHIBA MG04ACA600A/FS2B,
// TOSHIBA MG04ACA400NY/FK5D (Dell)
"TOSHIBA MG04ACA[1-6]00[AEN]Y?",
"", "", ""
},
{ "Toshiba MG05ACA... Enterprise Capacity HDD", // tested with TOSHIBA MG05ACA800E/GX2A
"TOSHIBA MG05ACA800[AE]",
"", "", ""
},
{ "Toshiba MG06ACA... Enterprise Capacity HDD", // tested with TOSHIBA MG06ACA800E/4303,
// TOSHIBA MG06ACA10TE/0103
{ "Toshiba MG06ACA... Enterprise Capacity HDD", // tested with TOSHIBA MG06ACA800E/0109,
// TOSHIBA MG06ACA800E/4303, TOSHIBA MG06ACA10TE/0103,
"TOSHIBA MG06ACA([68]00|10T)[AE]Y?",
"", "", ""
},
@ -3900,6 +3995,11 @@ const drive_settings builtin_knowndrives[] = {
"-v 23,raw48,Helium_Condition_Lower "
"-v 24,raw48,Helium_Condition_Upper"
},
{ "Toshiba MG08ADA... Enterprise Capacity HDD", // tested with TOSHIBA MG08ADA800E/0101,
// TOSHIBA MG08ADA800E/4303, TOSHIBA MG08ADA800E/4304
"TOSHIBA MG08ADA[468]00[AEN]Y?",
"", "", ""
},
{ "Toshiba MG09ACA... Enterprise Capacity HDD", // tested with TOSHIBA MG09ACA18TE/0102
"TOSHIBA MG09ACA1[68]T[AE]Y?",
"", "",
@ -3914,6 +4014,13 @@ const drive_settings builtin_knowndrives[] = {
"-v 24,raw48,Helium_Condition_Upper "
"-v 27,raw48,MAMR_Health_Monitor"
},
{ "Toshiba MG10AFA... Enterprise Capacity HDD", // tested with TOSHIBA MG10AFA22TE/0102
"TOSHIBA MG10AFA22T[AE]Y?",
"", "",
"-v 23,raw48,Helium_Condition_Lower "
"-v 24,raw48,Helium_Condition_Upper "
"-v 27,raw48,MAMR_Health_Monitor"
},
{ "Toshiba 3.5\" DT01ABA... Desktop HDD", // tested with TOSHIBA DT01ABA300/MZ6OABB0
"TOSHIBA DT01ABA(100|150|200|300)",
"", "", ""
@ -3924,10 +4031,10 @@ const drive_settings builtin_knowndrives[] = {
"", "", ""
},
{ "Toshiba N300/MN NAS HDD", // tested with TOSHIBA HDWQ140/FJ1M, TOSHIBA HDWN160/FS1M,
// TOSHIBA HDWN180/GX2M, TOSHIBA HDWG480/0601 (8TB), TOSHIBA HDWG11A/0603 (10TB),
// TOSHIBA HDWG21C/0601 (12TB), TOSHIBA HDWG21E/0601 (14TB),
// TOSHIBA HDWN180/GX2M, TOSHIBA HDWG440/0601 (4TB), TOSHIBA HDWG480/0601 (8TB),
// TOSHIBA HDWG11A/0603 (10TB), TOSHIBA HDWG21C/0601 (12TB), TOSHIBA HDWG21E/0601 (14TB),
// TOSHIBA MN07ACA12T/0601, TOSHIBA MN08ACA14T/0601
"TOSHIBA HDW([GNQ]1[468]0|G(480|11A|21[CE]|31G))|" // 31G: 16TB
"TOSHIBA HDW([GNQ]1[468]0|G(440|480|11A|21[CE]|31G))|" // 31G: 16TB
"TOSHIBA MN0(4ACA400|6ACA([68]00|10T)|7ACA1[24]T|8ACA1[46]T)",
"", "",
"-v 23,raw48,Helium_Condition_Lower " // ] >= 12TB
@ -3941,8 +4048,14 @@ const drive_settings builtin_knowndrives[] = {
"TOSHIBA HDWD2[246]0",
"", "", ""
},
{ "Toshiba S300 (SMR)", // tested with TOSHIBA HDWT860/KQ0H1L
"TOSHIBA HDWT(7[24]|8[46])0",
"", "", ""
},
{ "Toshiba X300", // tested with TOSHIBA HDWE160/FS2A, TOSHIBA HDWF180/GX0B
"TOSHIBA HDW(E1[456]0|[FR]180|R(11A|21[CE]|31G))", // 11A:10TB, 21C:12TB, 21E:14TB, 31G: 16TB
// TOSHIBA HDWR480/0601
"TOSHIBA HDW(E1[456]0|[FR]180|R(4[468]0|11A|21[CE]|31[EG]|51J))", // 4n0:nTB, 11A:10TB,
// 21C:12TB, 21E:14TB, 31E:14TB, 31G:16TB, 51J:18TB
"", "",
"-v 23,raw48,Helium_Condition_Lower " // ] >= 12TB
"-v 24,raw48,Helium_Condition_Upper" // ]
@ -4704,8 +4817,9 @@ const drive_settings builtin_knowndrives[] = {
// WDC WDBNCE2500PNC/X61130WD, WDC WDBNCE0010PNC-WRSN/X41110WD,
// WDC WDS200T1R0A-68A4W0/411000WR, WDC WDS400T1R0A-68A4W0/411000WR
"WDC WDBNCE(250|500|00[124])0PNC(-.*)?|" // Blue 3D
"WDC ?WDS((120|240|250|480|500)G|[124]00T)(1B|2B|1G|2G|1R)0[AB](-.*)?",
"WDC ?WDS((120|240|250|480|500)G|[124]00T)(1B|2B|1G|2G|1R)0[AB](-.*)?|"
// *B* = Blue, *G* = Green, *2B* = Blue 3D NAND, *1R* = Red SA500
"WD Blue SA510 2.5 1000GB", // tested with WD Blue SA510 2.5 1000GB/52008100
"", "",
//"-v 5,raw16(raw16),Reallocated_Sector_Ct " // Reassigned Block Count
//"-v 9,raw24(raw8),Power_On_Hours "
@ -4996,15 +5110,16 @@ const drive_settings builtin_knowndrives[] = {
},
{ "Western Digital Red", // tested with WDC WD10EFRX-68JCSN0/01.01A01,
// WDC WD10JFCX-68N6GN0/01.01A01, WDC WD30EFRX-68EUZN0/82.00A82,
// WDC WD40EFRX-68WT0N0/80.00A80, WDC WD60EFRX-68MYMN1/82.00A82,
// WDC WD40EFRX-68WT0N0/80.00A80, WDC WD40EFPX-68C6CN0/81.00A81,
// WDC WD60EFRX-68MYMN1/82.00A82, WDC WD60EFPX-68C5ZN0/81.00A81,
// WDC WD80EFAX-68LHPN0/83.H0A83, WDC WD80EFZX-68UW8N0/83.H0A83,
// WDC WD80EZZX-11CSGA0/83.H0A03 (My Book 0x1058:0x25ee),
// WDC WD100EFAX-68LHPN0/83.H0A83,
// WDC WD100EFAX-68LHPN0/83.H0A83, WDC WD120EFBX-68B0EN0/85.00A85
// WDC WD120EMFZ-11A6JA0/81.00A81 (Easystore 0x1058:0x25fb)
// WDC WD160EMFZ-11AFXA0/81.00A81
// WDC WD40EFZX-68AWUN0/81.00B81, WDC WD20EFZX-68AWUN0/81.00B81
// WDC WD140EFFX-68VBXN0/81.00A81
"WDC WD(7500BFCX|10JFCX|[1-6]0EFRX|[2468]0E[FZ]ZX|(8|10)0EFAX|1[26]0EMFZ|140E(FF|FG)X)-.*",
"WDC WD(7500BFCX|10JFCX|[1-6]0EFRX|1(20|01)EFBX|[2-8]0EFPX|[2468]0E[FZ]ZX|80EFZZ|(8|10)0EFAX|1[26]0EMFZ|140E(FF|FG)X)-.*",
"", "",
"-v 22,raw48,Helium_Level" // WD80EFAX, WD80EFZX, WD100EFAX, WD120EMFZ, WD160EMFZ
},
@ -5793,6 +5908,12 @@ const drive_settings builtin_knowndrives[] = {
"",
"-d sat,12" // 0x50a1: "-d sat" does not work (ticket #151)
},
{ "USB: Seagate FireCuda Gaming SSD; ASMedia ASM2364",
"0x0bc2:0xaa1a",
"", // 0x100
"",
"" // smartmontools >= r5168: -d sntasmedia
},
{ "USB: Seagate; ",
"0x0bc2:0x....",
"",
@ -6046,8 +6167,8 @@ const drive_settings builtin_knowndrives[] = {
"-d sat"
},
{ "USB: ; JMicron JMS583", // USB->PCIe (NVMe)
"0x152d:0x0583",
"",
"0x152d:0x[0a]583",
"", // 0x214
"",
"-d sntjmicron"
},

View File

@ -0,0 +1,42 @@
diff -up smartmontools-7.2/configure.ac.fixfdclose smartmontools-7.2/configure.ac
--- smartmontools-7.2/configure.ac.fixfdclose 2024-01-10 16:45:10.994784319 +0100
+++ smartmontools-7.2/configure.ac 2024-01-10 16:47:27.985999103 +0100
@@ -121,6 +121,16 @@ AM_CONDITIONAL(NEED_GETOPT_LONG, [test "
AC_CHECK_FUNCS([clock_gettime ftime gettimeofday])
+case "$host_os" in
+ mingw*)
+ # Older MinGW-w64 (5.0.3) require -lwinpthread
+ AC_SEARCH_LIBS([clock_gettime], [winpthread])
+ ;;
+ *)
+ AC_CHECK_FUNCS([close_range])
+ ;;
+esac
+
# Check byte ordering (defines WORDS_BIGENDIAN)
AC_C_BIGENDIAN
diff -up smartmontools-7.2/smartd.cpp.fixfdclose smartmontools-7.2/smartd.cpp
--- smartmontools-7.2/smartd.cpp.fixfdclose 2024-01-10 16:45:10.996784336 +0100
+++ smartmontools-7.2/smartd.cpp 2024-01-10 16:46:33.786518090 +0100
@@ -1475,8 +1475,16 @@ static int daemon_init()
}
// close any open file descriptors
- for (int i = getdtablesize(); --i >= 0; )
- close(i);
+ int open_max = sysconf(_SC_OPEN_MAX);
+#ifdef HAVE_CLOSE_RANGE
+ if (close_range(0, open_max - 1, 0))
+#endif
+ {
+ // Limit number of close() calls under the assumption that there
+ // are no large gaps between open FDs
+ for (int i = 0, failed = 0; i < open_max && failed < 1024; i++)
+ failed = (!close(i) ? 0 : failed + 1);
+ }
// redirect any IO attempts to /dev/null and change to root directory
int fd = open("/dev/null", O_RDWR);

View File

@ -1,7 +1,7 @@
Summary: Tools for monitoring SMART capable hard disks
Name: smartmontools
Version: 7.2
Release: 8%{?dist}
Release: 9%{?dist}
Epoch: 1
License: GPLv2+
URL: http://smartmontools.sourceforge.net/
@ -21,6 +21,9 @@ Patch4: smartmontools-7.2-logsuppagefix3.patch
# from upstream, for < 7.4, #RHEL-11400
Patch5: smartmontools-7.2-r5448.patch
# from upstream, for <= 7.4, #RHEL-15505
Patch6: smartmontools-7.2-fixfdclose.patch
BuildRequires: make
BuildRequires: gcc-c++ readline-devel ncurses-devel automake util-linux groff gettext
BuildRequires: libselinux-devel libcap-ng-devel
@ -42,6 +45,7 @@ failure.
%patch -P 3 -p1 -b .permsfix
%patch -P 4 -p2 -b .logsuppagefix3
%patch -P 5 -p1 -b .r5448
%patch -P 6 -p1 -b .fixfdclose
cp %{SOURCE5} .
%build
@ -96,6 +100,9 @@ mkdir -p $RPM_BUILD_ROOT%{_sharedstatedir}/%{name}
%{_sharedstatedir}/%{name}
%changelog
* Tue Jan 16 2024 Michal Hlavinka <mhlavink@redhat.com> - 1:7.2-9
- smartd would not start with huge FD limits (#RHEL-15505)
* Wed Dec 06 2023 Michal Hlavinka <mhlavink@redhat.com> - 1:7.2-8
- fix segfault after read of NVMe error log on big endian (#RHEL-11400)