aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/inode.c
diff options
context:
space:
mode:
authorMingming <cmm@us.ibm.com>2008-05-27 10:55:43 -0400
committerChris Mason <chris.mason@oracle.com>2008-09-25 11:04:03 -0400
commite1b81e6761bd8419146d4bbe0aadd8b2d348a01c (patch)
treea21c101b1dddf5acfd26dc8cd09570acb193b25e /fs/btrfs/inode.c
parentda496f2acf61153e0d4d42ded6a53f3367939db0 (diff)
btrfs delete ordered inode handling fix
Use btrfs_release_file instead of a put_inode call Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs/inode.c')
-rw-r--r--fs/btrfs/inode.c24
1 files changed, 1 insertions, 23 deletions
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index 40b4a8ec17fe..1569fb864515 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -857,15 +857,11 @@ static int btrfs_unlink(struct inode *dir, struct dentry *dentry)
857 nr = trans->blocks_used; 857 nr = trans->blocks_used;
858 858
859 if (inode->i_nlink == 0) { 859 if (inode->i_nlink == 0) {
860 int found;
861 /* if the inode isn't linked anywhere, 860 /* if the inode isn't linked anywhere,
862 * we don't need to worry about 861 * we don't need to worry about
863 * data=ordered 862 * data=ordered
864 */ 863 */
865 found = btrfs_del_ordered_inode(inode); 864 btrfs_del_ordered_inode(inode);
866 if (found == 1) {
867 atomic_dec(&inode->i_count);
868 }
869 } 865 }
870 866
871 btrfs_end_transaction(trans, root); 867 btrfs_end_transaction(trans, root);
@@ -1271,24 +1267,6 @@ fail:
1271 return err; 1267 return err;
1272} 1268}
1273 1269
1274void btrfs_put_inode(struct inode *inode)
1275{
1276 int ret;
1277
1278 if (!BTRFS_I(inode)->ordered_trans) {
1279 return;
1280 }
1281
1282 if (mapping_tagged(inode->i_mapping, PAGECACHE_TAG_DIRTY) ||
1283 mapping_tagged(inode->i_mapping, PAGECACHE_TAG_WRITEBACK))
1284 return;
1285
1286 ret = btrfs_del_ordered_inode(inode);
1287 if (ret == 1) {
1288 atomic_dec(&inode->i_count);
1289 }
1290}
1291
1292void btrfs_delete_inode(struct inode *inode) 1270void btrfs_delete_inode(struct inode *inode)
1293{ 1271{
1294 struct btrfs_trans_handle *trans; 1272 struct btrfs_trans_handle *trans;