On Fri, Jun 07, 2013 at 10:24:56PM +1000, Dave Chinner wrote: > From: Dave Chinner <dchinner@xxxxxxxxxx> > > When an attribute data does not fill then entire remote block, we > zero the remaining part of the buffer. This, however, needs to take > into account that the buffer has a header, and so the offset where > zeroing starts and the length of zeroing need to take this into > account. Otherwise we end up with zeros over the end of the > attribute value when CRCs are enabled. > > While there, make sure we only ask to map an extent that covers the > remaining range of the attribute, rather than asking every time for > the full length of remote data. If the remote attribute blocks are > contiguous with other parts of the attribute tree, it will map those > blocks as well and we can potentially zero them incorrectly. We can > also get buffer size mistmatches when trying to read or remove the > remote attribute, and this can lead to not finding the correct > buffer when looking it up in cache. > > Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx> Goes with commit 4af3644c9a53eb2f1ecf69cc53576561b64be4c6 Reviewed-by: Ben Myers <bpm@xxxxxxx> _______________________________________________ xfs mailing list xfs@xxxxxxxxxxx http://oss.sgi.com/mailman/listinfo/xfs