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

List:       fuse-devel
Subject:    Re: [fuse-devel] Reconnect to FUSE session
From:       Andreas Gnau <rondom () rondom ! de>
Date:       2021-12-16 12:59:42
Message-ID: a5969c62-dc57-7339-899e-046030c17999 () gnau ! info
[Download RAW message or body]

On 14/12/2021 15:04, Miklos Szeredi wrote:
> On Tue, 14 Dec 2021 at 13:58, Robert Vasek <rvasek01@gmail.com> wrote:
> > 
> > Hello fuse-devel,
> > 
> > I'd like to ask about the feasibility of having a reconnect feature added into \
> > the FUSE kernel module. 
> > The idea is that when a FUSE driver disconnects (process exited due to a bug, \
> > signal, etc.), all pending and future ops for that session would wait for that \
> > driver to appear again, and then continue as normal. Waiting would be on a timer, \
> > with ENOTCONN returned in case it times out. Obviously, "continue as normal" \
> > isn't possible for all FUSE drivers, as it depends on what they do and how they \
> > implement things -- they would have to opt-in for this feature.
> 
> A kernel patch[1] as well as example userspace code[2] has already
> been proposed.
> 
> [1] https://lore.kernel.org/linux-fsdevel/CAPm50a+j8UL9g3UwpRsye5e+a=M0Hy7Tf1FdfwOrUUBWMyosNg@mail.gmail.com/
>  
> [2] https://lore.kernel.org/linux-fsdevel/CAPm50aLuK8Smy4NzdytUPmGM1vpzokKJdRuwxawUDA4jnJg=Fg@mail.gmail.com/
>  
> The example recovery is not very practical, but I can see how it would
> be possible to extend to a read-only fs.
> 

There has also been some related work in the paper
"Refuse to Crash with Re-FUSE"

https://research.cs.wisc.edu/wind/Publications/refuse-eurosys11.pdf
https://eurosys2011.cs.uni-salzburg.at/pdf/eurosys2011-sundararaman.pdf

The paper gives some insight into the challenges associated with 
restarting and it seems like it worked better for them than I would have 
thought. Not sure if any source-code for their work is available to 
reproduce their findings, though.


-- 
fuse-devel mailing list
To unsubscribe or subscribe, visit \
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