Current-Users archive

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

recent wapbl breakage

When changing the WAPBL code to support other sector sizes than 512
I also tried to make it access filesystem fragments instead of
single physical sectors. This failed because I mistook the block size
for the fragment size.

The code has been reverted to use sector sizes again. Affected
are kernels with kern/vfs_wapl.c revision 1.31.

The error could have different consequences, from kernel assertion
faults at mount time to journal corruption (so a journal replay 
would fail). It is also possible that you haven't experienced
any symptoms yet.

Since the kernel stores the bad parameters in the journal you
really should erase the journal by

tunefs -l 0 /dev/XXXX

and then reboot the update kernel. This also works if you are
already run a newer kernel. But a 'mount -o log' while running the
affected kernel will recreate the log with the bad parameters.

You can use the new dumpfs -j option to print the journal. The
commit headers should have block shift numbers
   log_bshift           9  fs_bshift          9

for 512byte/sector disks. A broken log would show values like
   log_bshift           9  fs_bshift          14

for 16k filesystem blocks.

                                Michael van Elst
                                "A potential Snark may lurk in every tree."
                                Michael van Elst
                                "A potential Snark may lurk in every tree."

Home | Main Index | Thread Index | Old Index