Messages in this thread | | | Subject | Re: [PATCH] block: fix blk_stack_limits() regression due to lcm() change | From | "Martin K. Petersen" <> | Date | Mon, 30 Mar 2015 16:53:06 -0400 |
| |
>>>>> "Mike" == Mike Snitzer <snitzer@redhat.com> writes:
Mike> Linux 3.19 commit 69c953c ("lib/lcm.c: lcm(n,0)=lcm(0,n) is 0, not Mike> n") caused blk_stack_limits() to not properly stack queue_limits Mike> for stacked devices (e.g. DM).
Mike> Fix this regression by establishing lcm_not_zero() and switching Mike> blk_stack_limits() over to using it.
I'm OK with that approach. The original lcm() behavior made sense when we were the only user.
+unsigned long lcm_not_zero(unsigned long a, unsigned long b) +{ + unsigned long l = lcm(a, b); + + if (l) + return l; + + return (b ? : a); +}
I always blink when I read b ?: a instead of b ? b : a. But no biggie. That's just my personal preference.
Acked-by: Martin K. Petersen <martin.petersen@oracle.com>
-- Martin K. Petersen Oracle Linux Engineering
| |