Re: [PATCH] fuse: add a dev ioctl for recovery

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Sep 8, 2021 at 5:27 PM Hao Peng <flyingpenghao@xxxxxxxxx> wrote:
>
> On Wed, Sep 8, 2021 at 5:08 PM Miklos Szeredi <miklos@xxxxxxxxxx> wrote:
> >
> > On Wed, 8 Sept 2021 at 04:25, Hao Peng <flyingpenghao@xxxxxxxxx> wrote:
> > >
> > > On Tue, Sep 7, 2021 at 5:34 PM Miklos Szeredi <miklos@xxxxxxxxxx> wrote:
> > > >
> > > > On Mon, 6 Sept 2021 at 14:36, Hao Peng <flyingpenghao@xxxxxxxxx> 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.




[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [NTFS 3]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [NTFS 3]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux