[PATCH 2/9] Btrfs-progs: search subvolumes with proper objectid
From: Anand jain <hidden>
Date: 2012-08-03 09:51:33
Subsystem:
the rest · Maintainer:
Linus Torvalds
From: Anand jain <hidden>
Date: 2012-08-03 09:51:33
Subsystem:
the rest · Maintainer:
Linus Torvalds
From: Liu Bo <redacted> Btrfs's subvolume/snapshot is limited to [BTRFS_FIRST_FREE_OBJECTID, BTRFS_LAST_FREE_OBJECTID], so just apply the range. Signed-off-by: Liu Bo <redacted> --- btrfs-list.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/btrfs-list.c b/btrfs-list.c
index 35e6139..680dd03 100644
--- a/btrfs-list.c
+++ b/btrfs-list.c@@ -585,11 +585,13 @@ static int __list_subvol_search(int fd, struct root_lookup *root_lookup) sk->max_type = BTRFS_ROOT_BACKREF_KEY; sk->min_type = BTRFS_ROOT_BACKREF_KEY; + sk->min_objectid = BTRFS_FIRST_FREE_OBJECTID; + /* * set all the other params to the max, we'll take any objectid * and any trans */ - sk->max_objectid = (u64)-1; + sk->max_objectid = BTRFS_LAST_FREE_OBJECTID; sk->max_offset = (u64)-1; sk->max_transid = (u64)-1;
@@ -641,7 +643,7 @@ static int __list_subvol_search(int fd, struct root_lookup *root_lookup) if (sk->min_type < BTRFS_ROOT_BACKREF_KEY) { sk->min_type = BTRFS_ROOT_BACKREF_KEY; sk->min_offset = 0; - } else if (sk->min_objectid < (u64)-1) { + } else if (sk->min_objectid < BTRFS_LAST_FREE_OBJECTID) { sk->min_objectid++; sk->min_type = BTRFS_ROOT_BACKREF_KEY; sk->min_offset = 0;
--
1.7.1