Btrfs: specify a new ordered extent type for create_io_em
authorLiu Bo <bo.li.liu@oracle.com>
Mon, 13 Feb 2017 23:35:09 +0000 (15:35 -0800)
committerDavid Sterba <dsterba@suse.com>
Fri, 17 Feb 2017 11:03:48 +0000 (12:03 +0100)
As 0 refers to an existing type BTRFS_ORDERED_IO_DONE, this specifies a
new type 'REGULAR' for regular IO.

Signed-off-by: Liu Bo <bo.li.liu@oracle.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/inode.c
fs/btrfs/ordered-data.h

index b37b062..151d192 100644 (file)
@@ -991,7 +991,7 @@ static noinline int cow_file_range(struct inode *inode,
                                  ins.offset, /* orig_block_len */
                                  ram_size, /* ram_bytes */
                                  BTRFS_COMPRESS_NONE, /* compress_type */
-                                 0 /* type */);
+                                 BTRFS_ORDERED_REGULAR /* type */);
                if (IS_ERR(em))
                        goto out_reserve;
                free_extent_map(em);
@@ -7506,7 +7506,7 @@ static struct extent_map *create_io_em(struct inode *inode, u64 start, u64 len,
        ASSERT(type == BTRFS_ORDERED_PREALLOC ||
               type == BTRFS_ORDERED_COMPRESSED ||
               type == BTRFS_ORDERED_NOCOW ||
-              type == 0);
+              type == BTRFS_ORDERED_REGULAR);
 
        em_tree = &BTRFS_I(inode)->extent_tree;
        em = alloc_extent_map();
@@ -7523,9 +7523,9 @@ static struct extent_map *create_io_em(struct inode *inode, u64 start, u64 len,
        em->ram_bytes = ram_bytes;
        em->generation = -1;
        set_bit(EXTENT_FLAG_PINNED, &em->flags);
-       if (type == BTRFS_ORDERED_PREALLOC)
+       if (type == BTRFS_ORDERED_PREALLOC) {
                set_bit(EXTENT_FLAG_FILLING, &em->flags);
-       else if (type == BTRFS_ORDERED_COMPRESSED) {
+       else if (type == BTRFS_ORDERED_COMPRESSED) {
                set_bit(EXTENT_FLAG_COMPRESSED, &em->flags);
                em->compress_type = compress_type;
        }
index b02b71d..a8cb8ef 100644 (file)
@@ -75,6 +75,8 @@ struct btrfs_ordered_sum {
                                 * in the logging code. */
 #define BTRFS_ORDERED_PENDING 11 /* We are waiting for this ordered extent to
                                  * complete in the current transaction. */
+#define BTRFS_ORDERED_REGULAR 12 /* Regular IO for COW */
+
 struct btrfs_ordered_extent {
        /* logical offset in the file */
        u64 file_offset;