Re: [PATCH 0/3] btrfs: fix fsync failure with SQL Server workload
From: Anand Jain <hidden>
Date: 2021-05-24 14:31:44
On 24/5/21 6:35 pm, fdmanana@kernel.org wrote:
From: Filipe Manana <redacted> This patchset fixes a fsync failure (-EIO) and transaction abort during a workload for Microsoft's SQL Server running in a Docker container as reported at: https://lore.kernel.org/linux-btrfs/93c4600e-5263-5cba-adf0-6f47526e7561@in.tum.de/ (local) It also adds an optimization for the workload, by removing lots of fsyncs that trigger the slow code path and replacing them with ones that use the fast path, reducing the workload's runtime by about -12% on my test box. Filipe Manana (3): btrfs: fix fsync failure and transaction abort after writes to prealloc extents btrfs: fix misleading and incomplete comment of btrfs_truncate() btrfs: don't set the full sync flag when truncation does not touch extents fs/btrfs/ctree.h | 2 +- fs/btrfs/file-item.c | 98 ++++++++++++++++++++++++++++--------- fs/btrfs/free-space-cache.c | 2 +- fs/btrfs/inode.c | 65 +++++++++++++++++------- fs/btrfs/tree-log.c | 5 +- 5 files changed, 128 insertions(+), 44 deletions(-)
Patch 3/3 needs conflict fix on latest misc-next in ctree.h. Tested-by: Anand Jain <redacted> For the whole series. Test arch=aarch64 pagesize=64k. Thanks, Anand