Merge git://git.kernel.org/pub/scm/linux/kernel/git/cmetcalf/linux-tile
[deliverable/linux.git] / fs / f2fs / extent_cache.c
index e858869d76cbab5009956604c8b5b550540a4661..2b06d4fcd954eaaf8ac54d838db6dc728aa72dff 100644 (file)
@@ -172,7 +172,7 @@ static void __drop_largest_extent(struct inode *inode,
 
        if (fofs < largest->fofs + largest->len && fofs + len > largest->fofs) {
                largest->len = 0;
-               mark_inode_dirty_sync(inode);
+               f2fs_mark_inode_dirty_sync(inode);
        }
 }
 
@@ -631,6 +631,19 @@ unsigned int f2fs_destroy_extent_node(struct inode *inode)
        return node_cnt;
 }
 
+void f2fs_drop_extent_tree(struct inode *inode)
+{
+       struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
+       struct extent_tree *et = F2FS_I(inode)->extent_tree;
+
+       set_inode_flag(inode, FI_NO_EXTENT);
+
+       write_lock(&et->lock);
+       __free_extent_tree(sbi, et);
+       __drop_largest_extent(inode, 0, UINT_MAX);
+       write_unlock(&et->lock);
+}
+
 void f2fs_destroy_extent_tree(struct inode *inode)
 {
        struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
This page took 0.036252 seconds and 5 git commands to generate.