From: Al Viro <viro@ZenIV.linux.org.uk>
To: dmitry.krivenok@emc.com
Cc: linux-fsdevel@vger.kernel.org
Subject: Re: path_lookup() alternative
Date: Mon, 23 Jan 2012 21:23:56 +0000 [thread overview]
Message-ID: <20120123212356.GG23916@ZenIV.linux.org.uk> (raw)
In-Reply-To: <9C7BACB01B839A499792154E76C9ADE5563FDD2D34@MX19A.corp.emc.com>
On Mon, Jan 23, 2012 at 05:19:24AM -0500, dmitry.krivenok@emc.com wrote:
> Hello,
> I sent this question to Al Viro first, but didn't get any feedback, so reposting here and hope that someone can help me.
>
> I'm trying to build existing system consisting of several kernel modules and user-space tools on the latest vanilla kernel.
> Previously, we used path_lookup() function to perform lookup with arbitrary flags (e.g. we passed LOOKUP_PARENT in
> some cases) and save results in nameidata structure. Then, this structure was passed to other kernel functions (e.g.
> lookup_hash and then lookup_one_len) or was used directly in the module code.
lookup_one_len() does not take nameidata at all.
lookup_hash() is not only not exported, it's _static_.
what are you talking about?
> The problem is that path_lookup() was removed in c9c6cac0c2bdbda42e7b804838648d0bc60ddb13 and kern_path_parent
> was added instead (and, of course, it didn't allow user to pass arbitrary flags).
> Then, in e3c3d9c838d48c0341c40ea45ee087e3d8c8ea39, kern_path_parent() was unexported and thus became unavailable for us.
>
> I spent several hours learning path lookup code in the kernel tree, but didn't find a function/method which allows to get properly filled
> nameidata having only path and flags.
> Is there an alternative to removed path_lookup() function or any other way of {path, flags}->{nameidata} translation?
Depends on what do you want to do with it. IMO nameidata should be internal to
fs/namei.c; we still have it exposed more than I'd like it to be and if nothing
else, that exposure is going to shrink.
Details of your use case, please (ideally - along with the reference to your
code).
next prev parent reply other threads:[~2012-01-23 21:23 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-23 10:19 path_lookup() alternative dmitry.krivenok
2012-01-23 21:23 ` Al Viro [this message]
2012-01-24 13:03 ` dmitry.krivenok
2012-01-24 17:19 ` Andreas Dilger
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=20120123212356.GG23916@ZenIV.linux.org.uk \
--to=viro@zeniv.linux.org.uk \
--cc=dmitry.krivenok@emc.com \
--cc=linux-fsdevel@vger.kernel.org \
/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.