From: Filipe Manana Date: Mon, 2 Feb 2026 16:47:02 +0000 (+0000) Subject: btrfs: update comment for BTRFS_RESERVE_NO_FLUSH X-Git-Tag: v7.1-rc1~231^2~105 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f754acce0f621425dadf7b50378e47adda336699;p=thirdparty%2Fkernel%2Flinux.git btrfs: update comment for BTRFS_RESERVE_NO_FLUSH The comment is incomplete as BTRFS_RESERVE_NO_FLUSH is used for more reasons than currently holding a transaction handle open. Update the comment with all the other reasons and give some details. Signed-off-by: Filipe Manana Signed-off-by: David Sterba --- diff --git a/fs/btrfs/space-info.h b/fs/btrfs/space-info.h index 0703f24b23f70..6f96cf48d7dad 100644 --- a/fs/btrfs/space-info.h +++ b/fs/btrfs/space-info.h @@ -21,7 +21,24 @@ struct btrfs_block_group; * The higher the level, the more methods we try to reclaim space. */ enum btrfs_reserve_flush_enum { - /* If we are in the transaction, we can't flush anything.*/ + /* + * Used when we can't flush or don't need: + * + * 1) We are holding a transaction handle open, so we can't flush as + * that could deadlock. + * + * 2) For a nowait write we don't want to block when reserving delalloc. + * + * 3) Joining a transaction or attaching a transaction, we don't want + * to wait and we don't need to reserve anything (any needed space + * was reserved before in a dedicated block reserve, or we rely on + * the global block reserve, see btrfs_init_root_block_rsv()). + * + * 4) Starting a transaction when we don't need to reserve space, as + * we don't need it because we previously reserved in a dedicated + * block reserve or rely on the global block reserve, like the above + * case. + */ BTRFS_RESERVE_NO_FLUSH, /*