All of lore.kernel.org
 help / color / mirror / Atom feed
From: Pavel Roskin <proski@gnu.org>
To: The development of GRUB 2 <grub-devel@gnu.org>
Subject: Re: [PATCH] fix disk->id abuse
Date: Mon, 01 Sep 2008 19:39:29 -0400	[thread overview]
Message-ID: <1220312369.21219.18.camel@dv> (raw)
In-Reply-To: <20080831133355.GC2688@thorin>

On Sun, 2008-08-31 at 15:33 +0200, Robert Millan wrote:
> On Sat, Aug 30, 2008 at 11:41:18AM -0400, Pavel Roskin wrote:
> > Quoting Robert Millan <rmh@aybabtu.com>:
> > 
> > >So this patch means to solve both issues;  makes single-disk drivers use a
> > >constant directly (since a pointer to string is meaningless and confusing),
> > >and disk/scsi.c use LUNs which (I believe) will work as unique identifiers.
> > 
> > Multi-character constants cause warnings.
> 
> Can we silence them?

I don't think so.  Besides, strings are just as good as multi-character
constants.  In fact, strings are better, as they won't clash with any
pointers, simply because strings are pointers too, and they point to
areas in memory not used by other drivers.

> > That's why I changed them  
> > to strings.  Pointers to different strings are different, and that's  
> > all we need.
> 
> For single-disk drivers, yes.  But that has two problems:
> 
>   - People tend to think the string itself has a meaning.  We could avoid
>     this by using "dummy" or so.

There is a chance that pointers to "dummy" will be consolidated by the
linker.  I believe GNU ld won't do it, but it's not impossible.

>   - People tend to think it's fine to do the same for multi-disk drivers.
>     We could avoid this by adding a short comment in each of them.

Maybe we could rename "id" to something more descriptive.  But I don't
think it's a big concern.  Somebody writing a disk driver will need to
check the meaning of the disk structure.

We could write a macro for ID comparison that would compare both the
"driver ID" (disk->dev->id) and "device ID" (disk->id).  In this case,
we can omit disk->id initialization in the drivers supporting only one
device (e.g. memdisk) and only leave it where it's indeed needed for
identifying separate devices, thus removing potentially confusing code.

-- 
Regards,
Pavel Roskin



  reply	other threads:[~2008-09-01 23:39 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-30 12:26 [PATCH] fix disk->id abuse Robert Millan
2008-08-30 15:41 ` Pavel Roskin
2008-08-31 13:33   ` Robert Millan
2008-09-01 23:39     ` Pavel Roskin [this message]
2008-09-02 13:40       ` Robert Millan
2008-09-02 13:55         ` Marco Gerards
2008-09-02 19:12           ` Christian Franke
2008-09-02 19:24             ` Robert Millan
2008-09-02 19:43               ` Christian Franke
2008-09-02 19:21           ` Robert Millan

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=1220312369.21219.18.camel@dv \
    --to=proski@gnu.org \
    --cc=grub-devel@gnu.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.