Hi Trond,

Out of curiosity, what entry do you have in /etc/auto_master?

The default is:

/home           auto_home       -nobrowse

directories in /home are only visible if they've been specifically requested,
but if you don't have nobrowse, it's possible that in getting the full tree to
represent in a tree-view in nautilus it's trying to see what dirs it has access
to, etc.

It also looks like (because of port_associate calls) that nautilus is actually
monitoring these dirs for change too - but I could be mistaken without looking
at the code.

Darren.

Trond Norbye wrote:
> Opening a folder located on my Desktop in File Browser is incredible slow, 
> and today I tried to attach truss to nautilus before opening the folder. I 
> was really surprised by what I saw:
> 
> /1:   open64("/etc/mnttab", O_RDONLY)                 = 26
> /1:   ioctl(26, MNTIOC_GETMNTENT, 0x08046CEC)         = 0
> /1:   ioctl(26, MNTIOC_GETMNTENT, 0x08046CEC)         = 0
> /1:   ioctl(26, MNTIOC_GETMNTENT, 0x08046CEC)         = 0
> /1:   ioctl(26, MNTIOC_GETMNTENT, 0x08046CEC)         = 0
> /1:   ioctl(26, MNTIOC_GETMNTENT, 0x08046CEC)         = 0
> /1:   ioctl(26, MNTIOC_GETMNTENT, 0x08046CEC)         = 0
> /1:   ioctl(26, MNTIOC_GETMNTENT, 0x08046CEC)         = 0
> /1:   ioctl(26, MNTIOC_GETMNTENT, 0x08046CEC)         = 0
> /1:   ioctl(26, MNTIOC_GETMNTENT, 0x08046CEC)         = 0
> /1:   ioctl(26, MNTIOC_GETMNTENT, 0x08046CEC)         = 0
> /1:   ioctl(26, MNTIOC_GETMNTENT, 0x08046CEC)         = 0
> /1:   ioctl(26, MNTIOC_GETMNTENT, 0x08046CEC)         = 0
> /1:   ioctl(26, MNTIOC_GETMNTENT, 0x08046CEC)         = 0
> /1:   ioctl(26, MNTIOC_GETMNTENT, 0x08046CEC)         = 0
> /1:   ioctl(26, MNTIOC_GETMNTENT, 0x08046CEC)         = 0
> /1:   ioctl(26, MNTIOC_GETMNTENT, 0x08046CEC)         = 0
> /1:   ioctl(26, MNTIOC_GETMNTENT, 0x08046CEC)         = 0
> /1:   ioctl(26, MNTIOC_GETMNTENT, 0x08046CEC)         = 0
> /1:   ioctl(26, MNTIOC_GETMNTENT, 0x08046CEC)         = 0
> /1:   ioctl(26, MNTIOC_GETMNTENT, 0x08046CEC)         = 0
> /1:   ioctl(26, MNTIOC_GETMNTENT, 0x08046CEC)         = 0
> /1:   ioctl(26, MNTIOC_GETMNTENT, 0x08046CEC)         = 0
> /1:   ioctl(26, MNTIOC_GETMNTENT, 0x08046CEC)         = 0
> /1:   ioctl(26, MNTIOC_GETMNTENT, 0x08046CEC)         = 0
> /1:   ioctl(26, MNTIOC_GETMNTENT, 0x08046CEC)         = 0
> /1:   ioctl(26, MNTIOC_GETMNTENT, 0x08046CEC)         = 0
> /1:   ioctl(26, MNTIOC_GETMNTENT, 0x08046CEC)         = 0
> /1:   ioctl(26, MNTIOC_GETMNTENT, 0x08046CEC)         = 0
> /1:   ioctl(26, MNTIOC_GETMNTENT, 0x08046CEC)         = 0
> /1:   ioctl(26, MNTIOC_GETMNTENT, 0x08046CEC)         = 1
> /1:   llseek(26, 0, SEEK_CUR)                         = 0
> /1:   close(26)                                       = 0
> /1:   openat(AT_FDCWD, "/home", O_RDONLY|O_NDELAY|O_LARGEFILE) = 26
> /1:   fcntl(26, F_SETFD, 0x00000001)                  = 0
> /1:   fstat64(26, 0x08046D10)                         = 0
> /1:   getdents64(26, 0xFA112000, 8192)                = 112
> /1:   lstat64("/home/user1", 0x08046D60)              = 0
> /1:   port_associate(21, 7, 0x08E33888, 0x10000006, 0x093053B8) = 0
> /1:   getdents64(26, 0xFA112000, 8192)                = 5896
> /1:   lstat64("/home/user2", 0x08046D60)              = 0
> /1:   port_associate(21, 7, 0x08E9F6C0, 0x10000006, 0x09351700) = 0
> /1:   lstat64("/home/user3", 0x08046D60)              = 0
> /1:   port_associate(21, 7, 0x093D9388, 0x10000006, 0x093A7498) = 0
> /1:   lstat64("/home/user4", 0x08046D60)              = 0
> [ ... cut ...]
> 
> This caused the automounter to mount _ALL_ the users in my auto_home, and all 
> I wanted was to look at the content in /home/trond/Desktop/foo ..
> 
> Why does it need to stat all of the directories in /home?

Reply via email to