mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
rangeset: add rangeset_purge() function
This function can be used when user wants to remove all rangeset entries but do not want to destroy rangeset itself. Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com> Acked-by: Jan Beulich <jbeulich@suse.com>
This commit is contained in:
1 parent
fe62abfcb2
commit
99eeb2eb0b
2 files changed
+14
-5
No files matched your search
+12
-4
@@ -448,11 +448,20 @@ struct rangeset *rangeset_new(
|
||||
return r;
|
||||
}
|
||||
|
||||
void rangeset_destroy(
|
||||
struct rangeset *r)
|
||||
void rangeset_purge(struct rangeset *r)
|
||||
{
|
||||
struct range *x;
|
||||
|
||||
if ( r == NULL )
|
||||
return;
|
||||
|
||||
while ( (x = first_range(r)) != NULL )
|
||||
destroy_range(r, x);
|
||||
}
|
||||
|
||||
void rangeset_destroy(
|
||||
struct rangeset *r)
|
||||
{
|
||||
if ( r == NULL )
|
||||
return;
|
||||
|
||||
@@ -463,8 +472,7 @@ void rangeset_destroy(
|
||||
spin_unlock(&r->domain->rangesets_lock);
|
||||
}
|
||||
|
||||
while ( (x = first_range(r)) != NULL )
|
||||
destroy_range(r, x);
|
||||
rangeset_purge(r);
|
||||
|
||||
xfree(r);
|
||||
}
|
||||
|
||||
@@ -56,7 +56,7 @@ void rangeset_limit(
|
||||
bool __must_check rangeset_is_empty(
|
||||
const struct rangeset *r);
|
||||
|
||||
/* Add/claim/remove/query a numeric range. */
|
||||
/* Add/claim/remove/query/purge a numeric range. */
|
||||
int __must_check rangeset_add_range(
|
||||
struct rangeset *r, unsigned long s, unsigned long e);
|
||||
int __must_check rangeset_claim_range(struct rangeset *r, unsigned long size,
|
||||
@@ -70,6 +70,7 @@ bool __must_check rangeset_overlaps_range(
|
||||
int rangeset_report_ranges(
|
||||
struct rangeset *r, unsigned long s, unsigned long e,
|
||||
int (*cb)(unsigned long s, unsigned long e, void *data), void *ctxt);
|
||||
void rangeset_purge(struct rangeset *r);
|
||||
|
||||
/*
|
||||
* Note that the consume function can return an error value apart from
|
||||
|
||||