Another DOS Format issue with MMC/SD [Fixed]

Joel Sherrill joel.sherrill at OARcorp.com
Thu Jan 29 15:12:40 UTC 2009


Since you have filed PRs for both of these.  If you
will attach diffs to both of them, I will commit to
both 4.9 and the head as appropriate.

Thanks.

--joel

Gene Smith wrote:
> Gene Smith wrote:
>   
>> In cpukit/libfs/src/dosfs/msdos_format.c function dos_format() I added 
>> dd->start to every place the sector number is used and it seemed to fix 
>> the problem. The sector numbers in dos_format() were all zero based so 
>> all writes started at the 0th sector, overwriting the MBR.
>>     
>
> When I back port the HEAD version of spi-sd-card.c to 4.9.1 discussed in
> http://www.rtems.org/bugzilla/show_bug.cgi?id=1356
> I don't need to change msdos_format.c. That is because the new HEAD 
> version sets up all writes to SD/MMC card to go through the cache/block 
> layer which adds in dd->start automatically. Writes to absolute sectors 
> are not done.
>
>   
>> But when I look at the formatted card on linux, df says it is 1% used 
>> but gparted says it it 42% used with one small file on it. Blocks look 
>> reasonable with dd. Sectors per cluster was originally 4 (OEM 
>> formatting) now it is 2. Total number of sector in f/s is 65,537. With 
>> 512 bytes per sector that is only 33M while the device with OEM 
>> formatting showed about 60M I think.  ??? :(
>>
>> When reformatted in linux df shows 56068 1K blocks. gparted show 
>> slightly more probably includes boot rec, fats and root.
>>
>> dd shows 4 sectors per cluster (same as OEM format),
>> dd shows 112,392 sectors in the fs, same as gparted starting a sector 63 
>> (start of boot rec).
>>
>> Print to rtems syslog of card's CSD data at startup shows
>> Block size [B] 512
>> Block number 127232     <--- Linux only uses 112392 of these! ??
>> Capacity [B] 65142784
>>
>> So something is still not quite right in rtems dos_format() or somewhere 
>> else in the way it is setting the boot record.
>>
>>     
>
> This problem still exists in 4.9.1 even with the new HEAD version of 
> spi-sd-card.c. But I found the reason and fix described here:
> http://www.rtems.org/bugzilla/show_bug.cgi?id=1363
>
> _______________________________________________
> rtems-users mailing list
> rtems-users at rtems.com
> http://rtems.rtems.org/mailman/listinfo/rtems-users
>   


-- 
Joel Sherrill, Ph.D.             Director of Research & Development
joel.sherrill at OARcorp.com        On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
   Support Available             (256) 722-9985





More information about the users mailing list