Skip to content

Commit

Permalink
Umount the device first during mount_usb_storage() (Bugfix) (#1587)
Browse files Browse the repository at this point in the history
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 #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.