summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fs/hfsplus/btree.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/hfsplus/btree.c b/fs/hfsplus/btree.c
index 80aa816ae1c0..761c74ccd653 100644
--- a/fs/hfsplus/btree.c
+++ b/fs/hfsplus/btree.c
@@ -564,6 +564,7 @@ struct hfs_bnode *hfs_bmap_alloc(struct hfs_btree *tree)
set_page_dirty(page);
kunmap_local(data);
tree->free_nodes--;
+ hfs_btree_write(tree);
mark_inode_dirty(tree->inode);
hfs_bnode_put(node);
return hfs_bnode_create(tree,
@@ -585,6 +586,7 @@ struct hfs_bnode *hfs_bmap_alloc(struct hfs_btree *tree)
if (!nidx) {
hfs_dbg("create new bmap node\n");
next_node = hfs_bmap_new_bmap(node, idx);
+ hfs_btree_write(tree);
} else
next_node = hfs_bnode_find(tree, nidx);
hfs_bnode_put(node);
@@ -655,6 +657,7 @@ void hfs_bmap_free(struct hfs_bnode *node)
nidx, node->type);
} else {
tree->free_nodes++;
+ hfs_btree_write(tree);
mark_inode_dirty(tree->inode);
}