aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs
diff options
context:
space:
mode:
authorChris Mason <chris.mason@oracle.com>2008-07-31 15:42:54 -0400
committerChris Mason <chris.mason@oracle.com>2008-09-25 11:04:05 -0400
commit3ce7e67a069b919be774a341b82fc20978b7f69d (patch)
treec1f346ab7c61f51a4de0328ba0890be68038ad50 /fs/btrfs
parent61b4944018449003ac5f9757f4d125dce519cf51 (diff)
Btrfs: Drop some debugging around the extent_map pinned flag
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs')
-rw-r--r--fs/btrfs/file.c10
-rw-r--r--fs/btrfs/inode.c22
2 files changed, 1 insertions, 31 deletions
diff --git a/fs/btrfs/file.c b/fs/btrfs/file.c
index d3f2fe0b7c6c..c78f184ee5cc 100644
--- a/fs/btrfs/file.c
+++ b/fs/btrfs/file.c
@@ -380,15 +380,7 @@ int btrfs_drop_extent_cache(struct inode *inode, u64 start, u64 end)
380 spin_unlock(&em_tree->lock); 380 spin_unlock(&em_tree->lock);
381 break; 381 break;
382 } 382 }
383 if (test_bit(EXTENT_FLAG_PINNED, &em->flags)) { 383 clear_bit(EXTENT_FLAG_PINNED, &em->flags);
384 printk(KERN_CRIT "inode %lu trying to drop pinned "
385 "extent start %llu end %llu, em [%llu %llu]\n",
386 inode->i_ino,
387 (unsigned long long)start,
388 (unsigned long long)end,
389 (unsigned long long)em->start,
390 (unsigned long long)em->len);
391 }
392 remove_extent_mapping(em_tree, em); 384 remove_extent_mapping(em_tree, em);
393 385
394 if (em->block_start < EXTENT_MAP_LAST_BYTE && 386 if (em->block_start < EXTENT_MAP_LAST_BYTE &&
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index 31d52c51acc3..76365ad9bfbf 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -505,15 +505,9 @@ static int btrfs_finish_ordered_io(struct inode *inode, u64 start, u64 end)
505 struct btrfs_trans_handle *trans; 505 struct btrfs_trans_handle *trans;
506 struct btrfs_ordered_extent *ordered_extent; 506 struct btrfs_ordered_extent *ordered_extent;
507 struct extent_io_tree *io_tree = &BTRFS_I(inode)->io_tree; 507 struct extent_io_tree *io_tree = &BTRFS_I(inode)->io_tree;
508 struct extent_map_tree *em_tree = &BTRFS_I(inode)->extent_tree;
509 struct extent_map *em;
510 struct extent_map *em_orig;
511 u64 alloc_hint = 0; 508 u64 alloc_hint = 0;
512 u64 clear_start;
513 u64 clear_end;
514 struct list_head list; 509 struct list_head list;
515 struct btrfs_key ins; 510 struct btrfs_key ins;
516 struct rb_node *rb;
517 int ret; 511 int ret;
518 512
519 ret = btrfs_dec_test_ordered_pending(inode, start, end - start + 1); 513 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)
542 536
543 mutex_lock(&BTRFS_I(inode)->extent_mutex); 537 mutex_lock(&BTRFS_I(inode)->extent_mutex);
544 538
545 spin_lock(&em_tree->lock);
546 clear_start = ordered_extent->file_offset;
547 clear_end = ordered_extent->file_offset + ordered_extent->len;
548 em = lookup_extent_mapping(em_tree, clear_start,
549 ordered_extent->len);
550 em_orig = em;
551 while(em && clear_start < extent_map_end(em) && clear_end > em->start) {
552 clear_bit(EXTENT_FLAG_PINNED, &em->flags);
553 rb = rb_next(&em->rb_node);
554 if (!rb)
555 break;
556 em = rb_entry(rb, struct extent_map, rb_node);
557 }
558 free_extent_map(em_orig);
559 spin_unlock(&em_tree->lock);
560
561 ret = btrfs_drop_extents(trans, root, inode, 539 ret = btrfs_drop_extents(trans, root, inode,
562 ordered_extent->file_offset, 540 ordered_extent->file_offset,
563 ordered_extent->file_offset + 541 ordered_extent->file_offset +