Hi Timo, et al -
On 17 Jul 2007, at 18:12, Timo Sirainen wrote:
On 17.7.2007, at 13.55, Mike Brudenell wrote:
auto_direct /mailstore/messages/p autofs
direct,ignore,dev=4740014 1184648400 crypt2.york.ac.uk:/vol/vol9/p /mailstore/messages/p nfs
proto=tcp,xattr,dev=4700386 1184668792Although there are two entries they have different device
numbers. The mountpoint_get() function attempts to guard against
this by checking the device number obtained matches that of the
path being located.What do you mean different device numbers? Both have the same mount
path, so how can they be different?
I'm afraid I don't understand the innards of the automounter. All I
can say is what I see...
We use the automounter extensively as it gives central management for
shares and saves having to edit /etc/vfstab files on umpteen machines
all over the place.
A host making use of the automounter has entries in the /etc/mnttab
for all the filestores available to it TO BE mounted, even when they
AREN'T ACTUALLY mounted at the moment.
When something access a file or directory in the filestore the
automounter leaps in and furtively mounts the filestore before the
granting the access. This results in a SECOND entry for that
filestore in the /etc/mnttab file, and has the same mount point as
the first entry.
The two entries have different "dev=NNNNN" values in their options
fields to distinguish them. The thing I find confusing/surprising is
that:
When I visually inspect the contents of /etc/mnttab the two
entries for /mailstore/messages/p have DIFFERENT "dev=NNNNN" entries, butWhen I put debug logging into Dovecot's loop that iterates
through the /etc/mnttab entries using getmntent() both entries come through
with the SAME "dev=NNNNN" value ... the first (autofs) entry is returned
with the device number from the second (real) mount's entry in the file.If the different (unique) device numbers were being yielded by
getmntent() then there wouldn't be a problem: Dovecot is checking these and
would skip the first (autofs) entry as the number was wrong.
I'll do some testing using a minimal test program to check this
happens then.
Cheers, Mike B-)
-- The Computing Service, University of York, Heslington, York Yo10 5DD, UK Tel:+44-1904-433811 FAX:+44-1904-433740
- Unsolicited commercial e-mail is NOT welcome at this e-mail address. *