mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Bartlomiej Zolnierkiewicz <B.Zolnierkiewicz@elka.pw.edu.pl>
To: Pascal Schmidt <der.eremit@email.de>, Jens Axboe <axboe@suse.de>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [PATCH] make ide-cd handle non-2kB sector sizes
Date: Fri, 23 Jan 2004 16:24:14 +0100	[thread overview]
Message-ID: <200401231624.14687.bzolnier@elka.pw.edu.pl> (raw)
In-Reply-To: <Pine.LNX.4.44.0401231456450.944-100000@neptune.local>

On Friday 23 of January 2004 15:01, Pascal Schmidt wrote:
> On Fri, 23 Jan 2004, Jens Axboe wrote:
> > It's a good first start, thanks for doing this. You really want to be
> > storing this info in the queue, though, there's a hardsector size just
> > for this very purpose. That way other layers know about the hardware
> > sector size as well, not just ide-cd. And you get other things right for
> > free as well, for instance ide_cdrom_prep_fs() needs a correct hardware
> > block size or it will build wrong cdbs.
>
> Hmmm. I'm doing
>
> 	blk_queue_hardsect_size(drive->queue, sectors_per_frame << 9);
>
> inside of cdrom_read_toc, is that not enough? Or do you mean that
> I should only store it in the queue and not also in cdrom_state_flags?

I think Jens means storing it only in q->hardsect_size.
This way you can just use rq->q->hardsect_size << 9 to get sectors_per_frame.

> > Hmm, you made it a bit more confusing. It should read that writes must
> > be hardware sector aligned. Something ala
> >
> > 	if ((rq->nr_sectors << 9) & (sector_size - 1) ||
> > 	    (rq->sector & ((sector_size >> 9) - 1)))
> > 		problem
>
> I'll change that.

If you do that please remember to revert this chunk
(except comment fix of course):

@@ -1969,9 +1959,13 @@ static ide_startstop_t cdrom_start_write
 
        info->nsectors_buffered = 0;
 
-        /* use dma, if possible. we don't need to check more, since we
-        * know that the transfer is always (at least!) 2KB aligned */
-       info->dma = drive->using_dma ? 1 : 0;
+       /* use dma, if possible */
+       if (drive->using_dma && (rq->sector % sectors_per_frame == 0) &&
+                               (rq->nr_sectors % sectors_per_frame == 0))
+               info->dma = 1;
+       else
+               info->dma = 0;
+

> > > -	set_capacity(drive->disk, toc->capacity * SECTORS_PER_FRAME);
> > > +	set_capacity(drive->disk, toc->capacity * sectors_per_frame);
> > > +
> > > +	if (CDROM_STATE_FLAGS(drive)->sectors_per_frame != sectors_per_frame)
> > > +		printk(KERN_INFO "%s: new hardware sector size %lu\n",
> > > +			drive->name, sectors_per_frame << 9);
> >
> > if you feel you must print this, then do it in the same line as the
> > other cdrom info printed.
>
> This happens on disc change, no other info is normally printed. But this
> printk can probably go away, I just put it there for debugging.

Good. 

Cheers,
--bart


  reply	other threads:[~2004-01-23 15:20 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-01-22 19:23 Pascal Schmidt
2004-01-23  9:35 ` Jens Axboe
2004-01-23 14:01   ` Pascal Schmidt
2004-01-23 15:24     ` Bartlomiej Zolnierkiewicz [this message]
2004-01-23 16:18       ` Jens Axboe
2004-01-23 17:37         ` Pascal Schmidt
2004-01-23 18:50         ` Pascal Schmidt
2004-01-23 23:29           ` Pascal Schmidt
2004-01-23 23:50             ` Bartlomiej Zolnierkiewicz
2004-01-24  0:06               ` Pascal Schmidt
2004-01-24  0:57               ` Pascal Schmidt
2004-01-23 17:36       ` Pascal Schmidt
2004-01-23 15:12 ` Bartlomiej Zolnierkiewicz
2004-01-23 18:58 ` Maciej W. Rozycki
2004-01-23 19:04   ` Pascal Schmidt
2004-01-23 19:17     ` Maciej W. Rozycki
2004-01-23 19:56       ` Pascal Schmidt
2004-01-23 22:10         ` Maciej W. Rozycki

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=200401231624.14687.bzolnier@elka.pw.edu.pl \
    --to=b.zolnierkiewicz@elka.pw.edu.pl \
    --cc=axboe@suse.de \
    --cc=der.eremit@email.de \
    --cc=linux-kernel@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®