Thanks Neil. This implies that when we see these fifteen second
hangs reading /proc/mdstat without write errors, there are genuinely
successful superblock writes which are taking fifteen seconds to
complete, presumably corresponding to flushes which complete but
take a full 15s to do so.
Would such very slow (but ultimately successful) flushes be
consistent with the theory of power supply issues affecting the
drives? It feels like the 30s timeouts on flush could be just a more
severe version of the 15s very slow flushes.
Probably not. Power problems usually don't resolve themselves with
longer timeout. If the drive genuinely takes longer than 30s to
flush, it would be very interesting tho. That's something people have
been worrying about but hasn't materialized yet. The timeout is
controlled by SD_TIMEOUT in drivers/scsi/sd.h. You might want to bump
it up to, say, 60s and see whether anything changes.