Re: [PATCH v6 4/7] fat: restructure export_operations

From: OGAWA Hirofumi
Date: Mon Feb 18 2013 - 09:38:16 EST


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-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/