Namjae Jeon <linkinjeon@xxxxxxxxx> writes: >>> + if (parent && (len < FAT_FID_SIZE_WITH_PARENT)) { >>> + *lenp = FAT_FID_SIZE_WITH_PARENT; >>> + return 255; >>> + } else if (len < FAT_FID_SIZE_WITHOUT_PARENT) { >>> + *lenp = FAT_FID_SIZE_WITHOUT_PARENT; >>> + return 255; >>> + } >> >> This check strange. "parent && len == FAT_FID_SIZE_WITHOUT_PARENT" will >> overwrite over limit of fh size? > I need to check more. because I followed the logic in > export_encode_fh() function. Ah, my fault, it doesn't have real problem. But code is quite strange. If input is "parent && len >= FAT_FID_SIZE_WITHOUT_PARENT", "else if (len < FAT_FID_SIZE_WITHOUT_PARENT)" check is entirely useless, but this code itself checks "len". if (parent) { if (len < FAT_FID_SIZE_WITH_PARENT) /* error */ } else { if (len < FAT_FID_SIZE_WITHOUT_PARENT) /* error */ } I think this would readable, and I guess this will generates faster/simpler code (at least, this doesn't depends an optimization of gcc). Thanks. -- OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html