mirror of https://gitee.com/openkylin/linux.git
configfs: call drop_link() to cleanup after create_link() failure
When allow_link() succeeds but create_link() fails, the subsystem is not informed of the failure. This patch fixes this by calling drop_link() on create_link() failures. Signed-off-by: Louis Rilling <Louis.Rilling@kerlabs.com> Signed-off-by: Joel Becker <joel.becker@oracle.com>
This commit is contained in:
parent
11c3b79218
commit
e752065175
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue