All of lore.kernel.org
 help / color / mirror / Atom feed
From: James Bottomley <James.Bottomley@HansenPartnership.com>
To: bugme-daemon@bugzilla.kernel.org
Cc: linux-scsi@vger.kernel.org
Subject: Re: [Bug 12207] block reads/writes > 122880 bytes to USB tape drive gives EBUSY
Date: Tue, 23 Dec 2008 09:33:07 -0600	[thread overview]
Message-ID: <1230046387.3461.10.camel@localhost.localdomain> (raw)
In-Reply-To: <1230044124.3461.1.camel@localhost.localdomain>

On Tue, 2008-12-23 at 08:55 -0600, James Bottomley wrote:
> > ------- Comment #6 from stern@rowland.harvard.edu  2008-12-23 05:59 -------
> > You can change the max_sectors setting through sysfs.  However the last time I
> > looked, the block layer limited max_sectors to 512 KB or something on that
> > order, so you can't get too much improvement.
> > 
> > Why is a limit of 120 KB unreasonably small?  All it means is that you have to
> > use more system calls to transfer the same amount of data.  Is anything wrong
> > with that?
> 
> Tapes need large block sizes.
> 
> We can accommodate both:  Just check for TYPE_TAPE in the
> slave_configure() and bump the limit back up.  Any USB tape that doesn't
> do large block transfers will be truly broken.

Following up on this, does this fix it?

I notice that Linus was the one who actually committed this change in
2.6.0-test10, so it's been in the entire 2.6 release.

James

---

diff --git a/drivers/usb/storage/scsiglue.c b/drivers/usb/storage/scsiglue.c
index 09779f6..ae4b01c 100644
--- a/drivers/usb/storage/scsiglue.c
+++ b/drivers/usb/storage/scsiglue.c
@@ -127,7 +127,12 @@ static int slave_configure(struct scsi_device *sdev)
 		if (sdev->request_queue->max_sectors > max_sectors)
 			blk_queue_max_sectors(sdev->request_queue,
 					      max_sectors);
-	}
+	} else if (sdev->type == TYPE_TAPE)
+		/* Tapes need much higher max sector transfers, so just
+		 * raise it to the maximum possible and let the queue
+		 * segment size sort out the real limit
+		 */
+		blk_queue_max_sectors(sdev->request_queue, 0xFFFF);
 
 	/* We can't put these settings in slave_alloc() because that gets
 	 * called before the device type is known.  Consequently these



  reply	other threads:[~2008-12-23 15:33 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-12 21:41 [Bug 12207] New: block reads/writes > 122880 bytes to USB tape drive gives EBUSY bugme-daemon
2008-12-22 17:44 ` [Bug 12207] " bugme-daemon
2008-12-22 18:08 ` bugme-daemon
2008-12-22 18:09 ` bugme-daemon
2008-12-22 18:09 ` bugme-daemon
2008-12-23  7:30 ` bugme-daemon
2008-12-23 12:31   ` Oliver Neukum
2008-12-23 12:32 ` bugme-daemon
2008-12-23 13:56 ` bugme-daemon
2008-12-23 13:59 ` bugme-daemon
2008-12-23 14:47   ` Boaz Harrosh
2008-12-23 14:55   ` James Bottomley
2008-12-23 15:33     ` James Bottomley [this message]
2008-12-23 14:42 ` bugme-daemon
2008-12-23 14:46 ` bugme-daemon
2008-12-23 14:48 ` bugme-daemon
2008-12-23 14:54 ` bugme-daemon
2008-12-23 14:56 ` bugme-daemon
2008-12-23 15:33 ` bugme-daemon
2008-12-23 16:18 ` bugme-daemon
2008-12-23 16:30   ` Kai Makisara
2008-12-23 16:42     ` James Bottomley
2008-12-23 16:30 ` bugme-daemon
2008-12-23 16:42 ` bugme-daemon
2008-12-24  2:56 ` bugme-daemon
2008-12-24  4:19   ` FUJITA Tomonori
2008-12-24  4:19 ` bugme-daemon
2008-12-30 19:39 ` bugme-daemon
2009-02-05 21:12 ` bugme-daemon
2009-02-05 21:48 ` bugme-daemon
2009-03-09 20:48 ` bugme-daemon
2009-03-09 20:55 ` bugme-daemon
2009-03-22 20:52 ` bugme-daemon
2009-03-26 19:35 ` bugzilla-daemon
2009-04-07 10:43 ` bugzilla-daemon
2009-04-09 21:08 ` bugzilla-daemon
2009-04-10  9:48 ` bugzilla-daemon
2009-04-10 15:19 ` bugzilla-daemon
2009-04-10 19:29 ` bugzilla-daemon
2009-04-11  2:38 ` bugzilla-daemon
2009-04-11  6:12 ` bugzilla-daemon
2009-04-11 14:26 ` bugzilla-daemon
2009-04-15  9:55 ` bugzilla-daemon
2009-04-15 15:42 ` bugzilla-daemon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1230046387.3461.10.camel@localhost.localdomain \
    --to=james.bottomley@hansenpartnership.com \
    --cc=bugme-daemon@bugzilla.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.