Re: regression: CD burning (k3b) went broke

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Tejun Heo
Date: Thursday, February 28, 2008 - 12:43 am

Hello, all.

Sorry about the delay.  Was buried under other stuff.  Mike, thanks a
lot for reporting and analyzing the problem; however, the patch is
slightly incorrect.  rq->data_len is rq->data_len + extra stuff for
alignment and padding, so the correct thing to do is...

  req->raw_data_len -= req->data_len - scsi_get_resid(cmd);
  req->data_len = scsi_get_resid(cmd);

which is ugly and error-prone.  In addition, this isn't the only place
where resid is set.  Other block drivers do this too.  This definitely
should be done in block layer.

With rq->data_len and rq->raw_data_len, it's impossible to translate
resid of rq->data_len to resid of rq->raw_data_len as block layer
doesn't know how much was extra data after rq->data_len is modified.
The attached patch substitutes rq->raw_data_len w/ rq->extra_len and
adds blk_rq_raw_data_len().  Things look cleaner this way and the resid
problem should be solved with this.

Can you please verify the attached patch fixes the problem?

Thanks.

-- 
tejun
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
regression: CD burning (k3b) went broke, Mike Galbraith, (Thu Feb 21, 1:42 am)
Re: regression: CD burning (k3b) went broke, Jens Axboe, (Fri Feb 22, 12:32 am)
Re: regression: CD burning (k3b) went broke, Mike Galbraith, (Sat Feb 23, 12:42 am)
Re: regression: CD burning (k3b) went broke, Mike Galbraith, (Sun Feb 24, 12:54 am)
Re: regression: CD burning (k3b) went broke, Mike Galbraith, (Tue Feb 26, 2:48 am)
Re: regression: CD burning (k3b) went broke, Mike Galbraith, (Tue Feb 26, 6:36 am)
Re: regression: CD burning (k3b) went broke, Andrew Morton, (Tue Feb 26, 4:08 pm)
Re: regression: CD burning (k3b) went broke, Jeff Garzik, (Tue Feb 26, 5:46 pm)
Re: regression: CD burning (k3b) went broke, Mike Galbraith, (Tue Feb 26, 7:24 pm)
Re: regression: CD burning (k3b) went broke, Mike Galbraith, (Tue Feb 26, 7:58 pm)
Re: regression: CD burning (k3b) went broke, Mike Galbraith, (Tue Feb 26, 11:00 pm)
Re: regression: CD burning (k3b) went broke, Mike Galbraith, (Wed Feb 27, 12:07 am)
Re: regression: CD burning (k3b) went broke, Tejun Heo, (Thu Feb 28, 12:43 am)
Re: regression: CD burning (k3b) went broke, Mike Galbraith, (Thu Feb 28, 1:20 am)
[PATCH] block: fix residual byte count handling, Tejun Heo, (Thu Feb 28, 1:50 am)
Re: [PATCH] block: fix residual byte count handling, Jens Axboe, (Thu Feb 28, 8:35 am)
Re: [PATCH] block: fix residual byte count handling, Tejun Heo, (Thu Feb 28, 8:46 am)
Re: [PATCH] block: fix residual byte count handling, James Bottomley, (Fri Feb 29, 9:47 am)
Re: [PATCH] block: fix residual byte count handling, Jens Axboe, (Fri Feb 29, 1:11 pm)
Re: [PATCH] block: fix residual byte count handling, Tejun Heo, (Fri Feb 29, 11:17 pm)
Re: [PATCH] block: fix residual byte count handling, James Bottomley, (Sat Mar 1, 8:19 am)
Re: [PATCH] block: fix residual byte count handling, FUJITA Tomonori, (Sun Mar 2, 7:52 am)
Re: [PATCH] block: fix residual byte count handling, Mike Christie, (Sun Mar 2, 11:46 am)
Re: [PATCH] block: fix residual byte count handling, Mike Galbraith, (Sun Mar 2, 8:27 pm)
Re: [PATCH] block: fix residual byte count handling, FUJITA Tomonori, (Sun Mar 2, 8:59 pm)
[PATCH 1/2] block: fix residual byte count handling, Tejun Heo, (Sun Mar 2, 11:08 pm)
[PATCH] block: separate out padding from alignment, Tejun Heo, (Sun Mar 2, 11:10 pm)
Re: [PATCH] block: fix residual byte count handling, FUJITA Tomonori, (Mon Mar 3, 1:26 am)
Re: [PATCH] block: fix residual byte count handling, FUJITA Tomonori, (Mon Mar 3, 5:17 am)
Re: [PATCH] block: fix residual byte count handling, FUJITA Tomonori, (Mon Mar 3, 6:50 am)
Re: [PATCH] block: fix residual byte count handling, FUJITA Tomonori, (Mon Mar 3, 7:01 am)
Re: [PATCH] block: fix residual byte count handling, FUJITA Tomonori, (Mon Mar 3, 7:52 am)
Re: [PATCH] block: separate out padding from alignment, James Bottomley, (Mon Mar 3, 11:27 am)
Re: [PATCH] block: fix residual byte count handling, FUJITA Tomonori, (Mon Mar 3, 7:11 pm)
Re: [PATCH] block: fix residual byte count handling, FUJITA Tomonori, (Tue Mar 4, 1:53 am)
Re: [PATCH] block: fix residual byte count handling, Jens Axboe, (Tue Mar 4, 1:59 am)
Re: [PATCH] block: fix residual byte count handling, FUJITA Tomonori, (Tue Mar 4, 2:06 am)
Re: [PATCH] block: fix residual byte count handling, FUJITA Tomonori, (Tue Mar 4, 2:22 am)
Re: [PATCH] block: fix residual byte count handling, Jens Axboe, (Tue Mar 4, 2:35 am)
Re: [PATCH] block: fix residual byte count handling, Jens Axboe, (Tue Mar 4, 2:46 am)
Re: [PATCH] block: fix residual byte count handling, Mike Galbraith, (Tue Mar 4, 5:37 am)
Re: [PATCH] block: fix residual byte count handling, Jens Axboe, (Tue Mar 4, 5:39 am)
Re: [PATCH] block: fix residual byte count handling, Mike Galbraith, (Tue Mar 4, 5:43 am)
Re: [PATCH] block: fix residual byte count handling, Mike Galbraith, (Tue Mar 4, 5:45 am)
Re: [PATCH] block: fix residual byte count handling, Mike Galbraith, (Tue Mar 4, 5:58 am)
Re: [PATCH] block: fix residual byte count handling, Jens Axboe, (Tue Mar 4, 6:03 am)
Re: [PATCH] block: fix residual byte count handling, FUJITA Tomonori, (Tue Mar 4, 6:30 am)
Re: [PATCH] block: fix residual byte count handling, Mike Galbraith, (Tue Mar 4, 7:25 am)
Re: [PATCH] block: fix residual byte count handling, James Bottomley, (Tue Mar 4, 9:04 am)
Re: [PATCH] block: fix residual byte count handling, Tejun Heo, (Tue Mar 4, 10:59 am)
Re: [PATCH] block: fix residual byte count handling, Jens Axboe, (Tue Mar 4, 11:17 am)
Re: [PATCH] block: fix residual byte count handling, Boaz Harrosh, (Tue Mar 4, 11:26 am)
Re: [PATCH] block: fix residual byte count handling, James Bottomley, (Tue Mar 4, 11:27 am)
Re: [PATCH] block: fix residual byte count handling, Jens Axboe, (Tue Mar 4, 11:29 am)
Re: [PATCH] block: fix residual byte count handling, Tejun Heo, (Tue Mar 4, 11:33 am)
Re: [PATCH] block: fix residual byte count handling, Mike Galbraith, (Tue Mar 4, 11:35 am)
Re: [PATCH] block: fix residual byte count handling, Tejun Heo, (Tue Mar 4, 11:35 am)
Re: [PATCH] block: fix residual byte count handling, Mike Galbraith, (Tue Mar 4, 11:45 am)
Re: [PATCH] block: fix residual byte count handling, Jens Axboe, (Tue Mar 4, 11:45 am)
Re: [PATCH] block: fix residual byte count handling, Jens Axboe, (Tue Mar 4, 11:46 am)
Re: [PATCH] block: fix residual byte count handling, Mike Galbraith, (Tue Mar 4, 11:49 am)
Re: [PATCH] block: fix residual byte count handling, Jens Axboe, (Tue Mar 4, 11:54 am)
Re: [PATCH] block: fix residual byte count handling, FUJITA Tomonori, (Tue Mar 4, 12:19 pm)
Re: [PATCH] block: fix residual byte count handling, Jens Axboe, (Tue Mar 4, 12:25 pm)
Re: [PATCH] block: fix residual byte count handling, Mike Galbraith, (Tue Mar 4, 12:26 pm)
Re: [PATCH] block: fix residual byte count handling, Jens Axboe, (Tue Mar 4, 12:28 pm)
Re: [PATCH] block: fix residual byte count handling, Mike Galbraith, (Tue Mar 4, 12:33 pm)
Re: [PATCH] block: fix residual byte count handling, Jens Axboe, (Tue Mar 4, 12:34 pm)
Re: [PATCH] block: fix residual byte count handling, Kiyoshi Ueda, (Tue Mar 4, 12:42 pm)
Re: [PATCH] block: fix residual byte count handling, FUJITA Tomonori, (Tue Mar 4, 5:26 pm)
Re: [PATCH] block: fix residual byte count handling, FUJITA Tomonori, (Wed Mar 5, 9:56 pm)
Re: [PATCH] block: fix residual byte count handling, Tejun Heo, (Wed Mar 5, 10:02 pm)