X-Git-Url: http://pilppa.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=fs%2Fconfigfs%2Fsymlink.c;h=0004d18c40ac36d0cd730bd01d0d6ac070d9f12d;hb=ebcb67341fee34061430f3367f2e507e52ee051b;hp=faeb4417a10df18ec440a2aea2bba0e801fec506;hpb=5301a77da2da1e4c22573e0e8d394a653b8ad9f9;p=linux-2.6-omap-h63xx.git diff --git a/fs/configfs/symlink.c b/fs/configfs/symlink.c index faeb4417a10..0004d18c40a 100644 --- a/fs/configfs/symlink.c +++ b/fs/configfs/symlink.c @@ -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);