Subject: Re: "Argument list too long" reading from MSDOS (Camera) FS?
To: Alec Muffett <alecm@crypticide.com>
From: Steven M. Bellovin <smb@cs.columbia.edu>
List: port-i386
Date: 06/06/2005 22:27:19
In message <69031bda21729fde2e82596f954b93bb@crypticide.com>, Alec Muffett writ
es:
>Hi All,
>
>I have a Canon IXUS 700 with an 1Gb Sandisk SD-Card.  I inserted the 
>card into a PCMCIA adapter, and put *that* into a Toshiba Libretto 
>110ct running NetBSD 2.0.
>
>After a little experimenting, I found that I could mount and read the 
>filesystem structure properly, by mounting the card as "msdos" with the 
>"-l" (force long filenames) feature, otherwise the cards seemed a 
>terrible mess.
>
>Having done this I now find that I can see that the files are there, 
>but any attempt to copy them off / read them yields the very peculiar 
>error "Argument list too long".
>
>This gets thrown out by rsync, cp, md5 ... basically anything that 
>tries to read the images, which are 1 to 5Mb in size, nothing enormous; 
>certain of the files are copied-but-corrupted, others (when copied to 
>local disk) end up as zero-sized files, although the source file is a 
>couple of megs in size.
>
>Has anyone else encountered this behaviour?  Is there a quick fix / 
>option I should prod?
>

Well, I tried grepping my kernel source for E2BIG, only to be told 
"Argument list too long"....

I fell back to xargs, and got a bunch of hits in fs/msdosfs.  I'm not 
sure what they signfiy, but it's a lot more likely than your argument 
list.  In fact, there are a lot of places in the kernel that seem to 
return E2BIG other than the documented kern_exec; I suggest that you 
file a documentation PR.

		--Steven M. Bellovin, http://www.cs.columbia.edu/~smb