diff options
author | Rafał Miłecki <rafal@milecki.pl> | 2019-12-28 22:07:21 +0100 |
---|---|---|
committer | Rafał Miłecki <rafal@milecki.pl> | 2020-03-21 22:40:52 +0100 |
commit | d1f1f2b38fa1e7b594bd005e563679a40e4d7e95 (patch) | |
tree | e88d1591025850b836a42b9b2a7ddc945c64ad41 | |
parent | 62c578c22f9d87ab9a7b686dece913861cf34c34 (diff) | |
download | fstools-d1f1f2b38fa1e7b594bd005e563679a40e4d7e95.tar.gz |
block: remove mount target file if it's a link
Links like that can remain from using autofs and can cause mounting
errors after switching to non-autofs:
block: mounting /dev/sda1 (vfat) as /mnt/sda1 failed (2) - No such file or directory
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
-rw-r--r-- | block.c | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -1072,6 +1072,7 @@ static int mount_device(struct device *dev, int type) { struct mount *m; struct probe_info *pr; + struct stat st; char _target[32]; char *target; char *device; @@ -1154,6 +1155,8 @@ static int mount_device(struct device *dev, int type) check_filesystem(pr); mkdir_p(target); + if (!lstat(target, &st) && S_ISLNK(st.st_mode)) + unlink(target); err = handle_mount(pr->dev, target, pr->type, m); if (err) { |