diff mbox series

virtiofsd: update FUSE_FORGET comment on "lo_inode.nlookup"

Message ID 20201208073936.8629-1-lersek@redhat.com
State New
Headers show
Series virtiofsd: update FUSE_FORGET comment on "lo_inode.nlookup" | expand

Commit Message

Laszlo Ersek Dec. 8, 2020, 7:39 a.m. UTC
Miklos confirms it's *only* the FUSE_FORGET request that the client can
use for decrementing "lo_inode.nlookup".

Cc: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
Cc: Miklos Szeredi <mszeredi@redhat.com>
Cc: Stefan Hajnoczi <stefanha@redhat.com>
Fixes: 1222f015558fc34cea02aa3a5a92de608c82cec8
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
---
 tools/virtiofsd/passthrough_ll.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Vivek Goyal Dec. 8, 2020, 4:56 p.m. UTC | #1
On Tue, Dec 08, 2020 at 08:39:36AM +0100, Laszlo Ersek wrote:
> Miklos confirms it's *only* the FUSE_FORGET request that the client can
> use for decrementing "lo_inode.nlookup".
> 
> Cc: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
> Cc: Miklos Szeredi <mszeredi@redhat.com>
> Cc: Stefan Hajnoczi <stefanha@redhat.com>
> Fixes: 1222f015558fc34cea02aa3a5a92de608c82cec8
> Signed-off-by: Laszlo Ersek <lersek@redhat.com>

Looks correct. unref_inode() calls in lo_rmdir() lo_rename() are dropping
->nlookup they have taken internally during the function execution.

Reviewed-by: Vivek Goyal <vgoyal@redhat.com>

Thanks
Vivek

> ---
>  tools/virtiofsd/passthrough_ll.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/tools/virtiofsd/passthrough_ll.c b/tools/virtiofsd/passthrough_ll.c
> index 06543b20dcbb..d3be680e92c3 100644
> --- a/tools/virtiofsd/passthrough_ll.c
> +++ b/tools/virtiofsd/passthrough_ll.c
> @@ -113,7 +113,7 @@ struct lo_inode {
>       * This counter keeps the inode alive during the FUSE session.
>       * Incremented when the FUSE inode number is sent in a reply
>       * (FUSE_LOOKUP, FUSE_READDIRPLUS, etc).  Decremented when an inode is
> -     * released by requests like FUSE_FORGET, FUSE_RMDIR, FUSE_RENAME, etc.
> +     * released by a FUSE_FORGET request.
>       *
>       * Note that this value is untrusted because the client can manipulate
>       * it arbitrarily using FUSE_FORGET requests.
> -- 
> 2.19.1.3.g30247aa5d201
> 
> _______________________________________________
> Virtio-fs mailing list
> Virtio-fs@redhat.com
> https://www.redhat.com/mailman/listinfo/virtio-fs
Dr. David Alan Gilbert Dec. 17, 2020, 3:01 p.m. UTC | #2
* Vivek Goyal (vgoyal@redhat.com) wrote:
> On Tue, Dec 08, 2020 at 08:39:36AM +0100, Laszlo Ersek wrote:
> > Miklos confirms it's *only* the FUSE_FORGET request that the client can
> > use for decrementing "lo_inode.nlookup".
> > 
> > Cc: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
> > Cc: Miklos Szeredi <mszeredi@redhat.com>
> > Cc: Stefan Hajnoczi <stefanha@redhat.com>
> > Fixes: 1222f015558fc34cea02aa3a5a92de608c82cec8
> > Signed-off-by: Laszlo Ersek <lersek@redhat.com>
> 
> Looks correct. unref_inode() calls in lo_rmdir() lo_rename() are dropping
> ->nlookup they have taken internally during the function execution.
> 
> Reviewed-by: Vivek Goyal <vgoyal@redhat.com>

Queued.

> 
> Thanks
> Vivek
> 
> > ---
> >  tools/virtiofsd/passthrough_ll.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/tools/virtiofsd/passthrough_ll.c b/tools/virtiofsd/passthrough_ll.c
> > index 06543b20dcbb..d3be680e92c3 100644
> > --- a/tools/virtiofsd/passthrough_ll.c
> > +++ b/tools/virtiofsd/passthrough_ll.c
> > @@ -113,7 +113,7 @@ struct lo_inode {
> >       * This counter keeps the inode alive during the FUSE session.
> >       * Incremented when the FUSE inode number is sent in a reply
> >       * (FUSE_LOOKUP, FUSE_READDIRPLUS, etc).  Decremented when an inode is
> > -     * released by requests like FUSE_FORGET, FUSE_RMDIR, FUSE_RENAME, etc.
> > +     * released by a FUSE_FORGET request.
> >       *
> >       * Note that this value is untrusted because the client can manipulate
> >       * it arbitrarily using FUSE_FORGET requests.
> > -- 
> > 2.19.1.3.g30247aa5d201
> > 
> > _______________________________________________
> > Virtio-fs mailing list
> > Virtio-fs@redhat.com
> > https://www.redhat.com/mailman/listinfo/virtio-fs
> 
> _______________________________________________
> Virtio-fs mailing list
> Virtio-fs@redhat.com
> https://www.redhat.com/mailman/listinfo/virtio-fs
diff mbox series

Patch

diff --git a/tools/virtiofsd/passthrough_ll.c b/tools/virtiofsd/passthrough_ll.c
index 06543b20dcbb..d3be680e92c3 100644
--- a/tools/virtiofsd/passthrough_ll.c
+++ b/tools/virtiofsd/passthrough_ll.c
@@ -113,7 +113,7 @@  struct lo_inode {
      * This counter keeps the inode alive during the FUSE session.
      * Incremented when the FUSE inode number is sent in a reply
      * (FUSE_LOOKUP, FUSE_READDIRPLUS, etc).  Decremented when an inode is
-     * released by requests like FUSE_FORGET, FUSE_RMDIR, FUSE_RENAME, etc.
+     * released by a FUSE_FORGET request.
      *
      * Note that this value is untrusted because the client can manipulate
      * it arbitrarily using FUSE_FORGET requests.