Blob Blame History Raw
diff --git a/CHANGELOG b/CHANGELOG
index eb4cce1..a0c7fa3 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -7,6 +7,7 @@
 - use libldap instead of libldap_r (Guillaume Rousse).
 - another fix for don't fail on empty master map.
 - fix expire working harder than needed.
+- fix unlink of mount tree incorrectly causing autofs mount fail.
  
 14/01/2008 autofs-5.0.3
 -----------------------
diff --git a/daemon/direct.c b/daemon/direct.c
index 760fbd4..8d1e9c6 100644
--- a/daemon/direct.c
+++ b/daemon/direct.c
@@ -275,7 +275,6 @@ static int unlink_mount_tree(struct autofs_point *ap, struct list_head *list)
 		else
 			rv = umount2(mnt->path, MNT_DETACH);
 		if (rv == -1) {
-			ret = 0;
 			debug(ap->logopt,
 			      "can't unlink %s from mount tree", mnt->path);
 
@@ -287,6 +286,7 @@ static int unlink_mount_tree(struct autofs_point *ap, struct list_head *list)
 
 			case ENOENT:
 			case EFAULT:
+				ret = 0;
 				warn(ap->logopt, "bad path for mount");
 				break;
 			}
diff --git a/daemon/indirect.c b/daemon/indirect.c
index 39b42da..f0409ac 100644
--- a/daemon/indirect.c
+++ b/daemon/indirect.c
@@ -65,7 +65,6 @@ static int unlink_mount_tree(struct autofs_point *ap, struct mnt_list *mnts)
 		else
 			rv = umount2(this->path, MNT_DETACH);
 		if (rv == -1) {
-			ret = 0;
 			debug(ap->logopt,
 			      "can't unlink %s from mount tree", this->path);
 
@@ -77,6 +76,7 @@ static int unlink_mount_tree(struct autofs_point *ap, struct mnt_list *mnts)
 
 			case ENOENT:
 			case EFAULT:
+				ret = 0;
 				warn(ap->logopt, "bad path for mount");
 				break;
 			}