]>
Commit | Line | Data |
---|---|---|
ac27a0ec | 1 | /* |
617ba13b | 2 | * linux/fs/ext4/symlink.c |
ac27a0ec DK |
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 ([email protected]) | |
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 | * | |
617ba13b | 17 | * ext4 symlink handling code |
ac27a0ec DK |
18 | */ |
19 | ||
20 | #include <linux/fs.h> | |
dab291af | 21 | #include <linux/jbd2.h> |
ac27a0ec | 22 | #include <linux/namei.h> |
3dcf5451 | 23 | #include "ext4.h" |
ac27a0ec DK |
24 | #include "xattr.h" |
25 | ||
af5bc92d | 26 | static void *ext4_follow_link(struct dentry *dentry, struct nameidata *nd) |
ac27a0ec | 27 | { |
617ba13b | 28 | struct ext4_inode_info *ei = EXT4_I(dentry->d_inode); |
af5bc92d | 29 | nd_set_link(nd, (char *) ei->i_data); |
ac27a0ec DK |
30 | return NULL; |
31 | } | |
32 | ||
754661f1 | 33 | const struct inode_operations ext4_symlink_inode_operations = { |
ac27a0ec DK |
34 | .readlink = generic_readlink, |
35 | .follow_link = page_follow_link_light, | |
36 | .put_link = page_put_link, | |
256a4535 | 37 | .setattr = ext4_setattr, |
03010a33 | 38 | #ifdef CONFIG_EXT4_FS_XATTR |
ac27a0ec DK |
39 | .setxattr = generic_setxattr, |
40 | .getxattr = generic_getxattr, | |
617ba13b | 41 | .listxattr = ext4_listxattr, |
ac27a0ec DK |
42 | .removexattr = generic_removexattr, |
43 | #endif | |
44 | }; | |
45 | ||
754661f1 | 46 | const struct inode_operations ext4_fast_symlink_inode_operations = { |
ac27a0ec | 47 | .readlink = generic_readlink, |
617ba13b | 48 | .follow_link = ext4_follow_link, |
256a4535 | 49 | .setattr = ext4_setattr, |
03010a33 | 50 | #ifdef CONFIG_EXT4_FS_XATTR |
ac27a0ec DK |
51 | .setxattr = generic_setxattr, |
52 | .getxattr = generic_getxattr, | |
617ba13b | 53 | .listxattr = ext4_listxattr, |
ac27a0ec DK |
54 | .removexattr = generic_removexattr, |
55 | #endif | |
56 | }; |