From: "Kenneth D. Merry" <ken@kdm.org>
To: Kai Germaschewski <kai@tp1.ruhr-uni-bochum.de>
Cc: linux-kernel@vger.kernel.org, viro@math.psu.edu
Subject: Re: atari partitioning problem?
Date: Mon, 13 May 2002 18:27:52 -0600 [thread overview]
Message-ID: <20020513182752.A1665@panzer.kdm.org> (raw)
In-Reply-To: <20020513172300.A995@panzer.kdm.org> <Pine.LNX.4.44.0205131922540.19498-100000@chaos.physics.uiowa.edu>
On Mon, May 13, 2002 at 19:25:17 -0500, Kai Germaschewski wrote:
> On Mon, 13 May 2002, Kenneth D. Merry wrote:
>
> > [ Al Viro CCed, since from the changelog for 2.4.11, it looks like he may
> > have submitted the patch in question. ]
> >
> > I was looking through the atari partitioning code (fs/partitions/atari.c)
> > in 2.4.18 (from what I can see in 2.4.19-pre8, it hasn't changed) and I
> > noticed something (starting at about line 144) that may be a problem:
> >
> > for (; pi < &rs->icdpart[8] && minor < m_lim; minor++, p
> > i++) {
> > /* accept only GEM,BGM,RAW,LNX,SWP partitions */
> > if (!((pi->flg & 1) && OK_id(pi->id)))
> > continue;
> > part_fmt = 2;
> > add_gd_partition (hd, minor,
> > be32_to_cpu(pi->st),
> > be32_to_cpu(pi->siz));
> > }
> > printk(" >");
> >
> > This code changed in 2.4.11, and was previously:
> >
> > for (; pi < &rs->icdpart[8] && minor < m_lim; minor++, pi++)
> > {
> > /* accept only GEM,BGM,RAW,LNX,SWP partitions */
> > if (pi->flg & 1 &&
> > (memcmp (pi->id, "GEM", 3) == 0 ||
> > memcmp (pi->id, "BGM", 3) == 0 ||
> > memcmp (pi->id, "LNX", 3) == 0 ||
> > memcmp (pi->id, "SWP", 3) == 0 ||
> > memcmp (pi->id, "RAW", 3) == 0) )
> > {
> > part_fmt = 2;
> > add_gd_partition (hd, minor, be32_to_cpu(pi->st),
> > be32_to_cpu(pi->siz));
> > }
> > }
> > printk(" >");
> >
> > Note that the test was reversed, but not fully. You want only active
> > partitions of the specified types to be added, but with the code as it is
> > now, only partitions that are active and *not* of the correct type will get
> > added.
>
> No, the change is correct.
>
> Note that the ! in the first snippet is in front of the whole expression,
> and it's pretty obvious that the reversed test for (a && b) is !(a && b).
>
> The latter is equivalent to (!a || !b), which seems to be what you're
> thinking, but you didn't get it right and put !(a || !b) which is wrong.
Oops! You're right, thanks for pointing that out. :)
Ken
--
Kenneth Merry
ken@kdm.org
prev parent reply other threads:[~2002-05-14 0:29 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-05-13 23:23 Kenneth D. Merry
2002-05-14 0:25 ` Kai Germaschewski
2002-05-14 0:27 ` Kenneth D. Merry [this message]
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=20020513182752.A1665@panzer.kdm.org \
--to=ken@kdm.org \
--cc=kai@tp1.ruhr-uni-bochum.de \
--cc=linux-kernel@vger.kernel.org \
--cc=viro@math.psu.edu \
/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®