All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vivek Goyal <vgoyal@redhat.com>
To: Laszlo Ersek <lersek@redhat.com>
Cc: virtio-fs@redhat.com, mszeredi@redhat.com, qemu-devel@nongnu.org,
	stefanha@redhat.com, dgilbert@redhat.com
Subject: Re: [PATCH 0/3] virtiofsd: Fix lo_flush() and inode->posix_lock init
Date: Tue, 8 Dec 2020 09:16:08 -0500	[thread overview]
Message-ID: <20201208141608.GA3212@redhat.com> (raw)
In-Reply-To: <861a96f9-34fa-cd1f-4bbf-4a3506c9afa2@redhat.com>

On Tue, Dec 08, 2020 at 05:51:34AM +0100, Laszlo Ersek wrote:
> Hi Vivek,
> 
> On 12/07/20 19:30, Vivek Goyal wrote:
> > Laszlo is writing a virtiofs client for OVMF and noticed that if he
> > sends fuse FLUSH command for directory object, virtiofsd crashes.
> > virtiofsd does not expect a FLUSH arriving for a directory object.
> > 
> > This patch series has one of the patches which fixes that. It also
> > has couple of posix lock fixes as a result of lo_flush() related debugging.
> > 
> > Vivek Goyal (3):
> >   virtiofsd: Set up posix_lock hash table for root inode
> >   virtiofsd: Disable posix_lock hash table if remote locks are not
> >     enabled
> >   virtiofsd: Check file type in lo_flush()
> > 
> >  tools/virtiofsd/passthrough_ll.c | 54 +++++++++++++++++++++++---------
> >  1 file changed, 39 insertions(+), 15 deletions(-)
> > 
> 
> I put back the (wrong) FLUSH for the root dir into my code temporarily, to reproduce the crash (it does, with v5.2.0-rc4).
> 
> Then I applied your series [*], and retested.
> 
> [*] I'm unsure about the email you sent in response to 1/3, namely <https://lists.gnu.org/archive/html/qemu-devel/2020-12/msg01504.html>; I ignored that when applying the patches.

Hi Laszlo,

Thank you for the testing.

I reposed patch 1 to take care of coding style issues. Functionally both
the versions are same.

