Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8619b86f20588c020b280e6f67a9b8712b1ee38a
Commit:     8619b86f20588c020b280e6f67a9b8712b1ee38a
Parent:     e8234483e7545b3cd298b0265fcee2e4a14c9f51
Author:     Jeff Dike <[EMAIL PROTECTED]>
AuthorDate: Sun Jul 15 23:38:58 2007 -0700
Committer:  Linus Torvalds <[EMAIL PROTECTED]>
CommitDate: Mon Jul 16 09:05:39 2007 -0700

    uml: limit request size on COWed devices
    
    COWed devices can't handle more than 32 (64 on x86_64) sectors in one 
request
    due to the size of the bitmap being carried around in the io_thread_req.
    
    Enforce that by telling the block layer not to put too many sectors in
    requests to COWed devices.
    
    Signed-off-by: Jeff Dike <[EMAIL PROTECTED]>
    Cc: Paolo 'Blaisorblade' Giarrusso <[EMAIL PROTECTED]>
    Cc: <[EMAIL PROTECTED]>
    Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
    Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]>
---
 arch/um/drivers/ubd_kern.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/arch/um/drivers/ubd_kern.c b/arch/um/drivers/ubd_kern.c
index 0947f2e..fc27f6c 100644
--- a/arch/um/drivers/ubd_kern.c
+++ b/arch/um/drivers/ubd_kern.c
@@ -712,6 +712,8 @@ static int ubd_add(int n, char **error_out)
        ubd_dev->queue->queuedata = ubd_dev;
 
        blk_queue_max_hw_segments(ubd_dev->queue, MAX_SG);
+       if(ubd_dev->cow.file != NULL)
+               blk_queue_max_sectors(ubd_dev->queue, 8 * sizeof(long));
        err = ubd_disk_register(MAJOR_NR, ubd_dev->size, n, &ubd_gendisk[n]);
        if(err){
                *error_out = "Failed to register device";
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to