[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
Re: [dm-devel] rdac.c patch not quite right.
- From: "Chauhan, Vijay" <Vijay Chauhan lsi com>
- To: device-mapper development <dm-devel redhat com>
- Subject: Re: [dm-devel] rdac.c patch not quite right.
- Date: Thu, 9 Dec 2010 19:11:19 +0530
On Thurs December 09, 2010 3:10 AM, Malahal Naineni Wrote:
> > - } else if ((inq.PQ_PDT & 0x20) || (inq.PQ_PDT & 0x7f)) {
> > + } else if (((inq.PQ_PDT & 0xE0) == 0x20) || (inq.PQ_PDT & 0x7f)) {
> > /* LUN not connected*/
> > ret = PATH_DOWN;
> > goto done;
>
> I think this new patch has the same issue as the old one. In other
> words, the second expression in the parenthesis is true if the first one
> is true. So you could as well just use the second expression. If you
> really want to use PQ as well as PDT with separate checks, you can do
> something like this:
>
>
> } else if (((inq.PQ_PDT & 0xE0) == 0x20) || (inq.PQ_PDT & 0x1F)) {
> /* LUN not connected or not a Direct Access device */
> ret = PATH_DOWN;
> goto done;
>
> Please note the 7f to 1F change and the comment change to reflect the code
> check.
Malahal, Thanks for your review comment. First and second expression are two different comparisons. In First expression we are explicitly checking if PQ==001b. If the first expression is _FALSE_ then we check for second expression in which we compare if PQ==011b and PDT==11111b (i.e PQ_PDT = 01111111b=0x7F).
>
Thanks,
Vijay
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]