lkml.org 
[lkml]   [2007]   [Oct]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: [PATCH 04/10] [SG] Update drivers to use sg helpers
    On Mon, Oct 22, 2007 at 08:10:58PM +0200, Jens Axboe wrote:
    > Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
    > ---

    You forgot s390's zfcp driver. But unfortunately the trivial fix below
    doesn't work. No more I/O possible. Swen and/or Christof could you
    provide a correct fix for this please? Thanks!

    ---
    drivers/s390/scsi/zfcp_def.h | 4 ++--
    drivers/s390/scsi/zfcp_erp.c | 4 ++--
    2 files changed, 4 insertions(+), 4 deletions(-)

    Index: linux-2.6/drivers/s390/scsi/zfcp_def.h
    ===================================================================
    --- linux-2.6.orig/drivers/s390/scsi/zfcp_def.h
    +++ linux-2.6/drivers/s390/scsi/zfcp_def.h
    @@ -63,7 +63,7 @@
    static inline void *
    zfcp_sg_to_address(struct scatterlist *list)
    {
    - return (void *) (page_address(list->page) + list->offset);
    + return (void *) (page_address(sg_page(list) + list->offset));
    }

    /**
    @@ -74,7 +74,7 @@ zfcp_sg_to_address(struct scatterlist *l
    static inline void
    zfcp_address_to_sg(void *address, struct scatterlist *list)
    {
    - list->page = virt_to_page(address);
    + sg_set_page(list, virt_to_page(address));
    list->offset = ((unsigned long) address) & (PAGE_SIZE - 1);
    }

    Index: linux-2.6/drivers/s390/scsi/zfcp_erp.c
    ===================================================================
    --- linux-2.6.orig/drivers/s390/scsi/zfcp_erp.c
    +++ linux-2.6/drivers/s390/scsi/zfcp_erp.c
    @@ -363,7 +363,7 @@ zfcp_erp_adisc(struct zfcp_port *port)
    retval = -ENOMEM;
    freemem:
    if (address != NULL)
    - __free_pages(send_els->req->page, 0);
    + __free_pages(sg_page(send_els->req), 0);
    if (send_els != NULL) {
    kfree(send_els->req);
    kfree(send_els->resp);
    @@ -437,7 +437,7 @@ zfcp_erp_adisc_handler(unsigned long dat

    out:
    zfcp_port_put(port);
    - __free_pages(send_els->req->page, 0);
    + __free_pages(sg_page(send_els->req), 0);
    kfree(send_els->req);
    kfree(send_els->resp);
    kfree(send_els);
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/
    \
     
     \ /
      Last update: 2007-10-23 08:31    [W:0.026 / U:95.792 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site