in reply to automounted directory status

The automounter probably is not activated if you stat the mountpoint; you need to stat a non-existent file inside the mountpoint.

Replies are listed 'Best First'.
Re^2: automounted directory status
by AlPaton (Novice) on Feb 03, 2014 at 10:18 UTC
    That definitely appears to be the case. My point is that, perhaps perl should answer the question asked, i.e. is the object (directory in this case) writable. The answer should not be OS dependant, ie. different if it is an unmounted but automountable directory. I just want to know if I can write a file to it, which I can in this case, mounted or not. I should not have to write code that works around the issues raised by automounted filesystems.

      But it *is* answering the question asked. 'Is /mnt/blahblah' writeable now' is not the same question as 'is /mnt/blahblah writeable after it has been autommounted'. You are asking 'is it writeable now'. The canonical way of asking that question is a stat(2) call. As I demonstrated, that is what perl does. It's what your shell probably does too - mine certainly does:

      $ strace sh -c "if [ -w /etc ]; then echo Writeable; fi" ... stat("/etc", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0 ...

      Which clearly shows that perl is Doing The Right Thing by using stat(2) to check whether the directory is writeable.

        I am not asking 'What is the UNIX representation of it's status. I am asking 'If I write, will it succeed?' The answer is YES, so that is the answer I should get, not something conditional, like, 'well this is a UNIX system with automounted directories and this directory is not currently mounted so NO, but ask the right question and you will get YES'. Perl is supposed to be portable isnt it?