waiting for recovery to complete

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

 



 Hi,

Suppose I'm waiting for a recovery to be completed, and want to run a
command afterwards (halt, send a mail, or anything else...).
The most practiacl way I can see is to check /proc/mdstat.

But what if I want to do that automatically (without bothering looking
at it manually from time to time)?
For example, one could do:
# while cat /proc/mdstat | grep recovery > /dev/null ; do sleep 5 ; done

But that's quite ugly, as:
- it's an active polling, and it is time consuming (even if slightly)
- it may even be unreliable, as I guess one cannot ensure that /proc/mdstat
  will print the "recovery" string during the (very short, but well...)
  transition between two partitions to recover

I think that a passive wait would be much better instead.
And ideally, we should have a simple and efficient way to let a program
know if a device is in a clean state (or being recovered), and another
that would wait until the device is clean (recovery finished).

So, the while loop could be replaced by something like
 mdadm --recovery-wait    (for example)
which would exit only when all pending recoveries have finished, and
let the script continue.
That would be much practical, reliable, and cleaner than a loop, don't you
think?

How this could be achieved is another question... probably the best
would be that userspace can select on a file descriptor, or something
like that (netlink device?)
What do you think?

 Hervé

-- 
 _
(°=  Hervé Eychenne
//)  Homepage:          http://www.eychenne.org/
v_/_ WallFire project:  http://www.wallfire.org/

-
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