linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Al Viro <viro@zeniv.linux.org.uk>
To: Oleg Nesterov <oleg@redhat.com>
Cc: "Eric W. Biederman" <ebiederm@xmission.com>,
	Tycho Andersen <tycho@tycho.pizza>,
	"Serge E. Hallyn" <serge@hallyn.com>,
	Miklos Szeredi <miklos@szeredi.hu>,
	linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org
Subject: Re: [RFC][PATCH] fuse: In fuse_flush only wait if someone wants the return code
Date: Sat, 30 Jul 2022 01:15:45 +0100	[thread overview]
Message-ID: <YuR4MRL8WxA88il+@ZenIV> (raw)
In-Reply-To: <20220729204730.GA3625@redhat.com>

On Fri, Jul 29, 2022 at 10:47:32PM +0200, Oleg Nesterov wrote:
> On 07/29, Eric W. Biederman wrote:
> >
> > +static int fuse_flush_async(struct file *file, fl_owner_t id)
> > +{
> > +	struct inode *inode = file_inode(file);
> > +	struct fuse_mount *fm = get_fuse_mount(inode);
> > +	struct fuse_file *ff = file->private_data;
> > +	struct fuse_flush_args *fa;
> > +	int err;
> > +
> > +	fa = kzalloc(sizeof(*fa), GFP_KERNEL);
> > +	if (!fa)
> > +		return -ENOMEM;
> > +
> > +	fa->inarg.fh = ff->fh;
> > +	fa->inarg.lock_owner = fuse_lock_owner_id(fm->fc, id);
> > +	fa->args.opcode = FUSE_FLUSH;
> > +	fa->args.nodeid = get_node_id(inode);
> > +	fa->args.in_numargs = 1;
> > +	fa->args.in_args[0].size = sizeof(fa->inarg);
> > +	fa->args.in_args[0].value = &fa->inarg;
> > +	fa->args.force = true;
> > +	fa->args.end = fuse_flush_end;
> > +	fa->inode = inode;
> > +	__iget(inode);
> 
> Hmm... who does iput() ?

... or holds ->i_lock as expected by __iget()...

  reply	other threads:[~2022-07-30  0:16 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <YuFdUj5X4qckC/6g@tycho.pizza>
     [not found] ` <20220727175538.GC18822@redhat.com>
     [not found]   ` <YuGBXnqb5rPwAlYk@tycho.pizza>
     [not found]     ` <20220727191949.GD18822@redhat.com>
     [not found]       ` <YuGUyayVWDB7R89i@tycho.pizza>
     [not found]         ` <20220728091220.GA11207@redhat.com>
     [not found]           ` <YuL9uc8WfiYlb2Hw@tycho.pizza>
     [not found]             ` <87pmhofr1q.fsf@email.froward.int.ebiederm.org>
     [not found]               ` <YuPlqp0jSvVu4WBK@tycho.pizza>
     [not found]                 ` <87v8rfevz3.fsf@email.froward.int.ebiederm.org>
     [not found]                   ` <YuQPc51yXhnBHjIx@tycho.pizza>
2022-07-29 17:40                     ` [RFC][PATCH] fuse: In fuse_flush only wait if someone wants the return code Eric W. Biederman
2022-07-29 20:47                       ` Oleg Nesterov
2022-07-30  0:15                         ` Al Viro [this message]
2022-07-30  5:10                           ` [RFC][PATCH v2] " Eric W. Biederman
2022-08-01 15:16                             ` Tycho Andersen
2022-08-02 12:50                             ` Miklos Szeredi
2022-08-15 13:59                             ` Tycho Andersen
2022-08-15 17:55                               ` Serge E. Hallyn
2022-09-19 15:46                               ` Eric W. Biederman

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=YuR4MRL8WxA88il+@ZenIV \
    --to=viro@zeniv.linux.org.uk \
    --cc=ebiederm@xmission.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=miklos@szeredi.hu \
    --cc=oleg@redhat.com \
    --cc=serge@hallyn.com \
    --cc=tycho@tycho.pizza \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).