Hi, Eric,
I don't have tesecase about this bug. I did the test manually. I use
khexedit to confirm the attributes whether in inody or block.
The problem about this bug is we want to replace an existing attribute
in ibody with big size value which larger than free space in ibody.
Because we didn't do block_find(), so the struct bs have not been
initialized. Then when we try to set attribute in block by block_set(),
we find bs->base is empty, we need alloc a new block for attributes. The
old block pointed by i_file_acl will lost with attributes in it.
Best regards,
tiger
Eric Sandeen wrote:
Tiger Yang wrote:
Hi,
I met a bug when I try to replace a xattr entry in ibody with a big size
value. But in ibody there has no space for the new value. So it should
set new xattr entry in block and remove the old xattr entry in ibody.
Best regards,
tiger
Tiger, do you have a testcase handy to demonstrate this?
Is the new, large out-of-inode xattr unique so that it does not match
any existing attribute block, I assume?
Thanks,
-Eric
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html