All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kevin Wolf <kwolf@redhat.com>
To: Jes Sorensen <Jes.Sorensen@redhat.com>
Cc: Juan Quintela <quintela@redhat.com>,
	Stefan Hajnoczi <stefanha@gmail.com>,
	qemu list <qemu-devel@nongnu.org>,
	Markus Armbruster <armbru@redhat.com>,
	Amit Shah <amit.shah@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v4 5/5] atapi: GESN: implement 'media'	subcommand
Date: Tue, 12 Apr 2011 17:13:34 +0200	[thread overview]
Message-ID: <4DA46C1E.1000105@redhat.com> (raw)
In-Reply-To: <4DA469D1.1010300@redhat.com>

Am 12.04.2011 17:03, schrieb Jes Sorensen:
> On 04/12/11 16:09, Amit Shah wrote:
>> diff --git a/hw/ide/core.c b/hw/ide/core.c
>> index dafc049..209d8e6 100644
>> --- a/hw/ide/core.c
>> +++ b/hw/ide/core.c
>> @@ -1084,6 +1084,49 @@ static int ide_dvd_read_structure(IDEState *s, int format,
>>      }
>>  }
>>  
>> +static unsigned int event_status_media(IDEState *s,
>> +                                       uint8_t *buf,
>> +                                       unsigned int max_len)
>> +{
>> +    enum media_event_code {
>> +        no_change = 0,       /* Status unchanged */
>> +        eject_requested,     /* received a request from user to eject */
>> +        new_media,           /* new media inserted and ready for access */
>> +        media_removal,       /* only for media changers */
>> +        media_changed,       /* only for media changers */
>> +        bg_format_completed, /* MRW or DVD+RW b/g format completed */
>> +        bg_format_restarted, /* MRW or DVD+RW b/g format restarted */
>> +    };
>> +    enum media_status {
>> +        tray_open = 1,
>> +        media_present = 2,
>> +    };
> 
> Would be nice if you used upper-case with the enums since they are
> effectively just defines, to avoid confusing them with variables.
> 
>> +    uint8_t event_code, media_status;
>> +
>> +    media_status = 0;
>> +    if (s->bs->tray_open) {
>> +        media_status = tray_open;
>> +    } else if (bdrv_is_inserted(s->bs)) {
>> +        media_status = media_present;
>> +    }
>> +
>> +    /* Event notification descriptor */
>> +    event_code = no_change;
>> +    if (media_status != tray_open && s->events.new_media) {
>> +        event_code = new_media;
>> +        s->events.new_media = false;
>> +    }
>> +
>> +    buf[4] = event_code;
>> +    buf[5] = media_status;
>> +
>> +    /* These fields are reserved, just clear them. */
>> +    buf[6] = 0;
>> +    buf[7] = 0;
>> +
>> +    return 8; /* We wrote to 4 extra bytes from the header */
> 
> Shouldn't you verify that you don't exceed max_len in this?

Not necessary (the buffer is always 2048 bytes), but it looks like the
max_len parameter is unused now, so it could be removed.

Kevin

  reply	other threads:[~2011-04-12 15:11 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-04-12 14:09 [Qemu-devel] [PATCH v4 0/5] atapi: Implement 'media' subcommand for GESN Amit Shah
2011-04-12 14:09 ` [Qemu-devel] [PATCH v4 1/5] atapi: Allow GET_EVENT_STATUS_NOTIFICATION after media change Amit Shah
2011-04-12 14:09 ` [Qemu-devel] [PATCH v4 2/5] atapi: Move GET_EVENT_STATUS_NOTIFICATION command handling to its own function Amit Shah
2011-04-12 14:09 ` [Qemu-devel] [PATCH v4 3/5] atapi: GESN: Use structs for commonly-used field types Amit Shah
2011-04-12 14:09 ` [Qemu-devel] [PATCH v4 4/5] atapi: GESN: Standardise event response handling for future additions Amit Shah
2011-04-12 14:09 ` [Qemu-devel] [PATCH v4 5/5] atapi: GESN: implement 'media' subcommand Amit Shah
2011-04-12 14:54   ` Kevin Wolf
2011-04-12 15:03     ` Amit Shah
2011-04-12 15:05       ` Amit Shah
2011-04-12 15:11       ` Kevin Wolf
2011-04-12 15:16         ` Amit Shah
2011-04-12 15:03   ` Jes Sorensen
2011-04-12 15:13     ` Kevin Wolf [this message]
2011-04-12 15:13       ` Jes Sorensen

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=4DA46C1E.1000105@redhat.com \
    --to=kwolf@redhat.com \
    --cc=Jes.Sorensen@redhat.com \
    --cc=amit.shah@redhat.com \
    --cc=armbru@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=quintela@redhat.com \
    --cc=stefanha@gmail.com \
    /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.