first free objectid fixes
authorChris Mason <chris.mason@oracle.com>
Tue, 27 Mar 2007 10:25:01 +0000 (06:25 -0400)
committerDavid Woodhouse <dwmw2@hera.kernel.org>
Tue, 27 Mar 2007 10:25:01 +0000 (06:25 -0400)
ctree.h
inode-map.c

diff --git a/ctree.h b/ctree.h
index 8fed41e..00810f3 100644 (file)
--- a/ctree.h
+++ b/ctree.h
@@ -12,6 +12,7 @@ struct btrfs_trans_handle;
 #define BTRFS_EXTENT_TREE_OBJECTID 2
 #define BTRFS_INODE_MAP_OBJECTID 3
 #define BTRFS_FS_TREE_OBJECTID 4
+#define BTRFS_FIRST_FREE_OBJECTID 5
 
 /*
  * the key defines the order in the tree, and so it also defines (optimal)
index f412b33..cf9f42e 100644 (file)
@@ -28,6 +28,8 @@ int btrfs_find_free_objectid(struct btrfs_trans_handle *trans,
        if (fs_root->fs_info->last_inode_alloc_dirid == dirid)
                search_start = fs_root->fs_info->last_inode_alloc;
 
+       if (search_start < BTRFS_FIRST_FREE_OBJECTID)
+               search_start = BTRFS_FIRST_FREE_OBJECTID;
        search_key.objectid = search_start;
        search_key.flags = 0;
        btrfs_set_key_type(&search_key, BTRFS_INODE_MAP_ITEM_KEY);