]> git.baikalelectronics.ru Git - kernel.git/commit
Merge tag 'reflink-speedups-5.19_2022-04-28' of git://git.kernel.org/pub/scm/linux...
authorDave Chinner <david@fromorbit.com>
Wed, 4 May 2022 02:37:40 +0000 (12:37 +1000)
committerDave Chinner <david@fromorbit.com>
Wed, 4 May 2022 02:37:40 +0000 (12:37 +1000)
commitcc91a04802870c402b033595f35152b4e4b4b646
treef9dac382a7db9e96f7252b3142829df3a5f5fbcc
parent8f29f8feeb822fa53ece2353020f9cc001b7aaac
parent6f04622dda423e2e0f0de3511e5450b910620c73
Merge tag 'reflink-speedups-5.19_2022-04-28' of git://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux into xfs-5.19-for-next

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.

Signed-off-by: Dave Chinner <david@fromorbit.com>
fs/xfs/xfs_trace.h