svn commit: r273060 - head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs

Xin Li delphij at delphij.net
Fri Nov 21 20:25:41 UTC 2014


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

On 11/21/14 07:18, Andriy Gapon wrote:
> On 13/10/2014 23:39, Xin LI wrote:
>> Author: delphij Date: Mon Oct 13 20:39:51 2014 New Revision:
>> 273060 URL: https://svnweb.freebsd.org/changeset/base/273060
>> 
>> Log: Use write_psize instead of write_asize when doing
>> vdev_space_update. Without this change the accounting of L2ARC
>> usage would be wrong and give 16EB free space because the number
>> became negative and overflows.
>> 
>> Obtained from:	FreeNAS (issue #6239)
> 
> First, a link to the issue would be more convenient for reviewers.
> Here it is https://bugs.freenas.org/issues/6239
> 
> Then, I would like to see a technical explanation for this change. 
> I could not find any explanation here or in the FreeNAS issue or in
> the FreeNAS commit.
> 
> As far as I can see, all calls to vdev_space_update() in the ARC
> code are passed l2hdr->b_asize or a sum of b_asize fields of
> multiple buffers. Thus, I am really surprised with this change and
> would like to see reasoning behind it.

Hmm I think you are right that my change doesn't make sense but I
can't remember the details either and suggests there is some other
issues that was covered up by this.

It looks like that I was confused because the L2ARC clock hand
advances by buf_p_sz (unrelated but it should really be called
buf_a_size) and the way we calculate allocated L2ARC free.

Cheers,
- -- 
Xin LI <delphij at delphij.net>    https://www.delphij.net/
FreeBSD - The Power to Serve!           Live free or die
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0

iQIcBAEBCgAGBQJUb5/DAAoJEJW2GBstM+nsJ9QQAI1r3y0dcQNegsfF997C5Kx/
kbS8qG9gmlwHwYlt7Q4RWH8z+kpo4poSrTz3i/0JaLBM5GN3NYq4LqVDIvX0MF4N
wY8y1Fv8u6HVoor7gM0YbCXsAG7KJXHP+vj8MlczFiHdyK6Rl0HAiifMPUM1ie2I
LHhmzSCzYsp8SJ2w+ggnwZQjTfJH+nwbcEHc9+2ke7u7cgb/pRuRMX8CfP6B6zfM
+kOszv4UIp0xa8wA4ER/Ic8NlD9f8f7767vDxa1sfvCJaIeIoTjGplqDhkMuGaCc
EcGy1rDH5iSvrRi9JbwZCtasYupwNINfIuKRcBTMUtSZDPu9D/cQfC1/b3DOhX97
uJt8GLEbQL/EeSOuqQ5aSAVzC08B6sJyTxnZ2/hIM96WEGhHvUPyng5AQ9umvRV4
Es10kly/KBRcCq8MfqJkA9e4a2sEIhSZyPPs+kcnFiBfQmyXlrkQgHrgCufHUO9B
V4m5wsa+snv3sJQfg3HyOavYFY51/Yi9fWAeVUKt/NAsQQaOGNrvNIb8OEZamUS8
3rujexBEaDEW9wHFt3mZiN9zzh7+ZslwvSMh+B/qsp6nnoDJ9I7QzkFNUxHzlWZg
Cc7d1ezbQF3t36S8ixpUER8w2bXGfAgnURvJWf86vNXwrFEo9BHUh42mauw9kMbZ
01SCBCFFDqpIUry9GFDW
=uPh8
-----END PGP SIGNATURE-----


More information about the svn-src-all mailing list