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

Commit 3ce7e67a authored by Chris Mason's avatar Chris Mason
Browse files

Btrfs: Drop some debugging around the extent_map pinned flag

parent 61b49440
Loading
Loading
Loading
Loading
+1 −9
Original line number Diff line number Diff line
@@ -380,15 +380,7 @@ int btrfs_drop_extent_cache(struct inode *inode, u64 start, u64 end)
			spin_unlock(&em_tree->lock);
			break;
		}
		if (test_bit(EXTENT_FLAG_PINNED, &em->flags)) {
			printk(KERN_CRIT "inode %lu trying to drop pinned "
			       "extent start %llu end %llu, em [%llu %llu]\n",
			       inode->i_ino,
			       (unsigned long long)start,
			       (unsigned long long)end,
			       (unsigned long long)em->start,
			       (unsigned long long)em->len);
		}
		clear_bit(EXTENT_FLAG_PINNED, &em->flags);
		remove_extent_mapping(em_tree, em);

		if (em->block_start < EXTENT_MAP_LAST_BYTE &&
+0 −22
Original line number Diff line number Diff line
@@ -505,15 +505,9 @@ static int btrfs_finish_ordered_io(struct inode *inode, u64 start, u64 end)
	struct btrfs_trans_handle *trans;
	struct btrfs_ordered_extent *ordered_extent;
	struct extent_io_tree *io_tree = &BTRFS_I(inode)->io_tree;
	struct extent_map_tree *em_tree = &BTRFS_I(inode)->extent_tree;
	struct extent_map *em;
	struct extent_map *em_orig;
	u64 alloc_hint = 0;
	u64 clear_start;
	u64 clear_end;
	struct list_head list;
	struct btrfs_key ins;
	struct rb_node *rb;
	int ret;

	ret = btrfs_dec_test_ordered_pending(inode, start, end - start + 1);
@@ -542,22 +536,6 @@ static int btrfs_finish_ordered_io(struct inode *inode, u64 start, u64 end)

	mutex_lock(&BTRFS_I(inode)->extent_mutex);

	spin_lock(&em_tree->lock);
	clear_start = ordered_extent->file_offset;
	clear_end = ordered_extent->file_offset + ordered_extent->len;
	em = lookup_extent_mapping(em_tree, clear_start,
				   ordered_extent->len);
	em_orig = em;
	while(em && clear_start < extent_map_end(em) && clear_end > em->start) {
		clear_bit(EXTENT_FLAG_PINNED, &em->flags);
		rb = rb_next(&em->rb_node);
		if (!rb)
			break;
		em = rb_entry(rb, struct extent_map, rb_node);
	}
	free_extent_map(em_orig);
	spin_unlock(&em_tree->lock);

	ret = btrfs_drop_extents(trans, root, inode,
				 ordered_extent->file_offset,
				 ordered_extent->file_offset +