]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - fs/configfs/symlink.c
/proc/PID/syscall
[linux-2.6-omap-h63xx.git] / fs / configfs / symlink.c
index faeb4417a10df18ec440a2aea2bba0e801fec506..0004d18c40ac36d0cd730bd01d0d6ac070d9f12d 100644 (file)
@@ -140,8 +140,12 @@ int configfs_symlink(struct inode *dir, struct dentry *dentry, const char *symna
                goto out_put;
 
        ret = type->ct_item_ops->allow_link(parent_item, target_item);
-       if (!ret)
+       if (!ret) {
                ret = create_link(parent_item, target_item, dentry);
+               if (ret && type->ct_item_ops->drop_link)
+                       type->ct_item_ops->drop_link(parent_item,
+                                                    target_item);
+       }
 
        config_item_put(target_item);
        path_put(&nd.path);