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@xxxxxxxxxxxxxxxxxx> 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(). -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html