mbox series

[0/3] btrfs: some updates to btrfs_mark_buffer_dirty()

Message ID cover.1694519543.git.fdmanana@suse.com (mailing list archive)
Headers show
Series btrfs: some updates to btrfs_mark_buffer_dirty() | expand

Message

Filipe Manana Sept. 12, 2023, 12:04 p.m. UTC
From: Filipe Manana <fdmanana@suse.com>

A few updates to btrfs_mark_buffer_dirty(), with the most important one
to not allow a transaction to commit when we know there's some corruption
due to marking an extent buffer as dirty when its generation does not
match the current transaction's generation. More details on the change
logs of each patch.

Filipe Manana (3):
  btrfs: abort transaction on generation mismatch when marking eb as dirty
  btrfs: use btrfs_crit at btrfs_mark_buffer_dirty()
  btrfs: mark transaction id check as unlikely at btrfs_mark_buffer_dirty()

 fs/btrfs/block-group.c               |   4 +-
 fs/btrfs/ctree.c                     | 109 +++++++++++++++------------
 fs/btrfs/ctree.h                     |  11 ++-
 fs/btrfs/delayed-inode.c             |   2 +-
 fs/btrfs/dev-replace.c               |   2 +-
 fs/btrfs/dir-item.c                  |   8 +-
 fs/btrfs/disk-io.c                   |  18 +++--
 fs/btrfs/disk-io.h                   |   3 +-
 fs/btrfs/extent-tree.c               |  36 +++++----
 fs/btrfs/file-item.c                 |  17 +++--
 fs/btrfs/file.c                      |  34 ++++-----
 fs/btrfs/free-space-cache.c          |   6 +-
 fs/btrfs/free-space-tree.c           |  17 +++--
 fs/btrfs/inode-item.c                |  16 ++--
 fs/btrfs/inode.c                     |  10 +--
 fs/btrfs/ioctl.c                     |   4 +-
 fs/btrfs/qgroup.c                    |  14 ++--
 fs/btrfs/relocation.c                |  10 +--
 fs/btrfs/root-tree.c                 |   4 +-
 fs/btrfs/tests/extent-buffer-tests.c |   6 +-
 fs/btrfs/tests/inode-tests.c         |  12 ++-
 fs/btrfs/tree-log.c                  |  12 +--
 fs/btrfs/uuid-tree.c                 |   6 +-
 fs/btrfs/volumes.c                   |  10 +--
 fs/btrfs/xattr.c                     |   8 +-
 25 files changed, 208 insertions(+), 171 deletions(-)

Comments

David Sterba Sept. 13, 2023, 1:45 p.m. UTC | #1
On Tue, Sep 12, 2023 at 01:04:28PM +0100, fdmanana@kernel.org wrote:
> From: Filipe Manana <fdmanana@suse.com>
> 
> A few updates to btrfs_mark_buffer_dirty(), with the most important one
> to not allow a transaction to commit when we know there's some corruption
> due to marking an extent buffer as dirty when its generation does not
> match the current transaction's generation. More details on the change
> logs of each patch.
> 
> Filipe Manana (3):
>   btrfs: abort transaction on generation mismatch when marking eb as dirty
>   btrfs: use btrfs_crit at btrfs_mark_buffer_dirty()
>   btrfs: mark transaction id check as unlikely at btrfs_mark_buffer_dirty()

Added to misc-next, thanks.