1/*
2 *  linux/fs/ext2/symlink.c
3 *
4 * Only fast symlinks left here - the rest is done by generic code. AV, 1999
5 *
6 * Copyright (C) 1992, 1993, 1994, 1995
7 * Remy Card (card@masi.ibp.fr)
8 * Laboratoire MASI - Institut Blaise Pascal
9 * Universite Pierre et Marie Curie (Paris VI)
10 *
11 *  from
12 *
13 *  linux/fs/minix/symlink.c
14 *
15 *  Copyright (C) 1991, 1992  Linus Torvalds
16 *
17 *  ext2 symlink handling code
18 */
19
20#include <linux/fs.h>
21#include <linux/ext2_fs.h>
22
23static int ext2_readlink(struct dentry *dentry, char *buffer, int buflen)
24{
25	char *s = (char *)dentry->d_inode->u.ext2_i.i_data;
26	return vfs_readlink(dentry, buffer, buflen, s);
27}
28
29static int ext2_follow_link(struct dentry *dentry, struct nameidata *nd)
30{
31	char *s = (char *)dentry->d_inode->u.ext2_i.i_data;
32	return vfs_follow_link(nd, s);
33}
34
35struct inode_operations ext2_fast_symlink_inode_operations = {
36	readlink:	ext2_readlink,
37	follow_link:	ext2_follow_link,
38};
39