lkml.org 
[lkml]   [2011]   [Nov]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[038/101] [SCSI] libiscsi_tcp: fix LLD data allocation
    2.6.33-longterm review patch.  If anyone has any objections, please let us know.

    ------------------

    From: Mike Christie <michaelc@cs.wisc.edu>

    commit 74dcd0ec735ba9c5bef254b2f6e53068cf3f9ff0 upstream.

    Have libiscsi_tcp have upper layers allocate the LLD data
    along with the iscsi_cls_conn struct, so it is refcounted.

    Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
    Signed-off-by: James Bottomley <JBottomley@Parallels.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

    ---
    drivers/scsi/libiscsi_tcp.c | 14 +++-----------
    1 file changed, 3 insertions(+), 11 deletions(-)

    --- a/drivers/scsi/libiscsi_tcp.c
    +++ b/drivers/scsi/libiscsi_tcp.c
    @@ -1072,7 +1072,8 @@ iscsi_tcp_conn_setup(struct iscsi_cls_se
    struct iscsi_cls_conn *cls_conn;
    struct iscsi_tcp_conn *tcp_conn;

    - cls_conn = iscsi_conn_setup(cls_session, sizeof(*tcp_conn), conn_idx);
    + cls_conn = iscsi_conn_setup(cls_session,
    + sizeof(*tcp_conn) + dd_data_size, conn_idx);
    if (!cls_conn)
    return NULL;
    conn = cls_conn->dd_data;
    @@ -1084,22 +1085,13 @@ iscsi_tcp_conn_setup(struct iscsi_cls_se

    tcp_conn = conn->dd_data;
    tcp_conn->iscsi_conn = conn;
    -
    - tcp_conn->dd_data = kzalloc(dd_data_size, GFP_KERNEL);
    - if (!tcp_conn->dd_data) {
    - iscsi_conn_teardown(cls_conn);
    - return NULL;
    - }
    + tcp_conn->dd_data = conn->dd_data + sizeof(*tcp_conn);
    return cls_conn;
    }
    EXPORT_SYMBOL_GPL(iscsi_tcp_conn_setup);

    void iscsi_tcp_conn_teardown(struct iscsi_cls_conn *cls_conn)
    {
    - struct iscsi_conn *conn = cls_conn->dd_data;
    - struct iscsi_tcp_conn *tcp_conn = conn->dd_data;
    -
    - kfree(tcp_conn->dd_data);
    iscsi_conn_teardown(cls_conn);
    }
    EXPORT_SYMBOL_GPL(iscsi_tcp_conn_teardown);



    \
     
     \ /
      Last update: 2011-11-03 02:53    [W:2.692 / U:0.104 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site