2008-02-16 16:16:43

by Roel Kluin

[permalink] [raw]
Subject: [PATCH 3/3] drivers/s390/block/dcssblk.c: Fix Unlikely(x) != y

The patch below was not yet tested. If it's correct as it is, please comment.
---
Fix Unlikely(x) != y

Signed-off-by: Roel Kluin <[email protected]>
---
diff --git a/drivers/s390/block/dcssblk.c b/drivers/s390/block/dcssblk.c
index 3faf053..e6c94db 100644
--- a/drivers/s390/block/dcssblk.c
+++ b/drivers/s390/block/dcssblk.c
@@ -666,7 +666,7 @@ dcssblk_make_request(struct request_queue *q, struct bio *bio)
page_addr = (unsigned long)
page_address(bvec->bv_page) + bvec->bv_offset;
source_addr = dev_info->start + (index<<12) + bytes_done;
- if (unlikely(page_addr & 4095) != 0 || (bvec->bv_len & 4095) != 0)
+ if (unlikely((page_addr & 4095) != 0) || (bvec->bv_len & 4095) != 0)
// More paranoia.
goto fail;
if (bio_data_dir(bio) == READ) {


2008-02-17 09:12:55

by Heiko Carstens

[permalink] [raw]
Subject: Re: [PATCH 3/3] drivers/s390/block/dcssblk.c: Fix Unlikely(x) != y

On Sat, Feb 16, 2008 at 05:16:26PM +0100, Roel Kluin wrote:
> The patch below was not yet tested. If it's correct as it is, please comment.
> ---
> Fix Unlikely(x) != y
>
> Signed-off-by: Roel Kluin <[email protected]>
> ---
> diff --git a/drivers/s390/block/dcssblk.c b/drivers/s390/block/dcssblk.c
> index 3faf053..e6c94db 100644
> --- a/drivers/s390/block/dcssblk.c
> +++ b/drivers/s390/block/dcssblk.c
> @@ -666,7 +666,7 @@ dcssblk_make_request(struct request_queue *q, struct bio *bio)
> page_addr = (unsigned long)
> page_address(bvec->bv_page) + bvec->bv_offset;
> source_addr = dev_info->start + (index<<12) + bytes_done;
> - if (unlikely(page_addr & 4095) != 0 || (bvec->bv_len & 4095) != 0)
> + if (unlikely((page_addr & 4095) != 0) || (bvec->bv_len & 4095) != 0)
> // More paranoia.
> goto fail;
> if (bio_data_dir(bio) == READ) {

Your patch is correct, thank you! At least it wasn't a real bug. Will be applied.