diff options
Diffstat (limited to 'winsup/utils/umount.cc')
-rw-r--r-- | winsup/utils/umount.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/winsup/utils/umount.cc b/winsup/utils/umount.cc index 3adb8511e..c19b78cdc 100644 --- a/winsup/utils/umount.cc +++ b/winsup/utils/umount.cc @@ -159,7 +159,8 @@ remove_all_user_mounts () while ((p = getmntent (m)) != NULL) { /* Remove the mount if it's a user mount. */ - if (strncmp (p->mnt_type, "user", 4) == 0) + if (strncmp (p->mnt_type, "user", 4) == 0 && + strstr (p->mnt_opts, "noumount") == NULL) { if (cygwin_umount (p->mnt_dir, 0)) error (p->mnt_dir); @@ -183,7 +184,8 @@ remove_all_system_mounts () while ((p = getmntent (m)) != NULL) { /* Remove the mount if it's a system mount. */ - if (strncmp (p->mnt_type, "system", 6) == 0) + if (strncmp (p->mnt_type, "system", 6) == 0 && + strstr (p->mnt_opts, "noumount") == NULL) { if (cygwin_umount (p->mnt_dir, MOUNT_SYSTEM)) error (p->mnt_dir); |