X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=fs%2Fautofs%2Fsymlink.c;h=c74f2eb6577521ffec6f01bb1a7f0d21f66af5c1;hb=567f20a20be06ad546b5962340c4be268462055b;hp=237a6305ab48de7302a42688d22c977d8be2b561;hpb=daddc0d38b3571bed170afa273a49a0eba090c1e;p=linux-2.6.git diff --git a/fs/autofs/symlink.c b/fs/autofs/symlink.c index 237a6305a..c74f2eb65 100644 --- a/fs/autofs/symlink.c +++ b/fs/autofs/symlink.c @@ -12,19 +12,15 @@ #include "autofs_i.h" -static int autofs_readlink(struct dentry *dentry, char *buffer, int buflen) +/* Nothing to release.. */ +static void *autofs_follow_link(struct dentry *dentry, struct nameidata *nd) { - char *s=((struct autofs_symlink *)dentry->d_inode->u.generic_ip)->data; - return vfs_readlink(dentry, buffer, buflen, s); -} - -static int autofs_follow_link(struct dentry *dentry, struct nameidata *nd) -{ - char *s=((struct autofs_symlink *)dentry->d_inode->u.generic_ip)->data; - return vfs_follow_link(nd, s); + char *s=((struct autofs_symlink *)dentry->d_inode->i_private)->data; + nd_set_link(nd, s); + return NULL; } struct inode_operations autofs_symlink_inode_operations = { - .readlink = autofs_readlink, + .readlink = generic_readlink, .follow_link = autofs_follow_link };