Messages in this thread | | | Date | Mon, 13 May 2002 19:25:17 -0500 (CDT) | From | Kai Germaschewski <> | Subject | Re: atari partitioning problem? |
| |
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.
--Kai
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |