Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1af4a0aa authored by Liu Bo's avatar Liu Bo Committed by David Sterba
Browse files

Btrfs: specify a new ordered extent type for create_io_em



As 0 refers to an existing type BTRFS_ORDERED_IO_DONE, this specifies a
new type 'REGULAR' for regular IO.

Signed-off-by: default avatarLiu Bo <bo.li.liu@oracle.com>
Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent 6f9994db
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -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;
	}
+2 −0
Original line number Diff line number Diff line
@@ -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;