All of lore.kernel.org
 help / color / mirror / Atom feed
From: fdmanana@kernel.org
To: linux-btrfs@vger.kernel.org
Subject: [PATCH 0/5] btrfs: rework directory logging to make it more efficient
Date: Thu, 16 Sep 2021 11:32:09 +0100	[thread overview]
Message-ID: <cover.1631787796.git.fdmanana@suse.com> (raw)

From: Filipe Manana <fdmanana@suse.com>


This patchset changes directory logging to make it more efficient, by doing
bulk inserts of directory items and avoiding tree searches on a item by item
basis when they can be avoided. These decrease the amount of time we spend
logging directory items and reduces lock contention on a log tree in case
there are other tasks logging other inodes. The last patch mentions test
results in its changelog, and the first 3 patches are just cleanups and
preparatory work. This is also ground work for future changes to directory
logging, but since these are already big enough, I'm sending these separately
to get into integration/linux-next sooner rather than later.


Filipe Manana (5):
  btrfs: remove root argument from btrfs_log_inode() and its callees
  btrfs: remove redundant log root assignment from log_dir_items()
  btrfs: factor out the copying loop of dir items from log_dir_items()
  btrfs: insert items in batches when logging a directory when possible
  btrfs: keep track of the last logged keys when logging a directory

 fs/btrfs/btrfs_inode.h |  39 ++--
 fs/btrfs/inode.c       |   6 +-
 fs/btrfs/tree-log.c    | 419 ++++++++++++++++++++++++++++++-----------
 fs/btrfs/tree-log.h    |   2 +
 4 files changed, 340 insertions(+), 126 deletions(-)

-- 
2.33.0


             reply	other threads:[~2021-09-16 10:32 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-16 10:32 fdmanana [this message]
2021-09-16 10:32 ` [PATCH 1/5] btrfs: remove root argument from btrfs_log_inode() and its callees fdmanana
2021-09-17 10:51   ` David Sterba
2021-09-17 11:09     ` Filipe Manana
2021-09-17 11:34       ` David Sterba
2021-09-16 10:32 ` [PATCH 2/5] btrfs: remove redundant log root assignment from log_dir_items() fdmanana
2021-09-16 10:32 ` [PATCH 3/5] btrfs: factor out the copying loop of dir items " fdmanana
2021-09-16 10:32 ` [PATCH 4/5] btrfs: insert items in batches when logging a directory when possible fdmanana
2021-09-16 10:32 ` [PATCH 5/5] btrfs: keep track of the last logged keys when logging a directory fdmanana
2021-09-17 10:46 ` [PATCH 0/5] btrfs: rework directory logging to make it more efficient David Sterba

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cover.1631787796.git.fdmanana@suse.com \
    --to=fdmanana@kernel.org \
    --cc=linux-btrfs@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.