From: Josef Bacik <josef@redhat.com>
To: Miklos Szeredi <miklos@szeredi.hu>
Cc: Eric Paris <eparis@redhat.com>,
josef@redhat.com, fuse-devel@lists.sourceforge.net,
linux-fsdevel@vger.kernel.org
Subject: Re: [PATCH] fuse: return -EAGAIN if the connection has not been init'ed
Date: Fri, 20 Nov 2009 09:56:09 -0500 [thread overview]
Message-ID: <20091120145608.GA29243@localhost.localdomain> (raw)
In-Reply-To: <E1N8wcW-0003ht-Ei@pomaz-ex.szeredi.hu>
On Fri, Nov 13, 2009 at 02:55:24PM +0100, Miklos Szeredi wrote:
> On Fri, 13 Nov 2009, Eric Paris wrote:
> > mount S ffff88001f86bd28 0 4126 4120 0x00000080
> > mount S ffff88001f86bd28 0 4126 4120 0x00000080
> > ffff88001f86bc38 0000000000000086 0000000000000011 ffff88001f86bc08
> > 0000000000000700 0000000000000000 0000000000000013 ffffffff815884cd
> > ffff8800377532c8 000000000000f8e0 ffff8800377532c8 0000000000015600
> > Call Trace:
> > [<ffffffffa01bec71>] fuse_get_req+0xb8/0x15b [fuse]
> > [<ffffffffa01bf359>] fuse_getxattr+0x58/0x14f [fuse]
> > [<ffffffff811b9ea2>] get_vfs_caps_from_disk+0x52/0xcd
> > [<ffffffff81093809>] audit_copy_inode+0x83/0xb1
> > [<ffffffff81093d4f>] __audit_inode+0x1ee/0x1fd
> > [<ffffffff81104789>] audit_inode+0x28/0x2a
> > [<ffffffff811066b4>] do_path_lookup+0x63/0x8b
> > [<ffffffff81107c9c>] user_path_at+0x56/0x93
> > [<ffffffff810ffaf0>] sys_readlinkat+0x2d/0x91
> > [<ffffffff810ffb6f>] sys_readlink+0x1b/0x1d
> > [<ffffffff81011cf2>] system_call_fastpath+0x16/0x1b
> >
> > Userspace called readlink() and the audit system (after the vfs worked
> > out the path) needs to collect any fcaps.
>
> OK, this is a different problem than what I thought. Agreed, audit is
> not doing anything wrong here.
>
> The cause seems to be that fuse calls "mount -i -f ..." to add the
> filesystem entry to /etc/mtab. mount(8) then goes off and tries to
> canonicalize the path, calling readlink() on the mountpoint. Which is
> unnecessary, really. The path has already been canonicalized, but
> unfortunately there's no way currently to tell this to mount.
>
> In this light, the patch by Josef might be OK as a workaround, but
> I'll look at better ways to fix this.
>
> Josef, can you check whether the mtab is still correctly updated with
> your patch?
>
Hey Miklos, have you come up with a better solution yet? Alot of users are
hitting this in Fedora and I'd like to get a fix into place for them soon.
Thanks,
Josef
next prev parent reply other threads:[~2009-11-20 14:56 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-12 21:01 [PATCH] fuse: return -EAGAIN if the connection has not been init'ed Josef Bacik
2009-11-13 6:58 ` Miklos Szeredi
2009-11-13 13:14 ` Eric Paris
2009-11-13 13:55 ` Miklos Szeredi
2009-11-13 14:26 ` Josef Bacik
2009-11-20 14:56 ` Josef Bacik [this message]
2009-11-20 16:16 ` Miklos Szeredi
2009-11-20 19:28 ` Karel Zak
2009-12-16 13:37 ` Miklos Szeredi
2009-12-16 14:04 ` Karel Zak
2009-11-13 16:51 ` [fuse-devel] " Goswin von Brederlow
2009-11-13 16:56 ` Josef Bacik
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=20091120145608.GA29243@localhost.localdomain \
--to=josef@redhat.com \
--cc=eparis@redhat.com \
--cc=fuse-devel@lists.sourceforge.net \
--cc=linux-fsdevel@vger.kernel.org \
--cc=miklos@szeredi.hu \
/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).