diff options
| author | Chris Mason <chris.mason@oracle.com> | 2008-07-31 15:42:54 -0400 |
|---|---|---|
| committer | Chris Mason <chris.mason@oracle.com> | 2008-09-25 11:04:05 -0400 |
| commit | 3ce7e67a069b919be774a341b82fc20978b7f69d (patch) | |
| tree | c1f346ab7c61f51a4de0328ba0890be68038ad50 /fs | |
| parent | 61b4944018449003ac5f9757f4d125dce519cf51 (diff) | |
Btrfs: Drop some debugging around the extent_map pinned flag
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs')
| -rw-r--r-- | fs/btrfs/file.c | 10 | ||||
| -rw-r--r-- | fs/btrfs/inode.c | 22 |
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 + |
