To fix this, please add the following lines in "case DIOCWLABEL:"
(sys/kern/subr_diskslice.c)
disk_msg_send_sync(DISK_SLICE_REPROBE, dev->si_disk, sp);
devfs_config();
just after line 648:
set_ds_wlabel(ssp, slice, *(int *)data != 0);
I can't do it right now, but I'll be back to work on this and more on the
weekend.
This should solve the disklabel issue at least. Direct writes (e.g. dd) should
be detected properly with the DSF_REPROBE magic. If not, please post some more
info on the disk/slice structure.
Cheers,
Alex Hornung
|