[U-Boot] fatls returncode
Mirza Krak
mirza.krak at hostmobility.com
Thu Mar 23 08:37:37 UTC 2017
Hi.
I am running U-boot 2015.04 and experiencing some issues with "fatls" command.
We use the "fatls" command to detect if there is an USB storage device
plugged in the port during boot (might be better ways of doing this).
So on boot we have:
fatls usb 0:1 && <do something>
Normally "fatls" returns "0" when it does a successful list. But we
have found a case where it does not even though everything seems to
work fine. Below is a log with debug enabled (obfuscated filenames
since I got this flash drive from a customer).
MX-4 C61 # fatls usb 0:1
VFAT Support enabled
FAT32, fat_sect: 1146, fatlength: 7619
Rootdir begins at cluster: 2, sector: 16384, offset: 800000
Data begins at: 16368
Sector size: 512, cluster size: 8
FAT read(sect=16384, cnt:8), clust_size=8, DIRENTSPERBLOCK=16
system volume information/
bin/
boot/
etc/
i4m/
lib/
sbin/
share/
1530 file1.sh
15542 file2.sh
1745 file3.sh
4609 file4.sh
END LOOP: buffer_blk_cnt=0 clust_size=8
1547 file5.sh
22361 file6.sh
385078 file7.sh
33279 file8.sh
1152054 file9.sh
158132 file10.sh
1473 file11.sh
9739 file12.sh
318780 file13.sh
END LOOP: buffer_blk_cnt=1 clust_size=8
34027520 file14.sh
1246 file15.sh
1246 file16.sh
END LOOP: buffer_blk_cnt=2 clust_size=8
END LOOP: buffer_blk_cnt=3 clust_size=8
END LOOP: buffer_blk_cnt=4 clust_size=8
END LOOP: buffer_blk_cnt=5 clust_size=8
END LOOP: buffer_blk_cnt=6 clust_size=8
END LOOP: buffer_blk_cnt=7 clust_size=8
FAT32: entry: 0x0002 = 2, offset: 0x0002 = 2
FAT32: ret: 0fffffff, offset: 0002
16 file(s), 8 dir(s)
MX-4 C61 # echo $?
1
Even though the file list seems to be OK, the return code indicates an error.
I am wondering if we need to set "ret = 0" in below code-path (which
the exit path in above output)
fs/fat/fat.c:
1139 /* If end of rootdir reached */
1140 if (rootdir_end) {
1141 if (dols == LS_ROOT) {
1142 printf("\n%d file(s), %d dir(s)\n\n",
1143 files, dirs);
1144 *size = 0;
1145 }
1146 goto exit;
1147 }
--
Med Vänliga Hälsningar / Best Regards
*******************************************************************
Mirza Krak
Host Mobility AB
mirza.krak at hostmobility.com
Anders Personsgatan 12, 416 64 Göteborg
Sweden
http://www.hostmobility.com
Direct: +46 31 31 32 704
Phone: +46 31 31 32 700
Fax: +46 31 80 67 51
Mobile: +46 730 28 06 22
*******************************************************************
More information about the U-Boot
mailing list