Recover from Spontaneous Ejection

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

 



 
I'm developing a product running embedded Linux.
 
We have an SDcard with one partition on it, and this partition is an encrypted LUKS volume.
 
While the SDcard is mounted, the user can spontaneously eject the SDcard. I have successfully altered the UDEV script to handle this eventuality, as follows:
 
    umount /mnt/sdcard
    cryptsetup luksClose cryptocard
 
Then when the user re-inserts the SDcard after a spontaneous ejection, I try to re-mount it again. So the entire process from start to finish goes as follows:
 
    echo -n password | cryptsetup luksOpen /dev/sdb1 cryptocard -
    mount /dev/mapper/cryptocard /mnt/sdcard
    [ User spontaneously ejects SDcard  ]
    umount /mnt/sdcard
    cryptsetup luksClose cryptocard
    [ ... ... ... 1 minute goes by ... ... ... ]
    [         User re-inserts SD card         ]
    echo -n password | cryptsetup luksOpen /dev/sdb1 cryptocard -
    mount /dev/mapper/cryptocard /mnt/sdcard
 
This appears to work just fine, however when I try to do more complex write operations, it starts to freak out a little (files that were previously visible are no longer visible). When I reboot the machine, everything's working fine again.
 
So it seems that the system is not adequately recovering from the spontaneous ejection of the SDcard. Do I need to somehow "flush out" the LUKS system in order to successfully re-mount the volume? Is it possible to 'restart' the LUKS subsystem to get this to work properly again? I only ever have one LUKS volume open at a time so I don't have to worry about closing other volumes before 'flushing out'.
 
Frederick
_______________________________________________
dm-crypt mailing list
dm-crypt@xxxxxxxx
https://www.saout.de/mailman/listinfo/dm-crypt

[Index of Archives]     [Device Mapper Devel]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Packaging]     [Fedora SELinux]     [Yosemite News]     [KDE Users]     [Fedora Tools]     [Fedora Docs]

  Powered by Linux