Hi,
There is a bug in load_attribute_list [both 2.4 and 2.5 kernels]. If the
initialized_size of an attribute list attribute is a multiply of block_size
but not multiply of cluster size then overflow reported incorrectly and
inode marked as bad however it's not true. The attached patch should fix it
but I didn't test it. Thanks to Attila for helping to track down this
problem [some files couldn't be read, I've seen same reports before also].
Two other comments on load_attribute_list():
1) I don't agree with the sanity check at the function start is in #if
DEBUG. It should be there always.
2) I can't see the point checking for LCN_RL_NOT_MAPPED in
do_partial/do_final. If earlier a same is found then it's
error however in do_partial/do_final it's OK?
Szaka
|