[prev in list] [next in list] [prev in thread] [next in thread] 

List:       fuse-devel
Subject:    [fuse-devel] how would i prevent /resolve a Dead lock with mmap pagefault
From:       Nikhilesh Reddy <reddyn () codeaurora ! org>
Date:       2015-07-31 18:29:15
Message-ID: 55BBBE7B.2080007 () codeaurora ! org
[Download RAW message or body]

Hi

I am looking into an issue on kernel version 3.10

and it is very similar to the "Scenario 2 Tricky deadlock"
described in the fuse documentation.



Basically a process mmaps a file and reads
This causes a page fault and then
do_page_fault->
fuse_readpages -> wait_answer_interruptible

And the Fuse daemon is
fuse_dev_write
->fuse_dev_do_write
  ->get_user_pages_fast
   -->down_read

And this seems to result in a deadlock.

I was wondering how I would go about resolving/preventing  this deadlock?

The documentation just implies
"The solution for this is to allow the filesystem to be aborted."

Does this mean the only solution is to
write to the "abort" entry in the fusectl? I am a little confused :(

Is there a  nice way to avoid this deadlock?
Or a maybe a patch i am missing that helps prevent this from occuring?

Please let me know.

I would appreciate any pointers or help that you can give me.


-- 
Thanks
Nikhilesh Reddy

Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project.

------------------------------------------------------------------------------
_______________________________________________
fuse-devel mailing list
fuse-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fuse-devel
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic