aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/inode.c
diff options
context:
space:
mode:
authorChris Mason <chris.mason@oracle.com>2008-06-25 16:01:30 -0400
committerChris Mason <chris.mason@oracle.com>2008-09-25 11:04:03 -0400
commit594a24eb0e7fa8413f8b443863be4b7c72bfde9f (patch)
tree616ddbee05148d18096fc56daf0a9af598078fc6 /fs/btrfs/inode.c
parent051e1b9f748ae673b7325d3fc049bb838606cffa (diff)
Fix btrfs_del_ordered_inode to allow forcing the drop during unlinks
This allows us to delete an unlinked inode with dirty pages from the list instead of forcing commit to write these out before deleting the inode. Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs/inode.c')
-rw-r--r--fs/btrfs/inode.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index b2251e27ac84..cf27b5984627 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -852,7 +852,7 @@ static int btrfs_unlink(struct inode *dir, struct dentry *dentry)
852 * we don't need to worry about 852 * we don't need to worry about
853 * data=ordered 853 * data=ordered
854 */ 854 */
855 btrfs_del_ordered_inode(inode); 855 btrfs_del_ordered_inode(inode, 1);
856 } 856 }
857 857
858 btrfs_end_transaction(trans, root); 858 btrfs_end_transaction(trans, root);
@@ -1276,14 +1276,12 @@ void btrfs_delete_inode(struct inode *inode)
1276 1276
1277 btrfs_end_transaction(trans, root); 1277 btrfs_end_transaction(trans, root);
1278 btrfs_btree_balance_dirty(root, nr); 1278 btrfs_btree_balance_dirty(root, nr);
1279 btrfs_throttle(root);
1280 return; 1279 return;
1281 1280
1282no_delete_lock: 1281no_delete_lock:
1283 nr = trans->blocks_used; 1282 nr = trans->blocks_used;
1284 btrfs_end_transaction(trans, root); 1283 btrfs_end_transaction(trans, root);
1285 btrfs_btree_balance_dirty(root, nr); 1284 btrfs_btree_balance_dirty(root, nr);
1286 btrfs_throttle(root);
1287no_delete: 1285no_delete:
1288 clear_inode(inode); 1286 clear_inode(inode);
1289} 1287}