Re: [Efsl-devel] 127 file limit in a subdirectory
Brought to you by:
flecxie,
lennartyseboodt
|
From: Daniel M. <da...@ma...> - 2006-07-11 14:51:52
|
After much checking, I believe I found the problem. Looks like somehow, in a subfunction of dir.c (looking for clusters in a directory), a line got moved out of a for loop (how I am not entirely sure), but I went back and did a string compare on all the files and found the discrepancy. Once fixed, I was able to write it out fine. I thank you guys again for your input. Also, on an unrelated note, I saw on the forums a while back someone with a thread about getting the usb mass storage class working with efsl. I found this project that uses some of the efsl components to implement just that (although I havent tested it). Its called LPCUSB, http://sourceforge.net/projects/lpcusb I'll probably look at it and get a port done for the atmel arm7 core at some point in the near future. Daniel Daniel Medeiros wrote: > Like most complex problems, it can be hard to find the cause. I do > have an Olimex board somewhere in which I can try the code to at least > get a different hardware solution to see if its repeatable. The more > information I can get (if this is indeed a known issue), the quicker > I'll find a solution to the problem. Anyways, I thank you guys for > your time in helping me narrow down the issue. Thanks > > Daniel > > M. Bester wrote: >> Hello Daniel, >> >> I did the subdirectory test on an ARM7 (Atmel AT91SAM7S) with a 256MB >> SD card. I was able to create 513 files in a single subdirectory >> without any error. All files are accessible in the Explorer and >> Windows ScanDisk doesn't complain about anything. So maybe this is >> not an EFSL issue. >> >> >> Marko >> >> Daniel Medeiros schrieb: >> >>> I am using an ARM7 to do the writing - like i said on the notes, it >>> writes it fine to the root (200 files), but not to a subdir. >>> I am using a card reader from sandisk to read it into windows2k. >>> >>> >>> I re-formatted the card to use 16 sectors per cluster, it still wont >>> work - it seems that the code aborts after writing only a few files. >>> Ill have to spend a bit more time to get some meaningful detail on >>> the issue. >>> >>> Daniel >>> >>> >>> >>> >>> >>> M. Bester wrote: >>> >>>> Hello Daniel, >>>> >>>> Daniel Medeiros schrieb: >>>> >>>>> Here is a bit more of information. I have tried two 256M SD cards, >>>>> both with the same result. >>>>> efs.myFs.volumeId.SectorsPerCluster=8 >>>>> >>>>> Here is a quick snippet of code: >>>>> >>>>> >>>>> for(i=0;i<200;i++) { >>>>> get_filename(&state,1); >>>>> strcpy(&tmpstr,state.file_data); >>>>> strcpy(state.file_data,"DATA/"); >>>>> strcat(state.file_data,tmpstr); >>>>> file_fopen(&file_gpx,&efs.myFs,state.file_data,'w'); >>>>> file_write(&file_gpx,1,"2"); >>>>> delay_ms(10); >>>>> file_fclose(&file_gpx); >>>>> } >>>>> fs_umount(&efs.myFs); >>>>> >>>>> >>>> For me this looks okay. >>>> I'm testing on a PC where I load an image file as medium. I've just >>>> put >>>> the image file on a 256MB SD card and it looks fine under WinXP. >>>> The format is 16 sectors per cluster. >>>> What hardware are you using? >>>> >>>> >>>>> The get_filename function just formats and creates my files >>>>> (currently an index of 1up numbers). >>>>> I append the directory info to it, then write 1 character, close >>>>> the file, and loop. >>>>> I am including a link of a screenshot of that directory (so you >>>>> can see the corruption). >>>>> http://www.marslabs.com/dir1.jpg >>>>> http://www.marslabs.com/dir2.jpg >>>>> >>>>> Now, if I execute the same code on the root directory, I can write >>>>> out the 200 files without a problem. >>>>> >>>>> >>>>> Any ideas off hand? Thanks >>>>> >>>>> Daniel Medeiros wrote: >>>>> >>>>>> I am using 0.2.7 to create the files. I assumed 512 was for all >>>>>> dirs (including the root). The issue for me still remains that >>>>>> for some reason, after creating the 127th file, it trashes the >>>>>> fat table in the subdir in question. Ill run some more tests on >>>>>> it to try to narrow where the corruption is happening. >>>>>> >>>>>> >>>>>> M. Bester wrote: >>>>>> >>>>>>> Hello, >>>>>>> >>>>>>> what EFSL version are you using? >>>>>>> I'm using 0.2.7 and I've just created 513 files in a single >>>>>>> subdirectory without a problem. >>>>>>> To my knowledge the limit of 512 files applies only to the root >>>>>>> directory. >>>>>>> >>>>>>> Marko >>>>>>> >>>>>>> Daniel Medeiros schrieb: >>>>>>> >>>>>>>> I will check the FAT, and look at the # of clusters. I know >>>>>>>> that FAT16 has a limit of 512, and for the application I am >>>>>>>> making its possible that there will be more files created than >>>>>>>> that over time, so Ill have to roll them into directories >>>>>>>> anyway. The issue then would become is it 100+ files per dir or >>>>>>>> 500+ files per dir. >>>>>>>> Have a great Holiday >>>>>>>> >>>>>>>> Daniel >>>>>>>> >>>>>>>> Lennart Yseboodt wrote: >>>>>>>> >>>>>>>>> Hi Daniel, >>>>>>>>> >>>>>>>>> Sounds like a bug to me. 127 is like 128, and 128/16=8. >>>>>>>>> Is it possible you have 8 sectors per cluster ? >>>>>>>>> >>>>>>>>> I will try to look into this issue, but I will be honest, I'm >>>>>>>>> leaving for >>>>>>>>> hollidays on the 11th and have a lot of things to do until >>>>>>>>> then, so >>>>>>>>> if you need this fix fast you will have to do it yourself I'm >>>>>>>>> afraid :) >>>>>>>>> >>>>>>>>> Maybe Michael has time ? >>>>>>>>> >>>>>>>>> Regards, >>>>>>>>> >>>>>>>>> Lennart >>>>>>>>> >>>>>>>>> Daniel Medeiros wrote: >>>>>>>>> >>>>>>>>>> I am running into a problem and before I spend too much time >>>>>>>>>> on it I wanted to get your opinions as someone may put me on >>>>>>>>>> the right track. >>>>>>>>>> Inside a subdirectory off the root of the SD, as soon as I >>>>>>>>>> write out 127 files, the contents of that directory get too >>>>>>>>>> garbled (it puts trash data/directories). >>>>>>>>>> I verified this with two different SD cards (so I dont think >>>>>>>>>> the issue is the SD in question). Everything works fine until >>>>>>>>>> I hit that limit. I know that FAT 16 has a limit of 512 files >>>>>>>>>> per directory, so I wouldn't have though I would hit it this >>>>>>>>>> soon. Any suggestions as to what may be going on? Thanks >>>>>>>>>> >>>>>>>>>> Daniel >>>>>>>>>> >>>>>>>>>> Using Tomcat but need to do more? Need to support web >>>>>>>>>> services, security? >>>>>>>>>> Get stuff done quickly with pre-integrated technology to make >>>>>>>>>> your job easier >>>>>>>>>> Download IBM WebSphere Application Server v.1.0.1 based on >>>>>>>>>> Apache Geronimo >>>>>>>>>> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 >>>>>>>>>> >>>>>>>>>> _______________________________________________ >>>>>>>>>> Efsl-devel mailing list >>>>>>>>>> Efs...@li... >>>>>>>>>> https://lists.sourceforge.net/lists/listinfo/efsl-devel >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>> Using Tomcat but need to do more? Need to support web >>>>>>>>> services, security? >>>>>>>>> Get stuff done quickly with pre-integrated technology to make >>>>>>>>> your job easier >>>>>>>>> Download IBM WebSphere Application Server v.1.0.1 based on >>>>>>>>> Apache Geronimo >>>>>>>>> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 >>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> Efsl-devel mailing list >>>>>>>>> Efs...@li... >>>>>>>>> https://lists.sourceforge.net/lists/listinfo/efsl-devel >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> Using Tomcat but need to do more? Need to support web services, >>>>>>>> security? >>>>>>>> Get stuff done quickly with pre-integrated technology to make >>>>>>>> your job easier >>>>>>>> Download IBM WebSphere Application Server v.1.0.1 based on >>>>>>>> Apache Geronimo >>>>>>>> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> Efsl-devel mailing list >>>>>>>> Efs...@li... >>>>>>>> https://lists.sourceforge.net/lists/listinfo/efsl-devel >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> Using Tomcat but need to do more? Need to support web services, >>>>>>> security? >>>>>>> Get stuff done quickly with pre-integrated technology to make >>>>>>> your job easier >>>>>>> Download IBM WebSphere Application Server v.1.0.1 based on >>>>>>> Apache Geronimo >>>>>>> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 >>>>>>> >>>>>>> _______________________________________________ >>>>>>> Efsl-devel mailing list >>>>>>> Efs...@li... >>>>>>> https://lists.sourceforge.net/lists/listinfo/efsl-devel >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> Using Tomcat but need to do more? Need to support web services, >>>>>> security? >>>>>> Get stuff done quickly with pre-integrated technology to make >>>>>> your job easier >>>>>> Download IBM WebSphere Application Server v.1.0.1 based on Apache >>>>>> Geronimo >>>>>> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 >>>>>> >>>>>> _______________________________________________ >>>>>> Efsl-devel mailing list >>>>>> Efs...@li... >>>>>> https://lists.sourceforge.net/lists/listinfo/efsl-devel >>>>>> >>>>>> >>>>>> >>>>>> >>>>> Using Tomcat but need to do more? Need to support web services, >>>>> security? >>>>> Get stuff done quickly with pre-integrated technology to make your >>>>> job easier >>>>> Download IBM WebSphere Application Server v.1.0.1 based on Apache >>>>> Geronimo >>>>> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 >>>>> >>>>> _______________________________________________ >>>>> Efsl-devel mailing list >>>>> Efs...@li... >>>>> https://lists.sourceforge.net/lists/listinfo/efsl-devel >>>>> >>>>> >>>>> >>>>> >>>> >>>> >>>> Using Tomcat but need to do more? Need to support web services, >>>> security? >>>> Get stuff done quickly with pre-integrated technology to make your >>>> job easier >>>> Download IBM WebSphere Application Server v.1.0.1 based on Apache >>>> Geronimo >>>> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 >>>> >>>> _______________________________________________ >>>> Efsl-devel mailing list >>>> Efs...@li... >>>> https://lists.sourceforge.net/lists/listinfo/efsl-devel >>>> >>>> >>>> >>>> >>> Using Tomcat but need to do more? Need to support web services, >>> security? >>> Get stuff done quickly with pre-integrated technology to make your >>> job easier >>> Download IBM WebSphere Application Server v.1.0.1 based on Apache >>> Geronimo >>> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 >>> >>> _______________________________________________ >>> Efsl-devel mailing list >>> Efs...@li... >>> https://lists.sourceforge.net/lists/listinfo/efsl-devel >>> >>> >>> >>> >> >> >> >> Using Tomcat but need to do more? Need to support web services, >> security? >> Get stuff done quickly with pre-integrated technology to make your >> job easier >> Download IBM WebSphere Application Server v.1.0.1 based on Apache >> Geronimo >> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 >> _______________________________________________ >> Efsl-devel mailing list >> Efs...@li... >> https://lists.sourceforge.net/lists/listinfo/efsl-devel >> >> !DSPAM:44ae076c194851210916249! >> >> > |