Hi,
> What I'm confused about is why *poll* is reporting ECHILD, but it could just be
> the proper errno is being lost.
>
> BTW, what kernel versions are we talking about here. One is 2.2.14, but the
> other reports don't specify.
seems that the expire-Code is wrong (at least in kernel 2.3.99-pre8/9).
I fixed it for me, but I don't know if this is right. It works at least
for all my maps ;)
I attach the patch, although I know, it is wrong. (It is for autofs4 by
the way)
Bye
Martin
--- expire.c.orig Sun May 14 00:05:08 2000
+++ expire.c Sun May 14 00:14:29 2000
@@ -22,9 +22,10 @@
struct list_head *next;
int count;
- count = atomic_read(&mnt->mnt_count);
+ count = atomic_read(&mnt->mnt_count) - 2;
repeat:
next = this_parent->mnt_mounts.next;
+ if (next != &this_parent->mnt_mounts) count --;
resume:
while (next != &this_parent->mnt_mounts) {
struct list_head *tmp = next;
@@ -32,7 +33,7 @@
mnt_child);
next = tmp->next;
/* Decrement count for unused children */
- count += atomic_read(&p->mnt_count) - 1;
+ count += atomic_read(&p->mnt_count) - 2;
if (!list_empty(&p->mnt_mounts)) {
this_parent = p;
goto repeat;