Duncan wrote: >> and, if you have experiences with it, do you know what could happen >> without fsck on an unsafely unmounted luks partition? > > Luks I know nothing of. Someday when I get the appropriate round tuit...
I just gave it a try with a 32 megabyte SD card on my laptop. I set up the LUKS volume like so: r...@windbringer ~:# cryptsetup -v -y -c aes-cbc-essiv:sha256 luksFormat /dev/mmcblk0p1 ...opened it: r...@windbringer ~:# cryptsetup luksOpen /dev/mmcblk0p1 test ...but I wasn't able to create a ReiserFS file system: r...@windbringer ~:# mkreiserfs -d /dev/mapper/test [credits from mkreiserfs snipped] Guessing about desired format.. Kernel 2.6.28 is running. reiserfs_create_journal: cannot create a journal of 8193 blocks with 18 offset on 7456 blocks Oops. Too small a device, I guess. So, I tried EXT3: r...@windbringer ~:# mkfs.ext3 -c -L test -v /dev/mapper/test ... r...@windbringer ~:# mount /dev/mapper/test /mnt/disk_image To see what would happen, I copied a load of .jpg files over to the card so there would be a test data set: r...@windbringer ~:# cp ~drwho/*.jpg /mnt/disk_image Then I yanked the SD card out of the slot without unmounting it or running the luksClose command of cryptsetup. Much to my surprise, nothing complained about it. Upon reinserting it, however, the following appeared in the kernel message buffer: ... mmc0: card cb93 removed Buffer I/O error on device dm-3, logical block 539 lost page write due to I/O error on dm-3 Aborting journal on device dm-3. Buffer I/O error on device dm-3, logical block 369 lost page write due to I/O error on dm-3 journal commit I/O error mmc0: new SD card at address cb93 mmcblk1: mmc0:cb93 S032B 29.6 MiB mmcblk1: p1 Nautilus prompted me to enter the LUKS passphrase to open the device; checking the kernel message buffer showed that the journal recovery was complete, and the volume could be properly read. I checked the files and none of them were corrupted. Next test: delete a few files, don't run sync(1), yank the card, and try again. Kernel output: ... mmc0: card cb93 removed Buffer I/O error on device dm-4, logical block 419 lost page write due to I/O error on dm-4 Aborting journal on device dm-4. Buffer I/O error on device dm-4, logical block 369 lost page write due to I/O error on dm-4 journal commit I/O error ext3_abort called. EXT3-fs error (device dm-4): ext3_put_super: Couldn't clean up the journal Remounting filesystem read-only After plugging the card back in: ... mmc0: new SD card at address cb93 mmcblk1: mmc0:cb93 S032B 29.6 MiB mmcblk1: p1 kjournald starting. Commit interval 5 seconds EXT3 FS on dm-4, internal journal EXT3-fs: recovery complete. EXT3-fs: mounted filesystem with ordered data mode. The deletions that took place before I pulled the card seemed to stay deleted when the journal was replayed. I did this four more times to see what would happen, and I didn't encounter any file system corruption. I haven't tried any other file systems yet, but if there is sufficient interest I'll start walking through the contents of `cat /proc/filesystems | grep -v ^nodev` -- The Doctor [412/724/301/703] PGP: 0x807B17C1 / 7960 1CDC 85C9 0B63 8D9F DD89 3BD8 FF2B 807B 17C1 WWW: http://drwho.virtadpt.net/ "My faith protects me. My Kevlar helps." --Michael Carpenter, _Death Masks_
signature.asc
Description: OpenPGP digital signature