autofs-5.0.3 - fix expire race From: Ian Kent For multi-mounts, if a mount request comes in and does not complete before a concurrent expire autofs will not recognize that the tree has become busy which can lead to a partial expire leaving the multi-mount non-functional. --- CHANGELOG | 1 + lib/mounts.c | 5 ++++- 2 files changed, 5 insertions(+), 1 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index e55b873..b9d8299 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -60,6 +60,7 @@ - auto adjust ldap page size. - fix prune cache valid check. - fix mountd vers retry. +- fix expire race. 03/09/2009 autofs-5.0.5 ----------------------- diff --git a/lib/mounts.c b/lib/mounts.c index 4c44982..f26579e 100644 --- a/lib/mounts.c +++ b/lib/mounts.c @@ -1525,8 +1525,11 @@ int umount_multi_triggers(struct autofs_point *ap, struct mapent *me, char *root oe_base = oe->key + strlen(root); left += umount_multi_triggers(ap, oe, root, oe_base); - if (oe->ioctlfd != -1) + if (oe->ioctlfd != -1 || + is_mounted(_PROC_MOUNTS, oe->key, MNTS_REAL)) { left++; + break; + } } if (left)