lkml.org 
[lkml]   [2016]   [Jan]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC] ->get_link(), ->put_link() and cookies
On Sun, Jan 03, 2016 at 11:53:21AM -0800, Linus Torvalds wrote:
> On Thu, Dec 31, 2015 at 10:36 PM, Al Viro <viro@zeniv.linux.org.uk> wrote:
> > In cases when we need to pin the symlink body in some manner, we
> > need to undo whatever we'd done once the caller is done with the body.
> > That went through several variants, the latest (in -next right now) being
> > "have non-NULL ->put_link() and leave an argument for it in void *cookie,
> > address of which is passed to ->get_link()".
>
> The series looks ok to me, even if I still am not a fan of the cookie.
> I suspect the remaining users could easily embed the returned string
> at the end of a structure, and get their data with container_of(). It
> would complicate their unusual behavior for sure, but make the common
> case much more understandable.
>
> Oh well. I won't insist - it may be too painful to be worth it. And
> it's a fairly separate issue anyway.
>
> So no objections to this series.

Just to make sure - that does include 13/13, presumably? IOW, ->put_link()
is gone and the final calling conventions for ->get_link() are
const char *(*get_link)(struct dentry *dentry,
struct inode *inode,
struct delayed_call *done);
with dentry == NULL <=> call in RCU mode, ERR_PTR(-E...) returned on error
and set_delayed_call(done, destructor, arg) done if destructor(arg) should
be done once pathname resolution is through with the body returned by
->get_link().


\
 
 \ /
  Last update: 2016-01-03 22:01    [W:0.107 / U:1.132 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site