tech-kern archive

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

Blocksizes + WAPBL

Can anyone shed light on the requirements of WAPBL to
access physical sectors on the filesystem device

The code uses the value 1<<wl_fs_dev_bshift as a
basic block size. A filesystem block that has
been written to the journal is split into individual
physical sectors and tracked in a hash table.

As the final step, all physical sectors that have
been tracked this way are copied back to the
filesystem. This ensures that for a block that has
been written multiple times only the last content
is copied.

Keeping track of physical sectors ensures correct
operation, even in case of a hypothetical filesystem
with overlapping blocks of different sizes.

However, real filesystems don't do that. They access
the disk in units of filesystem blocks (fragments
in the FFS case) and keeping track of fragment sized
blocks should be sufficient.

Is there any other reason that explains the requirement
to access physical sectors?

N.B. this is not about accessing the journal itself
which has other requirements for ordering and atomicity.

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

Home | Main Index | Thread Index | Old Index