All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: malc <av1474@comtv.ru>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] Re: [PATCH] qemu: work around for "posix-aio-compat"
Date: Thu, 8 Oct 2009 23:46:06 +0200	[thread overview]
Message-ID: <20091008214606.GA8580@redhat.com> (raw)
In-Reply-To: <Pine.LNX.4.64.0910090108180.2868@linmac.oyster.ru>

On Fri, Oct 09, 2009 at 01:13:12AM +0400, malc wrote:
> On Fri, 9 Oct 2009, malc wrote:
> 
> > On Thu, 8 Oct 2009, Michael S. Tsirkin wrote:
> >
> > > With commit ee3993069ff55fa6f1c64daf1e09963e340db8e4,
> > > "posix-aio-compat: avoid signal race when spawning a thread"
> > > winxp installation on a raw format file fails
> > > during disk format, with a message "your
> > > disk may be damaged".
> > >
> > > This commit moved signal mask from aio thread to creating thread.
> > > It turns out if we keep the mask in aio thread as well, the problem
> > > disappears. It should not be needed, but since this is harmless, let's
> > > keep it around until someone inclined to debug pthread library internals
> > > can check this issue.
> > >
> > > While we are at it, convert sigprocmask to pthread_sigmask
> > > as per posix.
> >
> > Thanks for the work you've put into it, i'll try to see how all of this
> > works on my x86 machine.
> >
> > [..snip..]
> 
> Nope, still can not reproduce... So indeed it appears someone is needed,
> who:
> 
> a. Can reproduce
> b. Cares
> 
> FWIW, in essence sigfillset is this:
> 
> #  define __sigfillset(set) \
>   (__extension__ ({ int __cnt = _SIGSET_NWORDS;                               \
>                     sigset_t *__set = (set);                                  \
>                     while (--__cnt >= 0) __set->__val[__cnt] = ~0UL;          \
>                     0; }))
> 
> So the thing that works for you can be replaced with some dummy loop
> or something,

Exactly. I just did this:

sigset_t xset;

static void *aio_thread(void *unused)
{
    pid_t pid;
    sigset_t set;

    /* block all signals */
    /* Should not be necessary as we should inherit mask
     * from creating thread. However, without this,
     * on FC11, WinXP installation fails during disk format
     * saying disk was damaged. pthread library bug?
     * */
    memset(&set, 0, sizeof set);
    memcpy(&xset, &set, sizeof set);

and it also helps.

> IOW not good enough, we need to understand the problem,
> and as mentioned above, i can not be of any help here, can't repro,
> sorry.
> 
> -- 
> mailto:av1474@comtv.ru

  reply	other threads:[~2009-10-08 21:48 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-08 20:37 [Qemu-devel] [PATCH] qemu: work around for "posix-aio-compat" Michael S. Tsirkin
2009-10-08 20:53 ` [Qemu-devel] " malc
2009-10-08 21:13   ` malc
2009-10-08 21:46     ` Michael S. Tsirkin [this message]
2009-10-08 22:17       ` malc
2009-10-08 23:19         ` Michael S. Tsirkin
2009-10-09  1:06           ` [Qemu-devel] Emulated network cards Natalia Portillo
2009-10-09  8:54             ` Luca Tettamanti
2009-10-09 13:05               ` Natalia Portillo
2009-10-09 13:16           ` [Qemu-devel] Re: [PATCH] qemu: work around for "posix-aio-compat" malc
2009-10-08 21:00 ` Michael S. Tsirkin
2009-10-20 18:39 ` [Qemu-devel] " Mark McLoughlin
2009-10-20 18:57   ` [Qemu-devel] " Paolo Bonzini
2009-10-21 15:42     ` Michael S. Tsirkin
2009-10-21 15:54       ` Michael S. Tsirkin
2009-10-21 17:28       ` Paolo Bonzini
2009-10-21 17:35         ` Michael S. Tsirkin
2009-10-21 17:44           ` Paolo Bonzini
2009-10-21 17:46             ` Michael S. Tsirkin
2009-10-21 18:38               ` Paolo Bonzini

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=20091008214606.GA8580@redhat.com \
    --to=mst@redhat.com \
    --cc=av1474@comtv.ru \
    --cc=qemu-devel@nongnu.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.