[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20150320144634.GY29656@ZenIV.linux.org.uk>
Date: Fri, 20 Mar 2015 14:46:34 +0000
From: Al Viro <viro@...IV.linux.org.uk>
To: Vitaly Chernooky <vitalii.chernookyi@...ballogic.com>
Cc: linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org,
Linus Torvalds <torvalds@...ux-foundation.org>,
David Vrabel <david.vrabel@...rix.com>,
Marek Marczykowski-Górecki
<marmarek@...isiblethingslab.com>,
Iurii Konovalenko <iurii.konovalenko@...ballogic.com>,
Ian Campbell <ian.campbell@...rix.com>,
Boris Ostrovsky <boris.ostrovsky@...cle.com>,
Andrii Anisov <andrii.anisov@...ballogic.com>,
Artem Mygaiev <artem.mygaiev@...ballogic.com>
Subject: Re: [PATCH] [RFC] Fix deadlock on regular nonseekable files
On Fri, Mar 20, 2015 at 04:22:11PM +0200, Vitaly Chernooky wrote:
> > AFAICS, any threads blocked on f_pos_lock are not holding anything else and
> > cannot impede the rest. What am I missing here?
>
> As far as I understand it is true only for files on regular filesystem
> like ext4. Let's to see how XEN guys run into trouble with that
> f_pos_lock:
What does it have to do with filesystem type involved? The only place that
takes f_pos_lock is __fdget_pos(), with only one caller in the entire tree -
fdget_pos(). Which is static in fs/read_write.c and all its callers are
in right in the beginning of sys_<something>.
Is it just that they have read() on procfs file blocked waiting for something
and a bunch of other read/write on the same descriptor blocked on ->f_pos_mutex
waiting for that sucker to finish?
Then basically they are asking to waive XSI 2.9.7 for that file - behaviour
*is* required by POSIX.
What file it is and what is the first read() (or write(), whatever) blocked on?
Stack traces would be useful for the latter...
--
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