Re: [Nbd] NBD Super Size io operations
- To: Michal Belczyk <belczyk@...1274...>
- Cc: "nbd-general@lists.sourceforge.net" <nbd-general@lists.sourceforge.net>, Rohan Sharma <rickyrohan14@...58...>
- Subject: Re: [Nbd] NBD Super Size io operations
- From: Paul Clements <paul.clements@...856...>
- Date: Mon, 8 Apr 2013 17:19:02 -0400
- Message-id: <CAECXXi59Zea8BVLER3S9Kf=uJ3pikuUxzO1QG_wQUVQqs6axAg@...18...>
- In-reply-to: <CAECXXi5fiTnfgcHhmW_A84nwXUhvvCX_CZf1QLzydSG09hZ6Pw@...18...>
- References: <BAY403-EAS415E8D3A1CC43EB4134B824DADE0@...59...> <CAECXXi5ouWsq09pxTGzDeYP+Q6eLF4+SbBRDKShVcUXm13Oi4g@...18...> <20130401202523.GR14908@...1273...> <20130402140706.GI30504@...855...> <20130403193632.GY30504@...855...> <20130407215919.GB67997@...1273...> <CAECXXi5fiTnfgcHhmW_A84nwXUhvvCX_CZf1QLzydSG09hZ6Pw@...18...>
On Mon, Apr 8, 2013 at 4:17 PM, Paul Clements <paul.clements@...856...> wrote:
> On Sun, Apr 7, 2013 at 5:59 PM, Michal Belczyk <belczyk@...1274...> wrote:
>
>> Paul, is there a chance for this and _the_ ERESTARTSYS patches got into
>> 3.9?
>
> You were copied on the submit to Andrew for the max_sectors change.
> That one's still pending.
>
> The ERESTARTSYS one we were discussing here. I don't think that just
> restarting the wait_event when we get a signal is the right approach.
> It wouldn't allow the signal to be handled in all cases -- it happens
> to work in the SIGCHLD case that we saw, since we don't really need to
> handle that. But if nbd-client is sent a SIGKILL, for instance, it
> should die. Just restarting the wait_event_interruptible doesn't allow
> that. I think masking signals before we enter the NBD_DO_IT ioctl is
> probably a better approach.
If you do something like the following in nbd-client just before the
call to NBD_DO_IT, does this fix the problem:
+ sigfillset(&block);
+ sigdelset(&block, SIGKILL);
+ sigprocmask(SIG_SETMASK, &block, &old);
if (ioctl(nbd, NBD_DO_IT) < 0)
(block and old are sigset_t).
Could anyone who's seeing the problem test that?
Thanks,
Paul
Reply to: