[dm-devel] [PATCH] block: fix blk_stack_limits() regression due to lcm() change
Martin K. Petersen
martin.petersen at oracle.com
Mon Mar 30 20:53:06 UTC 2015
>>>>> "Mike" == Mike Snitzer <snitzer at 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 at oracle.com>
--
Martin K. Petersen Oracle Linux Engineering
More information about the dm-devel
mailing list