From: Harald Hoyer <harald.hoyer-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: Dan Williams <dan.j.williams-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: James Bottomley
<James.Bottomley-JuX6DAaQMKPCXq6kfMZ53/egYHeGw8Jk@public.gmane.org>,
maximilian attems <max-U9r9yeDMy7A@public.gmane.org>,
linux-scsi <linux-scsi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
Dave Jones <davej-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
Jeff Mahoney <jeffm-l3A5Bk7waGM@public.gmane.org>,
Ben Hutchings <ben-/+tVBieCtBitmTQ+vhA3Yw@public.gmane.org>,
initramfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: Remove scsi_wait_scan module
Date: Thu, 31 May 2012 10:15:08 +0200 [thread overview]
Message-ID: <4FC7288C.302@gmail.com> (raw)
In-Reply-To: <CAA9_cmfZFm5+9ARB7tNVwNzwxJh3bPD=h7gMWhByjy00-qZvgg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
Am 31.05.2012 04:34, schrieb Dan Williams:
> On Wed, May 30, 2012 at 4:32 PM, James Bottomley
> <James.Bottomley-JuX6DAaQMKPCXq6kfMZ53/egYHeGw8Jk@public.gmane.org> wrote:
>> On Wed, 2012-05-30 at 11:26 -0700, Dan Williams wrote:
>>> On Mon, May 28, 2012 at 5:07 AM, James Bottomley
>>> <James.Bottomley-JuX6DAaQMKPCXq6kfMZ53/egYHeGw8Jk@public.gmane.org> wrote:
>>>> On Mon, 2012-05-28 at 10:00 +0000, maximilian attems wrote:
>>>>> On Sun, May 27, 2012 at 10:13:46AM +0100, James Bottomley wrote:
>>>>>> scsi_wait_scan was introduced with asynchronous host scanning as a hack
>>>>>> for distributions that weren't using proper udev based wait for root to
>>>>>> appear in their initramfs scripts. In 2.6.30 Commit
>>>>>
>>>>>> c751085943362143f84346d274e0011419c84202
>>>>>> Author: Rafael J. Wysocki <rjw-KKrjLPT3xs0@public.gmane.org>
>>>>>> Date: Sun Apr 12 20:06:56 2009 +0200
>>>>>>
>>>>>> PM/Hibernate: Wait for SCSI devices scan to complete during resume
>>>>>>
>>>>>> Actually broke scsi_wait_scan because it renders
>>>>>> scsi_complete_async_scans() a nop for modular SCSI if you include
>>>>>> scsi_scans.h (which this module does).
>>>>>>
>>>>>> The lack of bug reports is sufficient proof that this module is no
>>>>>> longer used.
>>>>>
>>>>> We do use it in initramfs-tools.
>>>>>
>>>>> There is quite a number of bug reports moaning about having to boot with
>>>>> `scsi_mod.scan=sync'. I didn't pass them on, because I didn't knew that
>>>>> the module itself got broken, for example:
>>>>> http://bugs.debian.org/616689
>>>>
>>>> OK, so what these bugs show is the breakage ... basically scsi_wait_scan
>>>> isn't really waiting for the scans to complete. I can fix it in stable
>>>> so you can close your bug reports, but if I do, can you also transition
>>>> away from using it so I can remove it in 3.5?
>>>
>>> Is there some other method whereby userspace can sync all driver
>>> probing actions?
>>
>> No, but then there never really was. The theory is you know all the
>> disks you need (/ /usr and so on) and you just wait for them to appear
>> before mounting them and proceeding with boot.
>>
>>> We won't need scsi_complete_async_scans() after:
>>>
>>> http://marc.info/?l=linux-scsi&m=133840132007532&w=2
>>>
>>> ...but won't initramfs environments still need a way to trigger
>>> wait_for_device_probe()? Something like echo "flush" >
>>> /sys/devices/async_probe. and maybe reading that file indicates if
>>> some async probing is still in-flight?
>>
>> Why? The job of an initramfs is to mount root. All it has to do is
>> wait for root to appear via udev and then proceed. The whole reason for
>> doing stuff async initially was to speed boot, so probing can still be
>> ongoing even after the initrd exits.
>>
>> If you think about it, most modern fabrics are hot plug. Just because
>> the initial scan has completed there's no guarantee that all the devices
>> have appeared yet.
>
> Fine for single device root, but what about raid and degraded assembly?
>
> Last time I checked scsi_wait_scan was still being used by dracut in
> the case where it decides to stop waiting for all raid members to
> appear. It's a "last call" before proceeding with degraded assembly.
>
> If you immediately assemble and mount root as soon as the root device
> could be started it will almost always be a degraded array. Sure the
> initramfs can just timeout arrival, but at a minimum that timeout
> should be "load module + flush scanning". Without a flush mechanism
> it's just a shot in the dark what that minimum timeout should be.
>
> If ata error recovery is kicking in and needs 10s of seconds to
> recover a drive I'd want my initramfs to wait for that process to
> quiesce before timing out and moving on.
>
> --
> Dan
For Fedora17 scsi_wait_scan is not used anymore in the normal initramfs. I
removed it and raid is only tried to be started in degraded mode after a timeout
(several udevadm settle waits plus some extra 10 seconds).
next prev parent reply other threads:[~2012-05-31 8:15 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1338110026.2957.5.camel@dabdike.int.hansenpartnership.com>
[not found] ` <1338110026.2957.5.camel-sFMDBYUN5F8GjUHQrlYNx2Wm91YjaHnnhRte9Li2A+AAvxtiuMwx3w@public.gmane.org>
2012-05-28 10:00 ` Remove scsi_wait_scan module maximilian attems
[not found] ` <20120528100015.GB10036-VJknIhvjf2Ov8OlOgJ4AIV6hYfS7NtTn@public.gmane.org>
2012-05-28 12:07 ` James Bottomley
2012-05-30 10:03 ` maximilian attems
2012-05-30 18:26 ` Dan Williams
[not found] ` <CAA9_cmfh9ZtepX+hjLVRM95u_pAe90kZTkBeVmFPWm8AMaqJ5g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-05-30 23:32 ` James Bottomley
2012-05-31 2:34 ` Dan Williams
[not found] ` <CAA9_cmfZFm5+9ARB7tNVwNzwxJh3bPD=h7gMWhByjy00-qZvgg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-05-31 8:15 ` Harald Hoyer [this message]
[not found] ` <4FC7288C.302-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2012-05-31 16:45 ` Dan Williams
2012-05-31 17:44 ` James Bottomley
2012-05-31 17:54 ` Dave Jones
2012-05-31 8:21 ` James Bottomley
[not found] ` <1338452505.3073.4.camel-sFMDBYUN5F8GjUHQrlYNx2Wm91YjaHnnhRte9Li2A+AAvxtiuMwx3w@public.gmane.org>
2012-05-31 16:40 ` Dan Williams
[not found] ` <CAA9_cmet6tMi6rNNv_ktRwHh3_N4rOSd+_jBW0P_gomHLpOytw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-05-31 17:42 ` James Bottomley
2012-05-31 18:49 ` Dan Williams
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=4FC7288C.302@gmail.com \
--to=harald.hoyer-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
--cc=James.Bottomley-JuX6DAaQMKPCXq6kfMZ53/egYHeGw8Jk@public.gmane.org \
--cc=ben-/+tVBieCtBitmTQ+vhA3Yw@public.gmane.org \
--cc=dan.j.williams-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=davej-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
--cc=initramfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=jeffm-l3A5Bk7waGM@public.gmane.org \
--cc=linux-scsi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=max-U9r9yeDMy7A@public.gmane.org \
/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