On Thu, Oct 29, 2015 at 4:30 PM, Sage Weil <sweil@xxxxxxxxxx> wrote: > On Thu, 29 Oct 2015, Yan, Zheng wrote: >> On Thu, Oct 29, 2015 at 2:21 PM, Gregory Farnum <gfarnum@xxxxxxxxxx> wrote: >> > On Wed, Oct 28, 2015 at 8:38 PM, Yan, Zheng <ukernel@xxxxxxxxx> wrote: >> >> On Thu, Oct 29, 2015 at 1:10 AM, Burkhard Linke >> >>> I tried to dig into the ceph-fuse code, but I was unable to find the >> >>> fragment that is responsible for flushing the data from the page cache. >> >>> >> >> >> >> fuse kernel code invalidates page cache on opening file. you can >> >> disable this behaviour by setting ""fuse use invalidate cb" config >> >> option to true. >> > >> > Zheng, do you know any reason we shouldn't make that the default value >> > now? There was a loopback deadlock (which is why it's disabled by >> > default) but I don't remember the details offhand well enough to know >> > if your recent work in those interfaces has fixed it. Or Sage? >> > -Greg >> >> there is no loopback deadlock now, because we use a separate thread to >> invalidate kernel page cache. I think we can enable this option >> safely. > > ...as long as nobody blocks waiting for invalidate while holding a lock > (client_lock?) that could prevent other fuse ops like write (pretty sure > that was the deadlock we saw before). I worry this could still happen > with a writer (or reader?) getting stuck in a check_caps() type situation > while the invalidate cb is waiting on a page lock held by the calling > kernel syscall... > the invalidate thread does not hold client_lock while invalidating kernel page cache. Regards Yan, Zheng _______________________________________________ ceph-users mailing list ceph-users@xxxxxxxxxxxxxx http://lists.ceph.com/listinfo.cgi/ceph-users-ceph.com