tech-kern archive

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

Re: File systems on 4k sector devices?



apb%cequrux.com@localhost (Alan Barrett) writes:

>On Thu, 07 Jun 2012, Michael van Elst wrote:
>> WAPBL is an exception, the position and size of the journal is 
>> stored int terms of pyhsical disk sectors.

>So if I use dd(1) or equivalent to copy the data from a disk with 
>512-byte sectors to a disk with 4096-byte sectors, and if the data 
>includes a WAPBL wile system, then it won't work?

Sort of.

The WAPBL code will probably think that the journal is invalid
or it could interpret some arbitrary data as journal. Not good. You
should drop the journal with tunefs before mounting with a different
blocksize.

You can mount the filesystem and use it. I just verified with
vnd that this still works.

The fileystem tools like fsck _will not work_ independent of wether
you use WAPBL or not. That's because the superblock still stores
information in terms of the physical disk for compatibility and
userland tools like fsck still use the superblock information.

To make fsck work you need to patch the superblock to reflect reality,
but I fear there is no tool for that. Maybe we should invent a tunefs
option to adjust the superblock.



>Can we fix this?
>Can we fix it before next week, when I plan to upgrade my 
>laptop's disk to one with 4kB sectors?

I rather doubt that this is an issue for you. Very few disks
expose the 4kB sector size these days (short of USB disk enclosures).
You can use 512 byte transfers and the only issue is performance
when you don't align the partitions to the physical block size,
which is something that won't happen by just copying the disk
image.

You can partition the new disk with proper alignment, then
copy each partition and don't forget to install the bootblocks :)

-- 
-- 
                                Michael van Elst
Internet: mlelstv%serpens.de@localhost
                                "A potential Snark may lurk in every tree."


Home | Main Index | Thread Index | Old Index