> 
> Indeed now I get a graceful -EBADF:
> 
> [13316825985314] [ID: 00000004] unique: 60, opcode: FLUSH (25), nodeid: 1, insize: 64, pid: 1
> [13316825993517] [ID: 00000004]    unique: 60, error: -9 (Bad file descriptor), outsize: 16
> 
> For whichever patch in the series my testing is relevant:
> 
> Tested-by: Laszlo Ersek <lersek@redhat.com>
> 
> (I'm having some difficulty figuring out which patch(es) should carry my T-b.
> 
> - I think I didn't really test patch#2 with the above, so that one should likely not get the T-b
> 
> - I think patch#3 is what I really tested.
> 
> - But, if that's the case, doesn't patch#3 make the fix in patch#1 untestable, in my scenario? I believe the code is no longer reached in lo_flush(), due to patch#3, where the change from patch#1 would matter. Patch#1 seems correct, and the last paragraph of its commit message relevant, but I think my testing currently only covered patch#3.
> 
> I'll let you decide where to apply my T-b.)

David Gilbert can add your Tested-by: while applying this patch series.
I think adding it to patch 3 makes most sense.

Thanks
Vivek



WARNING: multiple messages have this Message-ID (diff)
From: Vivek Goyal <vgoyal@redhat.com>
To: Laszlo Ersek <lersek@redhat.com>
Cc: virtio-fs@redhat.com, qemu-devel@nongnu.org
Subject: Re: [Virtio-fs] [PATCH 0/3] virtiofsd: Fix lo_flush() and inode->posix_lock init
Date: Tue, 8 Dec 2020 09:16:08 -0500	[thread overview]
Message-ID: <20201208141608.GA3212@redhat.com> (raw)
In-Reply-To: <861a96f9-34fa-cd1f-4bbf-4a3506c9afa2@redhat.com>

On Tue, Dec 08, 2020 at 05:51:34AM +0100, Laszlo Ersek wrote:
> Hi Vivek,
> 
> On 12/07/20 19:30, Vivek Goyal wrote:
> > Laszlo is writing a virtiofs client for OVMF and noticed that if he
> > sends fuse FLUSH command for directory object, virtiofsd crashes.
> > virtiofsd does not expect a FLUSH arriving for a directory object.
> > 
> > This patch series has one of the patches which fixes that. It also
> > has couple of posix lock fixes as a result of lo_flush() related debugging.
> > 
> > Vivek Goyal (3):
> >   virtiofsd: Set up posix_lock hash table for root inode
> >   virtiofsd: Disable posix_lock hash table if remote locks are not
> >     enabled
> >   virtiofsd: Check file type in lo_flush()
> > 
> >  tools/virtiofsd/passthrough_ll.c | 54 +++++++++++++++++++++++---------
> >  1 file changed, 39 insertions(+), 15 deletions(-)
> > 
> 
> I put back the (wrong) FLUSH for the root dir into my code temporarily, to reproduce the crash (it does, with v5.2.0-rc4).
> 
> Then I applied your series [*], and retested.
> 
> [*] I'm unsure about the email you sent in response to 1/3, namely <https://lists.gnu.org/archive/html/qemu-devel/2020-12/msg01504.html>; I ignored that when applying the patches.

Hi Laszlo,

Thank you for the testing.

I reposed patch 1 to take care of coding style issues. Functionally both
the versions are same.

> 
> Indeed now I get a graceful -EBADF:
> 
> [13316825985314] [ID: 00000004] unique: 60, opcode: FLUSH (25), nodeid: 1, insize: 64, pid: 1
> [13316825993517] [ID: 00000004]    unique: 60, error: -9 (Bad file descriptor), outsize: 16
> 
> For whichever patch in the series my testing is relevant:
> 
> Tested-by: Laszlo Ersek <lersek@redhat.com>
> 
> (I'm having some difficulty figuring out which patch(es) should carry my T-b.
> 
> - I think I didn't really test patch#2 with the above, so that one should likely not get the T-b
> 
> - I think patch#3 is what I really tested.
> 
> - But, if that's the case, doesn't patch#3 make the fix in patch#1 untestable, in my scenario? I believe the code is no longer reached in lo_flush(), due to patch#3, where the change from patch#1 would matter. Patch#1 seems correct, and the last paragraph of its commit message relevant, but I think my testing currently only covered patch#3.
> 
> I'll let you decide where to apply my T-b.)

David Gilbert can add your Tested-by: while applying this patch series.
I think adding it to patch 3 makes most sense.

Thanks
Vivek


  reply	other threads:[~2020-12-08 14:18 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-07 18:30 [PATCH 0/3] virtiofsd: Fix lo_flush() and inode->posix_lock init Vivek Goyal
2020-12-07 18:30 ` [Virtio-fs] " Vivek Goyal
2020-12-07 18:30 ` [PATCH 1/3] virtiofsd: Set up posix_lock hash table for root inode Vivek Goyal
2020-12-07 18:30   ` [Virtio-fs] " Vivek Goyal
2020-12-07 19:55   ` Vivek Goyal
2020-12-07 19:55     ` [Virtio-fs] " Vivek Goyal
2020-12-10 19:50     ` Dr. David Alan Gilbert
2020-12-10 19:50       ` [Virtio-fs] " Dr. David Alan Gilbert
2020-12-07 18:30 ` [PATCH 2/3] virtiofsd: Disable posix_lock hash table if remote locks are not enabled Vivek Goyal
2020-12-07 18:30   ` [Virtio-fs] " Vivek Goyal
2020-12-10 19:58   ` Dr. David Alan Gilbert
2020-12-10 19:58     ` [Virtio-fs] " Dr. David Alan Gilbert
2020-12-07 18:30 ` [PATCH 3/3] virtiofsd: Check file type in lo_flush() Vivek Goyal
2020-12-07 18:30   ` [Virtio-fs] " Vivek Goyal
2020-12-10 20:03   ` Dr. David Alan Gilbert
2020-12-10 20:03     ` [Virtio-fs] " Dr. David Alan Gilbert
2020-12-10 20:09     ` Vivek Goyal
2020-12-10 20:09       ` [Virtio-fs] " Vivek Goyal
2020-12-10 20:14       ` Dr. David Alan Gilbert
2020-12-10 20:14         ` [Virtio-fs] " Dr. David Alan Gilbert
2020-12-11 14:25         ` Vivek Goyal
2020-12-11 14:25           ` [Virtio-fs] " Vivek Goyal
2020-12-11 19:54           ` Dr. David Alan Gilbert
2020-12-11 19:54             ` [Virtio-fs] " Dr. David Alan Gilbert
2020-12-10 21:24       ` ceph + freeipa ubuntu/fedora common small bug Harry G. Coin
2020-12-10 21:24         ` [Virtio-fs] " Harry G. Coin
2020-12-11 11:05         ` Dr. David Alan Gilbert
2020-12-11 11:05           ` [Virtio-fs] " Dr. David Alan Gilbert
2020-12-11 15:06           ` Vivek Goyal
2020-12-11 15:06             ` [Virtio-fs] " Vivek Goyal
2020-12-12  6:39           ` Harry Coin
2020-12-12  6:39             ` [Virtio-fs] " Harry Coin
2020-12-07 19:12 ` [PATCH 0/3] virtiofsd: Fix lo_flush() and inode->posix_lock init no-reply
2020-12-07 19:12   ` [Virtio-fs] " no-reply
2020-12-08  4:51 ` Laszlo Ersek
2020-12-08  4:51   ` [Virtio-fs] " Laszlo Ersek
2020-12-08 14:16   ` Vivek Goyal [this message]
2020-12-08 14:16     ` Vivek Goyal

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=20201208141608.GA3212@redhat.com \
    --to=vgoyal@redhat.com \
    --cc=dgilbert@redhat.com \
    --cc=lersek@redhat.com \
    --cc=mszeredi@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.com \
    --cc=virtio-fs@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.