mdadm: using ioctl to set disk faulty instead of sysfs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi, I have a suggest about mdadm to set disk faulty. Since commit 1ca69c4bc4b1ef
(md: avoid taking the mutex on some ioctls) removes lock when set disk faulty,
so we'd better using ioctl(SET_DISK_FAULTY) to set disk faulty, instead of 
echo faulty > /sys/block/<md>/md/dev-<disk>/state, because caller of state's
handler would lock mddev. Like following:

Index: mdadm-4.0/Manage.c
===================================================================
--- mdadm-4.0.orig/Manage.c
+++ mdadm-4.0/Manage.c
@@ -1662,9 +1662,7 @@ int Manage_subdevs(char *devname, int fd
 
 		case 'f': /* set faulty */
 			/* FIXME check current member */
-			if ((sysfd >= 0 && write(sysfd, "faulty", 6) != 6) ||
-			    (sysfd < 0 && ioctl(fd, SET_DISK_FAULTY,
-						rdev))) {
+			if (ioctl(fd, SET_DISK_FAULTY, rdev)) {
 				if (errno == EBUSY)
 					busy = 1;
 				pr_err("set device faulty failed for %s:  %s\n",

--
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux