> We have an E450 with 2 disks (c0t0d0 & c2t0d0) and all the file systems are > mirrored using Solaris Volume Manager with logging turned on. To upgrade the > OS, we detach the c2t0d0 submirrors, perform a Live Upgrade (LU) and
Do you writelock the submirrors before detach ? Otherwise, that's explainable. Splitting submirrors in the middle of a logging transaction can have bad sideeffects including a later panic "freeing free block". > luactivate the new BE. We have performed the above process multiple times > without issues. After we boot into the new BE there is a necessity to mount > the old BE file systems for reference purposes. Sometimes when we mount the > regular slices (/dev/dsk/c0t0d0s*) it panics the system with "UFS panic free: > freeing free block" message. > > Here are my questions: > > * Are we doing something illegal when we mount the regular slices (/dev/dsk/c0t0d0s*)? > * Are the file system getting corrupted because of the metadevice and logging layers? If you're performing the split with the filesystem active (not write- locked, i.e. without "lockfs -w" preceding the "metadetach") and then do not perform a full "fsck -o f" in the split-off part, then the answer to both is "yes". It should never happen if you writelocked the fs before splitting the underlaying mirror. > * If the file system is corrupted, why isn't mount capturing the corruption? Because mount doesn't perform a full filesystem check since you're using logging. Your mirror split may have left the log in a "seemingly decent" state that actually is not consistent with the data (outside the log) on disk, but neither detectable as the log headers say all is fine. If so, ufs trusts the log - what else should it do ? Best Regards, Frank Hofmann _______________________________________________ ufs-discuss mailing list [email protected]
