-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
exofs: symlink_inode and fast_symlink_inode operations
Generic implementation of symlink ops. Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>
- Loading branch information
Boaz Harrosh
committed
Mar 31, 2009
1 parent
e806271
commit 982980d
Showing
3 changed files
with
62 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,57 @@ | ||
/* | ||
* Copyright (C) 2005, 2006 | ||
* Avishay Traeger (avishay@gmail.com) (avishay@il.ibm.com) | ||
* Copyright (C) 2005, 2006 | ||
* International Business Machines | ||
* Copyright (C) 2008, 2009 | ||
* Boaz Harrosh <bharrosh@panasas.com> | ||
* | ||
* Copyrights for code taken from ext2: | ||
* Copyright (C) 1992, 1993, 1994, 1995 | ||
* Remy Card (card@masi.ibp.fr) | ||
* Laboratoire MASI - Institut Blaise Pascal | ||
* Universite Pierre et Marie Curie (Paris VI) | ||
* from | ||
* linux/fs/minix/inode.c | ||
* Copyright (C) 1991, 1992 Linus Torvalds | ||
* | ||
* This file is part of exofs. | ||
* | ||
* exofs is free software; you can redistribute it and/or modify | ||
* it under the terms of the GNU General Public License as published by | ||
* the Free Software Foundation. Since it is based on ext2, and the only | ||
* valid version of GPL for the Linux kernel is version 2, the only valid | ||
* version of GPL for exofs is version 2. | ||
* | ||
* exofs is distributed in the hope that it will be useful, | ||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
* GNU General Public License for more details. | ||
* | ||
* You should have received a copy of the GNU General Public License | ||
* along with exofs; if not, write to the Free Software | ||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
*/ | ||
|
||
#include <linux/namei.h> | ||
|
||
#include "exofs.h" | ||
|
||
static void *exofs_follow_link(struct dentry *dentry, struct nameidata *nd) | ||
{ | ||
struct exofs_i_info *oi = exofs_i(dentry->d_inode); | ||
|
||
nd_set_link(nd, (char *)oi->i_data); | ||
return NULL; | ||
} | ||
|
||
const struct inode_operations exofs_symlink_inode_operations = { | ||
.readlink = generic_readlink, | ||
.follow_link = page_follow_link_light, | ||
.put_link = page_put_link, | ||
}; | ||
|
||
const struct inode_operations exofs_fast_symlink_inode_operations = { | ||
.readlink = generic_readlink, | ||
.follow_link = exofs_follow_link, | ||
}; |