aboutsummaryrefslogtreecommitdiff
path: root/fs/jffs2/symlink.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@g5.osdl.org>2005-11-07 10:24:08 -0800
committerLinus Torvalds <torvalds@g5.osdl.org>2005-11-07 10:24:08 -0800
commitb3ce1debe2685383a9ad6ace9c49869c3968c013 (patch)
treedcb606fac467d6ce78a9c608a1e0d2323af44f2b /fs/jffs2/symlink.c
parent5b2f7ffcb734d3046144dfbd5ac6d76254a9e522 (diff)
parentc2965f1129ee54afcc4ef293ff0f25fa3a7e7392 (diff)
Merge master.kernel.org:/pub/scm/linux/kernel/git/tglx/mtd-2.6
Some manual fixups for clashing kfree() cleanups etc.
Diffstat (limited to 'fs/jffs2/symlink.c')
-rw-r--r--fs/jffs2/symlink.c32
1 files changed, 15 insertions, 17 deletions
diff --git a/fs/jffs2/symlink.c b/fs/jffs2/symlink.c
index 82ef484f5e1..d55754fe892 100644
--- a/fs/jffs2/symlink.c
+++ b/fs/jffs2/symlink.c
@@ -7,7 +7,7 @@
*
* For licensing information, see the file 'LICENCE' in this directory.
*
- * $Id: symlink.c,v 1.16 2005/03/01 10:50:48 dedekind Exp $
+ * $Id: symlink.c,v 1.19 2005/11/07 11:14:42 gleixner Exp $
*
*/
@@ -21,7 +21,7 @@
static void *jffs2_follow_link(struct dentry *dentry, struct nameidata *nd);
struct inode_operations jffs2_symlink_inode_operations =
-{
+{
.readlink = generic_readlink,
.follow_link = jffs2_follow_link,
.setattr = jffs2_setattr
@@ -30,35 +30,33 @@ struct inode_operations jffs2_symlink_inode_operations =
static void *jffs2_follow_link(struct dentry *dentry, struct nameidata *nd)
{
struct jffs2_inode_info *f = JFFS2_INODE_INFO(dentry->d_inode);
- char *p = (char *)f->dents;
-
+ char *p = (char *)f->target;
+
/*
* We don't acquire the f->sem mutex here since the only data we
- * use is f->dents which in case of the symlink inode points to the
- * symlink's target path.
+ * use is f->target.
*
- * 1. If we are here the inode has already built and f->dents has
+ * 1. If we are here the inode has already built and f->target has
* to point to the target path.
- * 2. Nobody uses f->dents (if the inode is symlink's inode). The
- * exception is inode freeing function which frees f->dents. But
+ * 2. Nobody uses f->target (if the inode is symlink's inode). The
+ * exception is inode freeing function which frees f->target. But
* it can't be called while we are here and before VFS has
- * stopped using our f->dents string which we provide by means of
+ * stopped using our f->target string which we provide by means of
* nd_set_link() call.
*/
-
+
if (!p) {
printk(KERN_ERR "jffs2_follow_link(): can't find symlink taerget\n");
p = ERR_PTR(-EIO);
- } else {
- D1(printk(KERN_DEBUG "jffs2_follow_link(): target path is '%s'\n", (char *) f->dents));
}
+ D1(printk(KERN_DEBUG "jffs2_follow_link(): target path is '%s'\n", (char *) f->target));
nd_set_link(nd, p);
-
+
/*
- * We unlock the f->sem mutex but VFS will use the f->dents string. This is safe
- * since the only way that may cause f->dents to be changed is iput() operation.
- * But VFS will not use f->dents after iput() has been called.
+ * We will unlock the f->sem mutex but VFS will use the f->target string. This is safe
+ * since the only way that may cause f->target to be changed is iput() operation.
+ * But VFS will not use f->target after iput() has been called.
*/
return NULL;
}