[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Deadlock in /proc/xen/xenbus watch+read on 3.17+ (maybe earlier)



On 19/03/15 12:10, Iurii Konovalenko wrote:
> Hi, guys!
> 
> When I read, that I am not alone and that issue depends on kernel
> version, I decided to continue investigation.
> And I found why our threads locks on read/write operations.
> On Linux kernel 3.14+ syscalls of file read and write changed a bit:
> fdget() function was replaced by fdget_pos() - it is fdget() function
> plus additional position mutex lock for files with FMODE_ATOMIC_POS
> (files for inodes with S_IFREG flag set - regular nodes). As I thought
> our xen files are not regular and nonseekable, I hoped this flag is
> not set. But it is set. It is because our file system is created by
> function simple_fill_super(), and inside it this flag is hardly set:
> inode->i_mode = S_IFREG | files->mode;
> So, as a fast hack I made a patch: just made copy of this function for
> xen, which does not set this flag. It works for me. Could you please
> check if it works for you.

I still can't get this to deadlock, but why not clear FMODE_ATOMIC_POS
in xenbus_file_open() ?

David


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.