From: Hao Peng <flyingpenghao@gmail.com>
To: Miklos Szeredi <miklos@szeredi.hu>
Cc: linux-fsdevel@vger.kernel.org
Subject: Re: [PATCH] fuse: add a dev ioctl for recovery
Date: Wed, 10 Nov 2021 11:43:15 +0800 [thread overview]
Message-ID: <CAPm50aLuK8Smy4NzdytUPmGM1vpzokKJdRuwxawUDA4jnJg=Fg@mail.gmail.com> (raw)
In-Reply-To: <CAPm50aLPuqZoP+eSAGKOo+8DjKFR5akWUhTg=WFp11vLiC=HOA@mail.gmail.com>
On Wed, Sep 8, 2021 at 5:27 PM Hao Peng <flyingpenghao@gmail.com> wrote:
>
> On Wed, Sep 8, 2021 at 5:08 PM Miklos Szeredi <miklos@szeredi.hu> wrote:
> >
> > On Wed, 8 Sept 2021 at 04:25, Hao Peng <flyingpenghao@gmail.com> wrote:
> > >
> > > On Tue, Sep 7, 2021 at 5:34 PM Miklos Szeredi <miklos@szeredi.hu> wrote:
> > > >
> > > > On Mon, 6 Sept 2021 at 14:36, Hao Peng <flyingpenghao@gmail.com> wrote:
> > > > >
> > > > > For a simple read-only file system, as long as the connection
> > > > > is not broken, the recovery of the user-mode read-only file
> > > > > system can be realized by putting the request of the processing
> > > > > list back into the pending list.
> > > >
> > > > Thanks for the patch.
> > > >
> > > > Do you have example userspace code for this?
> > > >
> > > Under development. When the fuse user-mode file system process is abnormal,
> > > the process does not terminate (/dev/fuse will not be closed), enter
> > > the reset procedure,
> > > and will not open /dev/fuse again during the reinitialization.
> > > Of course, this can only solve part of the abnormal problem.
> >
> > Yes, that's what I'm mainly worried about. Replaying the few
> > currently pending requests is easy, but does that really help in real
> > situations?
> >
> > Much more information is needed about what you are trying to achieve
> > and how, as well as a working userspace implementation to be able to
> > judge this patch.
> >
> I will provide a simple example in a few days. The effect achieved is that the
> user process will not perceive the abnormal restart of the read-only file system
> process based on fuse.
>
> > Thanks,
> > Miklos
Hi,I have implemented a small test program to illustrate this new feature.
After downloading and compiling from
https://github.com/flying-122/libfuse/tree/flying
#gcc -o testfile testfile.c -D_GNU_SOURCE
#./example/passthrough_ll -o debug -s /mnt3
#./testfile (on another console)
#ps aux | grep pass
#root 34889 0.0 0.0 8848 864 pts/2 S+ 13:10 0:00
./example/passthrough_ll -o debug -s /mnt3
#root 34896 0.0 0.0 9880 128 pts/2 S+ 13:10 0:00
./example/passthrough_ll -o debug -s /mnt3
#root 34913 0.0 0.0 12112 1060 pts/1 S+ 13:10 0:00
grep --color=auto pass
// kill child process
#kill 34896
You will see that ./testfile continues to execute without noticing the
abnormal restart of the fuse file system.
Thanks.
next prev parent reply other threads:[~2021-11-10 3:43 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-06 12:36 [PATCH] fuse: add a dev ioctl for recovery Hao Peng
2021-09-07 9:34 ` Miklos Szeredi
2021-09-08 2:25 ` Hao Peng
2021-09-08 9:08 ` Miklos Szeredi
2021-09-08 9:27 ` Hao Peng
2021-11-10 3:43 ` Hao Peng [this message]
2021-11-10 10:14 ` Miklos Szeredi
2021-11-11 1:38 ` Hao Peng
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAPm50aLuK8Smy4NzdytUPmGM1vpzokKJdRuwxawUDA4jnJg=Fg@mail.gmail.com' \
--to=flyingpenghao@gmail.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=miklos@szeredi.hu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.