lkml.org 
[lkml]   [2008]   [Jul]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 16/17] configfs: call drop_link() to cleanup after create_link() failure
    Date
    From: Louis Rilling <Louis.Rilling@kerlabs.com>

    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>
    ---
    fs/configfs/symlink.c | 6 +++++-
    1 files changed, 5 insertions(+), 1 deletions(-)

    diff --git a/fs/configfs/symlink.c b/fs/configfs/symlink.c
    index faeb441..0004d18 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);
    --
    1.5.4.1


    \
     
     \ /
      Last update: 2008-07-15 00:11    [W:0.025 / U:29.928 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site