From: Nikolaus Rath <Nikolaus@rath.org>
To: Miklos Szeredi via fuse-devel <fuse-devel@lists.sourceforge.net>
Cc: Linux FS Devel <linux-fsdevel@vger.kernel.org>,
miklos <mszeredi@redhat.com>, Miklos Szeredi <miklos@szeredi.hu>
Subject: Re: [fuse-devel] Semantics of fuse_notify_delete()
Date: Tue, 01 Aug 2023 11:53:58 +0100 [thread overview]
Message-ID: <87o7jrjant.fsf@vostro.rath.org> (raw)
In-Reply-To: <CAJfpeguJESTqU7d0d0_2t=99P3Yt5a8-T4ADTF3tUdg5ou2qow@mail.gmail.com> (Miklos Szeredi via fuse-devel's message of "Mon, 31 Jul 2023 16:12:15 +0200")
On Jul 31 2023, Miklos Szeredi via fuse-devel <fuse-devel@lists.sourceforge.net> wrote:
> On Fri, 28 Jul 2023 at 10:52, Miklos Szeredi <miklos@szeredi.hu> wrote:
>>
>> On Fri, 28 Jul 2023 at 10:45, Nikolaus Rath <Nikolaus@rath.org> wrote:
>>
>> > I've pushed an instrumented snapshot to
>> > https://github.com/s3ql/s3ql/tree/notify_delete_bug. For me, this
>> > reliably reproduces the problem:
>> >
>> > $ python3 setup.py build_cython build_ext --inplace
>> > $ md bucket
>> > $ bin/mkfs.s3ql --plain local://bucket
>> > [...]
>> > $ bin/mount.s3ql --fg local://bucket mnt &
>> > [...]
>> > $ md mnt/test; echo foo > mnt/test/bar
>> > $ bin/s3qlrm mnt/test
>> > fuse: writing device: Directory not empty
>> > ERROR: Failed to submit invalidate_entry request for parent inode 1, name b'test'
>> > Traceback (most recent call last):
>> > File "src/internal.pxi", line 125, in pyfuse3._notify_loop
>> > File "src/pyfuse3.pyx", line 915, in pyfuse3.invalidate_entry
>> > OSError: [Errno 39] fuse_lowlevel_notify_delete returned: Directory not
>> > empty
>
> I get this:
>
> root@kvm:~/s3ql# bin/s3qlrm mnt/test
> WARNING: Received unknown command via control inode
> ERROR: Uncaught top-level exception:
> Traceback (most recent call last):
> File "/root/s3ql/bin/s3qlrm", line 21, in <module>
> s3ql.remove.main(sys.argv[1:])
> File "/root/s3ql/src/s3ql/remove.py", line 74, in main
> pyfuse3.setxattr(ctrlfile, 'rmtree', cmd)
> File "src/pyfuse3.pyx", line 629, in pyfuse3.setxattr
> OSError: [Errno 22] Invalid argument: 'mnt/test/.__s3ql__ctrl__'
>
> All packages are from debian/testing, except python3-dugong, which is
> from bullseye (oldstable), becase apparently it was removed from the
> recent release.
This sounds like you're using s3qlrm from one version of S3QL, and
mount.s3ql from a different one.
What do you mean with "all packages are from debian/testing"? If this
includes S3QL, then it won't work: you need the one from the Git
repository above because it's instrumented to reproduce the problem
reliably.
If you want to keep the Python packages separate, the best way is to use
a virtual environment:
# mkdir ~/s3ql-python-env
# python3 -m venv --system-side-packages ~/s3ql-python-env
# ~/s3ql-python-env/bin/python -m pip install --upgrade cryptography defusedxml apsw trio pyfuse3 dugong pytest requests cython
# ~/s3ql-python-env/bin/python setup.py build_cython build_ext --inplace
# ~/s3ql-python-env/bin/python bin/mount.s3ql [...]
# ~/s3ql-python-env/bin/python bin/s3qlrm [...]
Best,
-Nikolaus
next prev parent reply other threads:[~2023-08-01 11:11 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-26 18:08 Semantics of fuse_notify_delete() Nikolaus Rath
2023-07-27 8:04 ` Miklos Szeredi
2023-07-27 11:37 ` [fuse-devel] " Nikolaus Rath
2023-07-28 8:45 ` Nikolaus Rath
2023-07-28 8:52 ` Miklos Szeredi
2023-07-31 14:12 ` Miklos Szeredi
2023-08-01 10:53 ` Nikolaus Rath [this message]
2023-08-01 12:53 ` Miklos Szeredi
2023-08-01 14:40 ` Nikolaus Rath
2023-08-01 14:48 ` Miklos Szeredi
2023-08-01 16:05 ` Nikolaus Rath
2023-08-01 17:39 ` Miklos Szeredi
2023-08-02 13:18 ` Miklos Szeredi
2023-08-02 14:43 ` Nikolaus Rath
2023-08-02 17:48 ` Miklos Szeredi
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=87o7jrjant.fsf@vostro.rath.org \
--to=nikolaus@rath.org \
--cc=fuse-devel@lists.sourceforge.net \
--cc=linux-fsdevel@vger.kernel.org \
--cc=miklos@szeredi.hu \
--cc=mszeredi@redhat.com \
/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.