why does tcsh lstat() sibling directories at login

From: Jim Gottlieb (jimmy_at_temp01.nccom.com)
Date: 07/19/04

  • Next message: Same: "See Maggie getting pumped by Lisa Simpson"
    Date: 18 Jul 2004 15:44:40 -0800
    
    

    Hi. This is related to a problem I've been trying to figure out for a
    while. We have our users' home directories scattered on different
    machines and we use the Solaris automounter to manage it all.

    But we have found that if any one machine is down, no one can log in,
    thus negating the whole point of distributing the $HOMEs. Instead they
    get an "NFS server...not responding" message for some random other
    server.

    So I decided to track down this dependency. I ran truss on the login
    shell (tcsh) and found that it was lstat()ing some seemingly random
    other home directories like:

    23753: stat("/", 0xFFBEEEC8) = 0
    23753: lstat(".", 0xFFBEEE40) = 0
    23753: stat("../", 0xFFBEED30) = 0
    23753: open64("../", O_RDONLY|O_NDELAY) = 3
    23753: fcntl(3, F_SETFD, 0x00000001) = 0
    24157: fstat64(3, 0xFFBEE038) = 0
    23753: getdents64(3, 0x00083018, 1048) = 448
    23753: lstat("../jimmyg", 0xFFBEEDB8) = 0
    23753: lstat("../carol", 0xFFBEEDB8) = 0
    23753: lstat("../toddm", 0xFFBEEDB8) = 0
    23753: lstat("../clava", 0xFFBEEDB8) = 0
    23753: lstat("../csrt", 0xFFBEEDB8) = 0
    [...]

    Now since ../ is /home and those other logins are on various machines,
    any one of them being down stops everything in its tracks.

    What I can't figure out is why it is doing this. If I change the
    user's login shell to, say, /bin/bash, then this problem doesn't occur.
    So it seems to be something particular to [t]csh.

    Any ideas? Thanks...

    -- 
                   NOTE: Remove the temp?? hostname to reply after two weeks.
    Jim Gottlieb | E-Mail: jimmy at nccom.com | 
                   V-Mail: +1 619 364 6912    | Fax: +1 858 274 8181
    	       My Home Page URL:  http://tokyojim.com/
    

  • Next message: Same: "See Maggie getting pumped by Lisa Simpson"
    Loading