From: Mike Snitzer Clean up "warning: dubious: !x & y". Also make it clear that __snapshotted_since() returns a bool and that dm_thin_lookup_result's 'shared' member is a flag. Signed-off-by: Mike Snitzer Signed-off-by: Alasdair G Kergon --- drivers/md/dm-thin-metadata.c | 2 +- drivers/md/dm-thin-metadata.c | 2 +- drivers/md/dm-thin-metadata.h | 2 +- drivers/md/dm-thin.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) Index: linux/drivers/md/dm-thin-metadata.c =================================================================== --- linux.orig/drivers/md/dm-thin-metadata.c +++ linux/drivers/md/dm-thin-metadata.c @@ -1262,7 +1262,7 @@ dm_thin_id dm_thin_dev_id(struct dm_thin return td->id; } -static int __snapshotted_since(struct dm_thin_device *td, uint32_t time) +static bool __snapshotted_since(struct dm_thin_device *td, uint32_t time) { return td->snapshotted_time > time; } Index: linux/drivers/md/dm-thin-metadata.h =================================================================== --- linux.orig/drivers/md/dm-thin-metadata.h +++ linux/drivers/md/dm-thin-metadata.h @@ -119,7 +119,7 @@ dm_thin_id dm_thin_dev_id(struct dm_thin struct dm_thin_lookup_result { dm_block_t block; - int shared; + unsigned shared:1; }; /* Index: linux/drivers/md/dm-thin.c =================================================================== --- linux.orig/drivers/md/dm-thin.c +++ linux/drivers/md/dm-thin.c @@ -1218,7 +1218,7 @@ static void process_discard(struct thin_ */ m = get_next_mapping(pool); m->tc = tc; - m->pass_discard = (!lookup_result.shared) & pool->pf.discard_passdown; + m->pass_discard = (!lookup_result.shared) && pool->pf.discard_passdown; m->virt_block = block; m->data_block = lookup_result.block; m->cell = cell;