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 &&
 
        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);
 
        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 +