I've been encountered with a FAT panic, saying,
=====================================
Filesystem panic (dev mmcblk0p1)
fat_get_cluster: invalid cluster chain (i_pos 16021)
File system has been set read-only
=====================================

After tracking into kernel code, I find this is printed out by
[EMAIL PROTECTED]/fat/cache.c ,
=====================================
  nr = fat_access(sb, *dclus, -1);
  if (nr < 0)
    return nr;
  else if (nr == FAT_ENT_FREE) {
   fat_fs_panic(sb, "%s: invalid cluster chain"
         " (i_pos %lld)", __FUNCTION__,
         MSDOS_I(inode)->i_pos);
   return -EIO;
  } else if (nr == FAT_ENT_EOF) {
   fat_cache_add(inode, &cid);
   return FAT_ENT_EOF;
  }
=====================================

Could you please help to explain what does FAT_ENT_FREE mean? and what
condition will lead to (nr == FAT_ENT_FREE) to be true?

Thank you very much!

Sorry for these simple questions for you, since it's the first time
for me to look into FAT code. Your kindly reply will be appreciated
much, and will help me a lot.

BTW, where could I find a documentation about Linux FAT?

Thanks & Regards,
Stephen
-
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to