Skip to content

Commit d77ff24

Browse files
jgross1konradwilk
authored andcommitted
xen/blkback: move persistent grants flags to bool
The struct persistent_gnt flags member is meant to be a bitfield of different flags. There is only PERSISTENT_GNT_ACTIVE flag left, so convert it to a bool named "active". Signed-off-by: Juergen Gross <jgross@suse.com> Reviewed-by: Roger Pau Monné <roger.pau@citrix.com> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
1 parent 4bcddba commit d77ff24

File tree

2 files changed

+7
-13
lines changed

2 files changed

+7
-13
lines changed

drivers/block/xen-blkback/blkback.c

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -255,8 +255,7 @@ static int add_persistent_gnt(struct xen_blkif_ring *ring,
255255
}
256256
}
257257

258-
bitmap_zero(persistent_gnt->flags, PERSISTENT_GNT_FLAGS_SIZE);
259-
set_bit(PERSISTENT_GNT_ACTIVE, persistent_gnt->flags);
258+
persistent_gnt->active = true;
260259
/* Add new node and rebalance tree. */
261260
rb_link_node(&(persistent_gnt->node), parent, new);
262261
rb_insert_color(&(persistent_gnt->node), &ring->persistent_gnts);
@@ -280,11 +279,11 @@ static struct persistent_gnt *get_persistent_gnt(struct xen_blkif_ring *ring,
280279
else if (gref > data->gnt)
281280
node = node->rb_right;
282281
else {
283-
if(test_bit(PERSISTENT_GNT_ACTIVE, data->flags)) {
282+
if (data->active) {
284283
pr_alert_ratelimited("requesting a grant already in use\n");
285284
return NULL;
286285
}
287-
set_bit(PERSISTENT_GNT_ACTIVE, data->flags);
286+
data->active = true;
288287
atomic_inc(&ring->persistent_gnt_in_use);
289288
return data;
290289
}
@@ -295,10 +294,10 @@ static struct persistent_gnt *get_persistent_gnt(struct xen_blkif_ring *ring,
295294
static void put_persistent_gnt(struct xen_blkif_ring *ring,
296295
struct persistent_gnt *persistent_gnt)
297296
{
298-
if(!test_bit(PERSISTENT_GNT_ACTIVE, persistent_gnt->flags))
297+
if (!persistent_gnt->active)
299298
pr_alert_ratelimited("freeing a grant already unused\n");
300299
persistent_gnt->last_used = jiffies;
301-
clear_bit(PERSISTENT_GNT_ACTIVE, persistent_gnt->flags);
300+
persistent_gnt->active = false;
302301
atomic_dec(&ring->persistent_gnt_in_use);
303302
}
304303

@@ -429,7 +428,7 @@ static void purge_persistent_gnt(struct xen_blkif_ring *ring)
429428
BUG_ON(persistent_gnt->handle ==
430429
BLKBACK_INVALID_HANDLE);
431430

432-
if (test_bit(PERSISTENT_GNT_ACTIVE, persistent_gnt->flags))
431+
if (persistent_gnt->active)
433432
continue;
434433
if (!scan_used && !persistent_gnt_timeout(persistent_gnt))
435434
continue;

drivers/block/xen-blkback/common.h

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -233,11 +233,6 @@ struct xen_vbd {
233233

234234
struct backend_info;
235235

236-
/* Number of available flags */
237-
#define PERSISTENT_GNT_FLAGS_SIZE 1
238-
/* This persistent grant is currently in use */
239-
#define PERSISTENT_GNT_ACTIVE 0
240-
241236
/* Number of requests that we can fit in a ring */
242237
#define XEN_BLKIF_REQS_PER_PAGE 32
243238

@@ -246,7 +241,7 @@ struct persistent_gnt {
246241
grant_ref_t gnt;
247242
grant_handle_t handle;
248243
unsigned long last_used;
249-
DECLARE_BITMAP(flags, PERSISTENT_GNT_FLAGS_SIZE);
244+
bool active;
250245
struct rb_node node;
251246
struct list_head remove_node;
252247
};

0 commit comments

Comments
 (0)