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 1184668792

Although 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:

1. When I visually inspect the contents of /etc/mnttab the two entries for
    /mailstore/messages/p have DIFFERENT "dev=NNNNN" entries, but

2. When 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. *


Reply via email to