aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/ordered-data.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/btrfs/ordered-data.c')
-rw-r--r--fs/btrfs/ordered-data.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/btrfs/ordered-data.c b/fs/btrfs/ordered-data.c
index 8dd8180183ff..5e4c0d95ce43 100644
--- a/fs/btrfs/ordered-data.c
+++ b/fs/btrfs/ordered-data.c
@@ -254,7 +254,7 @@ static void __btrfs_del_ordered_inode(struct btrfs_ordered_inode_tree *tree,
254 return; 254 return;
255} 255}
256 256
257void btrfs_del_ordered_inode(struct inode *inode) 257void btrfs_del_ordered_inode(struct inode *inode, int force)
258{ 258{
259 struct btrfs_root *root = BTRFS_I(inode)->root; 259 struct btrfs_root *root = BTRFS_I(inode)->root;
260 u64 root_objectid = root->root_key.objectid; 260 u64 root_objectid = root->root_key.objectid;
@@ -263,8 +263,8 @@ void btrfs_del_ordered_inode(struct inode *inode)
263 return; 263 return;
264 } 264 }
265 265
266 if (mapping_tagged(inode->i_mapping, PAGECACHE_TAG_DIRTY) || 266 if (!force && (mapping_tagged(inode->i_mapping, PAGECACHE_TAG_DIRTY) ||
267 mapping_tagged(inode->i_mapping, PAGECACHE_TAG_WRITEBACK)) 267 mapping_tagged(inode->i_mapping, PAGECACHE_TAG_WRITEBACK)))
268 return; 268 return;
269 269
270 spin_lock(&root->fs_info->new_trans_lock); 270 spin_lock(&root->fs_info->new_trans_lock);