All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kevin Wolf <kwolf@redhat.com>
To: Bique Alexandre <alexandre.bique@citrix.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH] ATAPI pass through
Date: Tue, 30 Jun 2009 18:26:31 +0200	[thread overview]
Message-ID: <4A4A3CB7.8090309@redhat.com> (raw)
In-Reply-To: <200906301634.53197.alexandre.bique@citrix.com>

Bique Alexandre schrieb:
> Hi,
> 
> This patch implements ATAPI pass through on Linux by using bsg device.
> 
> What works:
>  - read CD
>  - burn CD with TAO
>  - blank CD
>  - play audio CD
>  - play DVD movie
> 
> What doesn't work:
>  - burn CD with SAO
> 
> DVD blanking and burning needs some testing.

First of all, I would suggest splitting this patch up. You seem to have
included some pieces of unrelated changes like adding comments, changing
constants (Are these fixes? Definitely need a good patch description!),
moving code (block-raw-posix.h) and probably some more.

> Things which can be done better:
>  - I exported the data structure BDRVRawState from raw-posix.c in raw-posix.h, 
> because I use the file descriptor of the bsg device to poll, write and read. 
> Maybe there is a better solution, but I didn't find what I was looking for in 
> block.h.

Don't do that. If there is something missing in the block interface, we
need to add it there and properly wire things up. Just poking in block
driver internals is clearly the wrong approach.

>From what I see the only thing you are doing with it is read/write. Why
can't you use the normal block layer functions for it?

>  - file splitting: everything is in ide.c, even my atapi pass through code in 
> the beginning. I didn't want to put everything in this file so I moved my code 
> in atapi-pt.c but I did #include "atapi-pt.c" in ide.c so it's still in the 
> spirit of what has been done before: all in ide.c. I'd like to split correctly 
> this code but I will have to make some static functions public, and if I move 
> atapi-pt out from ide.c why not atapi out from ide.c and maybe some other 
> stuff ? That's why I did nothing yet. What would you prefer ?

I guess proper splitting wouldn't hurt anyway. ide.c looks way too large.

> 
> Please, can you comment on this patch ? Thank you very much.

Another detail I saw is ATAPI_PT_SEND_PACKET. I mean, isn't this a bit
too big for a macro? No chance to make this nicer?

I haven't really looked at the functionality. There are most probably
people around who can do a better review of it.

Kevin

  reply	other threads:[~2009-06-30 16:27 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-30 15:34 [Qemu-devel] [PATCH] ATAPI pass through Bique Alexandre
2009-06-30 16:26 ` Kevin Wolf [this message]
2009-06-30 18:10   ` Bique Alexandre
2009-07-01  6:57   ` Alexander Graf
2009-07-01  8:44     ` Christoph Hellwig
2009-07-01  9:36     ` Paul Brook
2009-07-01 11:29       ` Christoph Hellwig
2009-06-30 17:01 ` Christoph Hellwig
2009-06-30 17:55   ` Bique Alexandre
2009-07-01  8:43     ` Christoph Hellwig

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=4A4A3CB7.8090309@redhat.com \
    --to=kwolf@redhat.com \
    --cc=alexandre.bique@citrix.com \
    --cc=qemu-devel@nongnu.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.