<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style></head><body lang=EN-US link="#0563C1" vlink="#954F72"><div class=WordSection1><p class=MsoNormal><span style='font-size:11.0pt'>Jean-Paul et al,<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt'>I just wanted to give you a status update on the progress I have made on creating a Nextcloud filesystem plugin for Tahoe-LAFS.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt'>The good news is that the plugin is fully functional and seems to work quite well with Tahoe LAFS. The plugin maps a either Tahoe URI or a Tahoe alias / path to a Nextcloud mount point. The plugin also detects Tahoe magic-folder configurations and maps the resulting Tahoe magic-folder directory to a Nextcloud mount point. I have tested the plugin using both the Nextcloud web interface and using Nextcloud clients (wabdav). Both interfaces seem to work reliably (with a caveat).<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt'>The bad news is that I am having intermittent trouble with Tahoe mutable files which I believe are used to hold file directories in the Tahoe filesystem. I have multiple Tahoe groups running right now each with its own introducer. Each Tahoe group has about 8 nodes in it. The nodes which are members of the Tahoe groups are always behind a NAT. I use the frp package (</span><a href="https://github.com/fatedier/frp">https://github.com/fatedier/frp</a>) to create tunnels to a server with a public IP to get around the NAT issue. The result is that bandwidth between nodes can be reasonable low (< 1Mbps) and RTT can be quite high.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>What I am finding is that when I use the Tahoe filesystem heavily, the Tahoe client state machine will often hang for about 5 – 10 minutes before some type of timeout occurs and data transfers continue. Here is an example of a Tahoe status screen I see when the Tahoe client state machine is hung:<o:p></o:p></p><p class=MsoNormal><img border=0 width=730 height=219 style='width:7.6041in;height:2.2812in' id="Picture_x0020_1" src="cid:image001.png@01D5E03B.03EAA7E0"><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>All of the Storage Indexes above are mutable files which I believe hold Tahoe filesystem directories. When a client hangs up, it stays in this state for a significant period of time (5 – 10 minutes) before timing out and continuing on. I have found that once the Tahoe client is in this state, it will not operate properly until I restart the Tahoe node.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I have found multiple nodes in my network which exhibit similar behavior.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I am looking at the Tahoe code right now to try to understand the details of the mutable files subsystem and what may be causing this issue. Any pointers / feedback would be greatly appreciated.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>            Bruce T<o:p></o:p></p></div></body></html>