diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h
index 035fa15..052555c 100644
--- a/fs/btrfs/ctree.h
+++ b/fs/btrfs/ctree.h
@@ -37,11 +37,12 @@
 
 #define BTRFS_MAGIC "_B2RfS_M"
 
+#define BTRFS_MAX_LEVEL 8
 #define BTRFS_ROOT_TREE_OBJECTID 1ULL
 #define BTRFS_EXTENT_TREE_OBJECTID 2ULL
 #define BTRFS_FS_TREE_OBJECTID 3ULL
 #define BTRFS_ROOT_TREE_DIR_OBJECTID 4ULL
-#define BTRFS_FIRST_FREE_OBJECTID 5ULL
+#define BTRFS_FIRST_FREE_OBJECTID 256ULL
 
 /*
  * we can actually store much bigger names, but lets not confuse the rest
@@ -107,7 +108,6 @@
 	u8 level;
 } __attribute__ ((__packed__));
 
-#define BTRFS_MAX_LEVEL 8
 #define BTRFS_NODEPTRS_PER_BLOCK(r) (((r)->nodesize - \
 			        sizeof(struct btrfs_header)) / \
 			        sizeof(struct btrfs_key_ptr))
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
index 057cdd4..0041483 100644
--- a/fs/btrfs/extent-tree.c
+++ b/fs/btrfs/extent-tree.c
@@ -520,13 +520,13 @@
  *
  * When a tree block is created, back references are inserted:
  *
- * (root->root_key.objectid, trans->transid or zero, lowest_key_objectid, level)
+ * (root->root_key.objectid, trans->transid or zero, level, lowest_key_objectid)
  *
  * When a tree block is cow'd in a reference counted root,
  * new back references are added for all the blocks it points to.
  * These are of the form (trans->transid will have increased since creation):
  *
- * (root->root_key.objectid, trans->transid, lowest_key_objectid, level)
+ * (root->root_key.objectid, trans->transid, level, lowest_key_objectid)
  *
  * Because the lowest_key_objectid and the level are just hints
  * they are not used when backrefs are deleted.  When a backref is deleted:
@@ -702,7 +702,7 @@
 	}
 	return btrfs_inc_extent_ref(trans, root, root->node->start,
 				    root->node->len, owner_objectid,
-				    generation, key_objectid, level);
+				    generation, level, key_objectid);
 }
 
 int btrfs_inc_ref(struct btrfs_trans_handle *trans, struct btrfs_root *root,
@@ -750,8 +750,8 @@
 			ret = btrfs_inc_extent_ref(trans, root, bytenr,
 					   btrfs_level_size(root, level - 1),
 					   root->root_key.objectid,
-					   trans->transid, key.objectid,
-					   level - 1);
+					   trans->transid,
+					   level - 1, key.objectid);
 			if (ret) {
 				faili = i;
 				goto fail;
@@ -1063,8 +1063,8 @@
 		}
 		err = btrfs_insert_extent_backref(trans, extent_root, path,
 					  start, extent_root->root_key.objectid,
-					  0, btrfs_disk_key_objectid(&first),
-					  level);
+					  0, level,
+					  btrfs_disk_key_objectid(&first));
 		BUG_ON(err);
 		free_extent_buffer(eb);
 	}
@@ -1640,7 +1640,7 @@
 
 	ret = btrfs_alloc_extent(trans, root, blocksize,
 				 root_objectid, ref_generation,
-				 first_objectid, level, empty_size, hint,
+				 level, first_objectid, empty_size, hint,
 				 (u64)-1, &ins, 0);
 	if (ret) {
 		BUG_ON(ret > 0);
