Etienne, thanks for trying it out. I wasn't able to reliably cause statd to lose the race w/ mountall without forcing FS corruption or introducing a sleep into the fsck process. I did so by moving /sbin/fsck to /sbin/fsck.real and then using this script:
#!/bin/sh
echo sleeping 5 seconds before calling real fsck
sleep 5
exec /sbin/fsck.real $@
Given that this is a race condition brought on by fsck problems, the only real world examples are exactly what you had to use, caused by recovering from some other problem. I don't think your method is synthetic at all, but it would be good to get somebody else to verify in a similar manner.
Etienne, thanks for trying it out. I wasn't able to reliably cause statd to lose the race w/ mountall without forcing FS corruption or introducing a sleep into the fsck process. I did so by moving /sbin/fsck to /sbin/fsck.real and then using this script:
#!/bin/sh
echo sleeping 5 seconds before calling real fsck
sleep 5
exec /sbin/fsck.real $@
Given that this is a race condition brought on by fsck problems, the only real world examples are exactly what you had to use, caused by recovering from some other problem. I don't think your method is synthetic at all, but it would be good to get somebody else to verify in a similar manner.