On Apr 22, 2013, at 10:36 AM, Ben Franksen <ben.frank...@online.de> wrote:

>> That's really interesting… what version of libc are you using? And on what 
>> host OS? 
> 
> Nothing special (I think!):
> 
> ben@sarun[1]: ~ > uname -a
> Linux sarun 3.2.0-4-amd64 #1 SMP Debian 3.2.41-2 x86_64 GNU/Linux
> 
> [snip]
> 
> I wrote a little test program that returns the value returned by pathconf 
> for a given start path, which is enlightening:
> 
> ben@sarun[1]: ~/tmp > cat test-unistd.c          
> #include <unistd.h>
> #include <stdio.h>
> 
> int main (int argc, char **argv)
> {
>    printf("pathconf(\"%s\", _PC_NAME_MAX)=%ld\n", argv[1], 
> pathconf(argv[1], _PC_NAME_MAX));
>    return 0;
> }
> ben@sarun[1]: ~/tmp > ./a.out /home/ben          
> pathconf("/home/ben", _PC_NAME_MAX)=255
> ben@sarun[1]: ~/tmp > ./a.out /home/ben/ctl      
> pathconf("/home/ben/ctl", _PC_NAME_MAX)=2147483647
> 
> Note that /home/ben/ctl is a symlink into my sshfs-mounted remote 
> filesystem.
> 
> So, it appears that the locals fs (ext4) has a sane limit but sshfs does 
> not.

That makes some sense… sshfs is probably trying to avoid a round-trip to the 
server and is just reporting MAX_LONG. 

I'm not a core fish contributor, but I expect that given this scenario, the 
code should be checking for ln <0 || ln > MAX_FILE_LENGTH:

           if (ln < 0 || ln > MAX_FILE_LENGTH)
               ln = MAX_FILE_LENGTH;


-Nick


> BTW, I mounted the sshfs with afuse; this is my setup:
> 
> ben@sarun[1]: ~/tmp > pgrep -lf afuse
> 7611 afuse /home/ben/sshfs -o mount_template=sshfs %r:/ %m -o 
> idmap=file\,uidfile=/home/ben/.ssh/uid-aragon\,gidfile=/home/ben/.ssh/gid-
> aragon\,nomap=ignore\,reconnect -o unmount_template=fusermount -u -z %m
> 7799 sshfs frank...@aragon.acc.bessy.de:/ /tmp/afuse-
> f3tZoi/frank...@aragon.acc.bessy.de -o 
> idmap=file,uidfile=/home/ben/.ssh/uid-aragon,gidfile=/home/ben/.ssh/gid-
> aragon,nomap=ignore,reconnect
> 
> 
> Cheers
> -- 
> Ben Franksen
> ()  ascii ribbon campaign - against html e-mail 
> /\  www.asciiribbon.org   - against proprietary attachm€nts
> 
> 
> ------------------------------------------------------------------------------
> Precog is a next-generation analytics platform capable of advanced
> analytics on semi-structured data. The platform includes APIs for building
> apps and a phenomenal toolset for data science. Developers can use
> our toolset for easy data analysis & visualization. Get a free account!
> http://www2.precog.com/precogplatform/slashdotnewsletter
> _______________________________________________
> Fish-users mailing list
> Fish-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/fish-users


------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis & visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter
_______________________________________________
Fish-users mailing list
Fish-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fish-users

Reply via email to