From: John Garry <john.garry@huawei.com>
To: Praveen Murali <pmurali@logicube.com>,
wangyijing <wangyijing@huawei.com>
Cc: "dan.j.williams@intel.com" <dan.j.williams@intel.com>,
"linux-scsi@vger.kernel.org" <linux-scsi@vger.kernel.org>,
James Bottomley <James.Bottomley@HansenPartnership.com>
Subject: Re: Question for Patch"libsas: fix "sysfs group not found" warnings at port teardown time"
Date: Mon, 8 Feb 2016 17:20:59 +0000 [thread overview]
Message-ID: <56B8CE7B.2060008@huawei.com> (raw)
In-Reply-To: <73C1379F-2511-4C31-AB88-65061EBFAEBC@logicube.com>
On 05/02/2016 21:33, Praveen Murali wrote:
> Hi Yijing,
> The fix was deemed inappropriate and I think the explanation provided by James was kind similar to what your observation is. Also, as far as I remember the consensus was that these error messages (sysfs group not found) are harmless at this point. I think James can provide a better explanation and direction for you (copying him here).
>
> Praveen
>
I can't find the original full discussion on this. My impression is that
the fix is incorrect as the port should not be deleted in
sas_destruct_devices(). I also tried this patch and got a NULL deference
when I unplugged the disk from the expander.
We get the warn as the port is deleted before the device which is
attached to it. The tricky part is that the port and devices are deleted
in seperate work structs being processed in same work queue (shost wq).
The first cannot be relinquished to allow the second to run.
One (undesirable) solution is to call sas_destruct_devices() directly
from sas_unregister_dev().
>> On Feb 5, 2016, at 1:20 AM, wangyijing <wangyijing@huawei.com> wrote:
>>
>> Hi Dan and Praveen,
>> I found a patch titled "libsas: fix "sysfs group not found" warnings at port teardown time" by google,
>> https://www.mail-archive.com/linux-scsi@vger.kernel.org/msg39187.html
>>
>> I found the same warning calltrace in my platform, but I didn't find the patch changes in the latest kernel 4.5-rc2.
>> So is this issue still in kernel ?
>>
>> I think your patch could fix this issue we found, but I'm worried about another problem.
>>
>> Now when unplug a disk
>>
>> LLDD report a event loss_of_singal
>> sas_deform_port
>> sas_unregister_domain_devices
>> sas_unregister_dev
>> sas_discover_event(dev->port, DISCE_DESTRUCT);
>> sas_port_delete
>> phy->port = NULL;
>>
>> and after your patch changes
>>
>> LLDD report a event loss_of_singal
>> sas_deform_port
>> sas_unregister_domain_devices
>> sas_unregister_dev
>> sas_discover_event(dev->port, DISCE_DESTRUCT);
>> phy->port = NULL;
>>
>> ...
>> sas_destruct_devices
>> sas_port_delete //now we actually delete the port device, but we set phy->port = NULL; before this time.
>>
>>
>> So if we hotplug the disk quickly, plug,unplug,plug,
>> The new dmaed event(plug) would try to alloc and add a new port, but the old port device is still alive.
>> Another calltrace would occur
>>
>> WARNING: CPU: 0 PID: 1038 at lib/kobject.c:240 kobject_add_internal+0x258/0x318()
>> kobject_add_internal failed for port-0:0 with -EEXIST, don't try to register things with the same name in the same directory.
>> CPU: 0 PID: 1038 Comm: kworker/u64:2 Tainted: G W 4.1.6+ #140
>> [<ffff800000089918>] dump_backtrace+0x0/0x124
>> [<ffff800000089a4c>] show_stack+0x10/0x1c
>> [<ffff80000009fcbc>] warn_slowpath_fmt+0x4c/0x58
>> [<ffff8000003cdc04>] device_add+0x28c/0x5b8
>> [<ffff80000040d4ec>] sas_port_add+0x20/0xbc
>> [<ffff80000040f3e8>] sas_porte_bytes_dmaed
>> [<ffff8000000b5504>] process_one_work+0x13c/0x344
>>
>> Because I am not a sas guy, so if you could comment this or post new patch, I would be thanks a lot!
>>
>> Thanks!
>> Yijing.
>>
>>
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
next prev parent reply other threads:[~2016-02-08 17:21 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-05 9:20 Question for Patch"libsas: fix "sysfs group not found" warnings at port teardown time" wangyijing
2016-02-05 21:33 ` Praveen Murali
2016-02-06 1:26 ` wangyijing
2016-02-08 17:20 ` John Garry [this message]
-- strict thread matches above, loose matches on Subject: below --
2016-02-05 17:22 Dāvis Mosāns
2016-02-06 1:20 ` wangyijing
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=56B8CE7B.2060008@huawei.com \
--to=john.garry@huawei.com \
--cc=James.Bottomley@HansenPartnership.com \
--cc=dan.j.williams@intel.com \
--cc=linux-scsi@vger.kernel.org \
--cc=pmurali@logicube.com \
--cc=wangyijing@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).