Re: [PATCH] more autofs4 fixes for 2.3.99-pre5

Jeremy Fitzhardinge (jeremy@goop.org)
Fri, 14 Apr 2000 13:13:05 -0700 (PDT)


On 14-Apr-2000 Linus Torvalds wrote:
> You do have the dentry flags, but not much else, I agree.
>
> There's nothing fundamentally wrong in pinning even a negative dentry -
> you could pin a negative dentry and have a timeout, and mark it some
> special way in the dentry flags during the timeout. Or something..

That doesn't always help, because the dentry can be unhashed as part of
the failure, depending on when the failure happened.

A concrete example:

Case 1:

user$ cd /net/bar
check dcache for bar - not there
call autofs_lookup
look up host bar - not found
return ENOENT (leave /net/bar -ve)
bar: no such file or directory

user$ cd /net/bar
check dcache for bar - found
failed recently
bar: no such file or directory

Case 2:

user$ cd /net/foo
check dcache for foo - not there
call autofs_lookup - blocks
look up host foo - OK
mkdir /net/foo - OK
mount foo:/ /net/foo - failed
rmdir /net/foo - d_drops /net/foo
return ENOENT
foo: no such file or directory

user$ cd /net/foo
check dcache for foo - not there
call autofs_lookup...
ditto

The rmdir has to d_drop because you can't turn a +ve into a -ve.

J

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/