
Some bugs I found while using uboot. ------------------------------------------------------- BODY { font-family:Arial, Helvetica, sans-serif;font-size:12px; }in common/cmd_ubifs.c from line 59 add 2 lines ubifs_initialized = 1; } + // tcremel@alphabot.fr : ubifs_mounted is never reset if the previous mount failed. This bring my system to hang as it tries to unmount a non-existing mount point + ubifs_mounted = 0; ret = ubifs_mount(vol_name); if (ret) return -1; ------------------------------------------------------- BODY { font-family:Arial, Helvetica, sans-serif;font-size:12px; }in fs/ubifs/super.c from line 1189 add 2 lines ret = ubifs_get_sb(&ubifs_fs_type, flags, name, data, mnt); if (ret) { printf("Error reading superblock on volume '%s'!n", name); + // tcremel@alphabot.fr : added as if the filesystem does not exist, the previous system is partly kept. This bring my system to hang as it has some superblocks informations from another FS + ubifs_sb=NULL; return -1; } ------------------------------------------------------- in BODY { font-family:Arial, Helvetica, sans-serif;font-size:12px; }fs/ubifs/ubifs.c from line 42 modified 1 line to 5 unsigned char *out, size_t *out_len) { unsigned long len = in_len; ! return zunzip(out, *out_len, (unsigned char *)in, &len, 0, 0); } /* Fake description object for the "none" compressor */
>>>>>>>>>>>
unsigned char *out, size_t *out_len) { unsigned long len = in_len; ! // tcremel@alphabot.fr : the return length should not be lost. ! int res; ! res=zunzip(out, *out_len, (unsigned char *)in, &len, 0, 0); ! *out_len=len; ! return res; } ------------------------------------------------------- Hope this helps ! :) http://www.alphabot.fr