Skip to content

Commit

Permalink
Umount the device first during mount_usb_storage() (Bugfix) (canonica…
Browse files Browse the repository at this point in the history
…l#1587)

To prevent the inserted storage from failing to mount twice, first ensure it is unmounted.

Because the OS will auto-mount the inserted storage, the existing subprocess.call(["mount", device_to_mount, FOLDER_TO_MOUNT]) command will cause an error if the format of inserted storage is NTFS.

Perform an umount on device_to_mount (e.g., for the media card in canonical#1587, it would be umount /dev/mmcblk0p1) before attempting to mount it again to avoid this issue.
  • Loading branch information
Jefferyyen committed Nov 14, 2024
1 parent 542c748 commit fc89419
Showing 1 changed file with 2 additions and 0 deletions.
2 changes: 2 additions & 0 deletions checkbox-support/checkbox_support/scripts/usb_read_write.py
Original file line number Diff line number Diff line change
Expand Up @@ -170,6 +170,8 @@ def mount_usb_storage(partition):
# use pipe so I could hide message like
# "umount: /tmp/tmpjzwb6lys: not mounted"
subprocess.call(["umount", FOLDER_TO_MOUNT], stderr=subprocess.PIPE)
# umount device_to_mount such as "umount /dev/mmcblk0p1" to avoid when the storage type is ntfs, which could not be mounted twice.
subprocess.call(["umount", device_to_mount], stderr=subprocess.PIPE)
# mount the target device/partition
# if the return code of the shell command is non-zero,
# means something wrong.
Expand Down

0 comments on commit fc89419

Please sign in to comment.