OSDN Git Service

btrfs: convert __TRANS_* defines to enum bits
authorDavid Sterba <dsterba@suse.com>
Fri, 9 Sep 2022 15:43:06 +0000 (17:43 +0200)
committerDavid Sterba <dsterba@suse.com>
Mon, 5 Dec 2022 17:00:40 +0000 (18:00 +0100)
The base transaction bits can be defined as bits in a contiguous
sequence, although right now there's a hole from bit 1 to 8.

The bits are used for btrfs_trans_handle::type, and there's another set
of TRANS_STATE_* defines that are for btrfs_transaction::state. They are
mutually exclusive though the hole in the sequence looks like was made
for the states.

Reviewed-by: Josef Bacik <josef@toxicpanda.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/transaction.h

index 1332f19..b39ebf9 100644 (file)
@@ -10,6 +10,7 @@
 #include "btrfs_inode.h"
 #include "delayed-ref.h"
 #include "ctree.h"
+#include "misc.h"
 
 enum btrfs_trans_state {
        TRANS_STATE_RUNNING,
@@ -98,14 +99,15 @@ struct btrfs_transaction {
        struct list_head releasing_ebs;
 };
 
-#define __TRANS_FREEZABLE      (1U << 0)
-
-#define __TRANS_START          (1U << 9)
-#define __TRANS_ATTACH         (1U << 10)
-#define __TRANS_JOIN           (1U << 11)
-#define __TRANS_JOIN_NOLOCK    (1U << 12)
-#define __TRANS_DUMMY          (1U << 13)
-#define __TRANS_JOIN_NOSTART   (1U << 14)
+enum {
+       ENUM_BIT(__TRANS_FREEZABLE),
+       ENUM_BIT(__TRANS_START),
+       ENUM_BIT(__TRANS_ATTACH),
+       ENUM_BIT(__TRANS_JOIN),
+       ENUM_BIT(__TRANS_JOIN_NOLOCK),
+       ENUM_BIT(__TRANS_DUMMY),
+       ENUM_BIT(__TRANS_JOIN_NOSTART),
+};
 
 #define TRANS_START            (__TRANS_START | __TRANS_FREEZABLE)
 #define TRANS_ATTACH           (__TRANS_ATTACH)