[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <542927C3.8010204@suse.com>
Date: Mon, 29 Sep 2014 11:34:59 +0200
From: Juergen Gross <jgross@...e.com>
To: Chen Gang <gang.chen.5i5j@...il.com>,
Jan Beulich <JBeulich@...e.com>
CC: David Vrabel <david.vrabel@...rix.com>,
xen-devel@...ts.xenproject.org,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [Xen-devel] [PATCH] xen/xen-scsiback: Need go to fail after xenbus_dev_error()
On 09/29/2014 11:31 AM, Chen Gang wrote:
> On 9/29/14 16:41, Jan Beulich wrote:
>>>>> On 29.09.14 at 06:32, <JGross@...e.com> wrote:
>>> On 09/26/2014 06:38 PM, Chen Gang wrote:
>>>> When failure occurs, after xenbus_dev_error(), need go to fail to let
>>>> upper caller know about it.
>>>>
>>>> Signed-off-by: Chen Gang <gang.chen.5i5j@...il.com>
>>>> ---
>>>> drivers/xen/xen-scsiback.c | 4 +++-
>>>> 1 file changed, 3 insertions(+), 1 deletion(-)
>>>>
>>>> diff --git a/drivers/xen/xen-scsiback.c b/drivers/xen/xen-scsiback.c
>>>> index 847bc9c..3e430e1 100644
>>>> --- a/drivers/xen/xen-scsiback.c
>>>> +++ b/drivers/xen/xen-scsiback.c
>>>> @@ -1222,8 +1222,10 @@ static int scsiback_probe(struct xenbus_device *dev,
>>>>
>>>> err = xenbus_printf(XBT_NIL, dev->nodename, "feature-sg-grant", "%u",
>>>> SG_ALL);
>>>> - if (err)
>>>> + if (err) {
>>>> xenbus_dev_error(dev, err, "writing feature-sg-grant");
>>>> + goto fail;
>>>> + }
>>>>
>>>> xenbus_switch_state(dev, XenbusStateInitWait);
>>>> return 0;
>>>>
>>>
>>> Hmm, not testing for failure was on purpose. Advertising this feature
>>> is just for tuning purposes, not mandatory.
>>>
>>> OTOH it would really be a strange error if this xenbus_printf() fails
>>> but all other operations are working, and signaling an error at the
>>> time when it first shows up is a good thing. So:
>>
>> I disagree - failure to announce optional features should not lead to
>> general failure. And this should be consistent across drivers; for
>> existing examples see xen_blkbk_flush_diskcache() and
>> xen_blkbk_discard().
>>
>
> During scsiback_probe(), can we sure that "feature-sg-grant" is optional
> feature? For me, only according to its name, I guess not: it is about
> security which is always necessary in kernel (although SG_ALL).
It is optional. Otherwise the interface would be broken, as I've added
this feature recently and "old" clients (pre 3.18) don't know about it.
The feature is NOT about security, but about capability to support
larger SCSI requests than the old interface did.
Juergen
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists