diff options
author | Anand Jain <anand.jain@oracle.com> | 2013-02-01 15:56:24 +0800 |
---|---|---|
committer | David Sterba <dsterba@suse.cz> | 2013-02-01 16:55:05 +0100 |
commit | d985294b027abec63c808d10d7a1f54c6a91b517 (patch) | |
tree | 44fb53dbc17c35dd7c03f4234a5dd3dc4c956003 | |
parent | 2d2c9cef4b9f405535e072e82f54bbbcec76cc68 (diff) |
Btrfs-progs: add method to filter snapshots by parent uuid
Signed-off-by: Anand Jain <anand.jain@oracle.com>
-rw-r--r-- | btrfs-list.c | 6 | ||||
-rw-r--r-- | btrfs-list.h | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/btrfs-list.c b/btrfs-list.c index 247711d5..a166c8b2 100644 --- a/btrfs-list.c +++ b/btrfs-list.c @@ -1156,6 +1156,11 @@ static int filter_full_path(struct root_info *ri, u64 data) return 1; } +static int filter_by_parent(struct root_info *ri, u64 data) +{ + return !uuid_compare(ri->puuid, (u8 *)data); +} + static btrfs_list_filter_func all_filter_funcs[] = { [BTRFS_LIST_FILTER_ROOTID] = filter_by_rootid, [BTRFS_LIST_FILTER_SNAPSHOT_ONLY] = filter_snapshot, @@ -1168,6 +1173,7 @@ static btrfs_list_filter_func all_filter_funcs[] = { [BTRFS_LIST_FILTER_CGEN_EQUAL] = filter_cgen_equal, [BTRFS_LIST_FILTER_TOPID_EQUAL] = filter_topid_equal, [BTRFS_LIST_FILTER_FULL_PATH] = filter_full_path, + [BTRFS_LIST_FILTER_BY_PARENT] = filter_by_parent, }; struct btrfs_list_filter_set *btrfs_list_alloc_filter_set(void) diff --git a/btrfs-list.h b/btrfs-list.h index 7c0d4c50..2870c718 100644 --- a/btrfs-list.h +++ b/btrfs-list.h @@ -118,6 +118,7 @@ enum btrfs_list_filter_enum { BTRFS_LIST_FILTER_CGEN_MORE, BTRFS_LIST_FILTER_TOPID_EQUAL, BTRFS_LIST_FILTER_FULL_PATH, + BTRFS_LIST_FILTER_BY_PARENT, BTRFS_LIST_FILTER_MAX, }; |