Activity log for bug #1762920

Date Who What changed Old value New value Message
2018-04-11 06:15:21 Tomo bug added bug
2018-04-11 06:15:21 Tomo attachment added PATCH: casper-helpers try_mount() diff https://bugs.launchpad.net/bugs/1762920/+attachment/5110182/+files/casper-helpers.diff.report
2018-04-11 08:20:41 Ubuntu Foundations Team Bug Bot tags patch
2018-04-11 08:20:46 Ubuntu Foundations Team Bug Bot bug added subscriber Ubuntu Review Team
2018-04-13 01:21:43 Tomo description I apologize for direct mentioning to the source codes. Problem: try_mount() in casper-helpers script doesn't honor the mount-point parameter when mount-option != "ro". This is obvious on code, but it wouldn't what it meant to be. I guess, if the device is already mounted on A, and if the indicated mount point of which is the same as previous mounted (i.e. A; where_is_mounted() says), do mount -o remount ... else do mount -o bind ... whatever the indicated mount options are. This spec suffers in the case, setting persistence YES, boot media, especially USB, is multi-partitioned, and persistence data are on separated part from the base boot image. In that case, find_cow_device() falsely unmount /cdrom (because where_is_mounted() says '/cdrom' was previous mount point in the device searching iteration) and gone busybox prompt. There might be a fix find_cow_device() itself but, I thought that try_mount() is fundamental. A patch attached is a sample to solve this. I apologize for direct mentioning to the source codes. Problem:  try_mount() in casper-helpers script doesn't honor the mount-point parameter when mount-option != "ro".  This is obvious on code, but it wouldn't what it meant to be.  I guess,    if the device is already mounted on A, and      if the indicated mount point of which is the same as previous mounted (i.e. A; where_is_mounted() says),       do mount -o remount ...    else       do mount -o bind ...    whatever the indicated mount options are.   This spec suffers in the case,    setting persistence YES, boot media, especially USB, is multi-partitioned, and persistence data are on separated part from the base boot image.       In that case, find_cow_device() falsely unmount /cdrom (because where_is_mounted() says '/cdrom' was    previous mount point in the device searching iteration) and gone busybox prompt.   There might be a fix find_cow_device() itself but, I thought that try_mount() is fundamental. A patch attached is a sample to solve this. Notice: An attached patch was from my own fixed version, and contains find_cow_device() modification. Be careful when applying.