diff --git a/CHANGELOG b/CHANGELOG index 6456033..156b740 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -22,6 +22,7 @@ - eliminate count_mounts() from expire_proc_indirect(). - eliminate some strlen calls in offset handling. - don't add offset mounts to mounted mounts table. +- reduce umount EBUSY check delay. xx/xx/2018 autofs-5.1.5 - fix flag file permission. diff --git a/daemon/direct.c b/daemon/direct.c index fbfebbd..5c1146a 100644 --- a/daemon/direct.c +++ b/daemon/direct.c @@ -150,7 +150,7 @@ int do_umount_autofs_direct(struct autofs_point *ap, struct mapent *me) retries = UMOUNT_RETRIES; while ((rv = umount(me->key)) == -1 && retries--) { - struct timespec tm = {0, 200000000}; + struct timespec tm = {0, 50000000}; if (errno != EBUSY) break; nanosleep(&tm, NULL); @@ -573,7 +573,7 @@ int umount_autofs_offset(struct autofs_point *ap, struct mapent *me) retries = UMOUNT_RETRIES; while ((rv = umount(me->key)) == -1 && retries--) { - struct timespec tm = {0, 200000000}; + struct timespec tm = {0, 50000000}; if (errno != EBUSY) break; nanosleep(&tm, NULL); diff --git a/daemon/indirect.c b/daemon/indirect.c index eddcfff..9f2ca6a 100644 --- a/daemon/indirect.c +++ b/daemon/indirect.c @@ -265,7 +265,7 @@ int umount_autofs_indirect(struct autofs_point *ap, const char *root) retries = UMOUNT_RETRIES; while ((rv = umount(mountpoint)) == -1 && retries--) { - struct timespec tm = {0, 200000000}; + struct timespec tm = {0, 50000000}; if (errno != EBUSY) break; nanosleep(&tm, NULL); diff --git a/include/automount.h b/include/automount.h index 8be1521..5a70830 100644 --- a/include/automount.h +++ b/include/automount.h @@ -140,7 +140,7 @@ struct autofs_point; #define NULL_MAP_HASHSIZE 64 #define NEGATIVE_TIMEOUT 10 #define POSITIVE_TIMEOUT 120 -#define UMOUNT_RETRIES 8 +#define UMOUNT_RETRIES 16 #define EXPIRE_RETRIES 3 struct mapent_cache {