READ is zero so this test is always false. If ((rw & RW_MASK) == READ) was intended. Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> --- v2: I didn't mask out the other flags in the first version diff --git a/fs/buffer.c b/fs/buffer.c index 70ed4d8..e0a59c6 100644 --- a/fs/buffer.c +++ b/fs/buffer.c @@ -2931,7 +2931,7 @@ static void guard_bh_eod(int rw, struct bio *bio, struct buffer_head *bh) bio->bi_io_vec[0].bv_len = bytes; /* ..and clear the end of the buffer for reads */ - if (rw & READ) { + if ((rw & RW_MASK) == READ) { void *kaddr = kmap_atomic(bh->b_page); memset(kaddr + bh_offset(bh) + bytes, 0, bh->b_size - bytes); kunmap_atomic(kaddr); -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html