tag name | reflink-speedups_2021-09-17 (6a52370daa75ef641edfcafea96d0c2eb61ebdf8) |
tag date | 2021-09-17 18:55:56 -0700 |
tagged by | Darrick J. Wong <djwong@kernel.org> |
tagged object | commit 42612e8abd... |
xfs: fix reflink inefficiencies
As Dave Chinner has complained about on IRC, there are a couple of
things about reflink that are very inefficient. First of all, we
limited the size of all bunmapi operations to avoid flooding the log
with defer ops in the worst case, but recent changes to the defer ops
code have solved that problem, so get rid of the bunmapi length clamp.
Second, the log reservations for reflink operations are far far larger
than they need to be. Shrink them to exactly what we need to handle
each deferred RUI and CUI log item, and no more. Also reduce logcount
because we don't need 8 rolls per operation. Introduce a transaction
reservation compatibility layer to avoid changing the minimum log size
calculations.
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEUzaAxoMeQq6m2jMV+H93GTRKtOsFAmFFRywACgkQ+H93GTRK
tOvnIA//bnoyNHauVIFjdqKuB/lwqg1/1UWx/GTe618Mfs/XxbAPsiJZ1uFpEAxc
Nzqm/I/FHZrn+zC4d/JOwJlX8FqboMiwG2ZoeqnQYLTEZD1U6Z98ba74KeEWKNnv
/uvP/9wzzAUc7b1EVLraW2lGOeEcAgoGV5GMQXx1uxhy0DhQo2jDmOlzAdMxuh2T
Ry15ErZ6nckXgpz4RzzCWnKcvrXR0dlFmWZeWCPQK7WMc00WD9ay9Y4Pb7oyxn75
LncPYAJvyTFDjsnPw1HSFkgH5oZmny7rrh5op7X3CjNa5sFQkJzFwDhzhiAmSr2+
teGvlaMu4ADY2JXe1hXP1PUEoSfkueXzDiI8JZ0ADUFR4g3yNOKjhqAXQxoImpvT
sDt7y4XGBCb+4Mh+Qfhh2AfsDqIFSfV85KY3MbWdPa40FuKR8pp4pEGhY5adkQbN
3dmeO/bHPHf3K9Agz8GZuOB66QifrjNaHcepsAX3L/rAbu8hTI3/HBJdF2twWzvW
ZILxgdEttxHWVzVg96919+y8VQ/cZNN1gqRZE+RT58uiTlOl8jBn7Q8VnFHfFLhD
G+p5bKYVjOkxFLHhS+ZUdahx9GJAdbEezn7p8ZlG9j+A1US4FqXR5n9StAwX8Wfc
TYl3kBh1XmOfCZHHWDGPGWs2Ep0cJSp34lANCoPqQzOZEBYMoFE=
=W24j
-----END PGP SIGNATURE-----