Messages in this thread Patch in this message | | | Date | Wed, 26 Feb 2003 17:12:49 +0000 | Subject | [PATCH 7/8] dm: __LOW macro fix no. 2 | From | Joe Thornber <> |
| |
Another fix for the __LOW macro.
When dm_table and dm_target structures are initialized, the "limits" fields (struct io_restrictions) are initialized to zero (e.g. in dm_table_add_target() in dm-table.c). However, zero is not a useable value in these fields. The request queue will never let an I/O through, regardless of how small it might be, if max_sectors is set to zero (see generic_make_request in ll_rw_blk.c). This change to the __LOW() macro sets these fields correctly when they are first initialized. [Kevin Corry]
--- diff/drivers/md/dm-table.c 2003-02-26 16:10:02.000000000 +0000 +++ source/drivers/md/dm-table.c 2003-02-26 16:10:19.000000000 +0000 @@ -79,7 +79,7 @@ } #define __HIGH(l, r) if (*(l) < (r)) *(l) = (r) -#define __LOW(l, r) if (*(l) > (r)) *(l) = (r) +#define __LOW(l, r) if (*(l) == 0 || *(l) > (r)) *(l) = (r) /* * Combine two io_restrictions, always taking the lower value. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |