diff options
author | rockiec <rockiec@codeaurora.org> | 2012-12-28 17:34:51 +0800 |
---|---|---|
committer | Adnan Begovic <adnan@cyngn.com> | 2015-10-07 17:39:54 -0700 |
commit | 773d51c3557bee51c116d4cecd8c720da21c8f10 (patch) | |
tree | 0e6df5766514d526f989c08d9ef3ca2fe13fff0b | |
parent | e00bc4e14c6388ff4b49ea2cb4eda3c316691ee5 (diff) | |
download | android_external_fsck_msdos-773d51c3557bee51c116d4cecd8c720da21c8f10.tar.gz android_external_fsck_msdos-773d51c3557bee51c116d4cecd8c720da21c8f10.tar.bz2 android_external_fsck_msdos-773d51c3557bee51c116d4cecd8c720da21c8f10.zip |
Do not return error if there is no FAT after fresh format
After format all clusters are free, so don't return error.
This fixes fsck fail on clean FAT16 partitions.
Change-Id: Ib21d000eaad1f84d6182c19cbb81cd3a1d069211
-rw-r--r-- | fat.c | 8 |
1 files changed, 6 insertions, 2 deletions
@@ -889,8 +889,12 @@ checklost(int dosfs, struct bootblock *boot) struct cluster_chain_descriptor *fat ; fat = RB_MIN(FSCK_MSDOS_CACHE,&rb_root); if(!fat){ - fsck_err("%s:rb_root tree is empty\n",__func__); - return FSFATAL; + fsck_info("%s:rb_root tree is empty\n",__func__); + //After format FAT16,nothing left + if(boot->ClustMask & CLUST16_MASK) + return FSOK; + else + return FSFATAL; } while(fat){ if(fat->flag & FAT_USED){ |