kernel oops in cfi_cmdset_0002.c:do_write_one()...
David Woodhouse
dwmw2 at infradead.org
Fri Apr 9 08:42:50 EDT 2004
On Thu, 2004-04-08 at 16:37 +0200, Jörn Engel wrote:
> Don't blame him, this is the result of using CVS, which is designed
> around the assumption of a single central repository.
Well, switching from CVS wouldn't necessarily make any difference. If I
were using something like BitKeeper then there'd still only be one
repository which I actually _care_ about, and the effect would be much
the same.
I'd be quite interested in setting up a CVS->BK gateway like the ALSA
one though. That might make my life easier.
> If current sync speed is to slow for you, try to make it easier for
> him to send patches forward.
I've been fairly busy recently; I've updated the code in Linus' tree a
little while ago but it could do with another update. I'm very much
slower to update 2.4 unless it's actually broken. The 2.4 branch is old
and dead now; all development should be on 2.6
The way the update goes is something like this...
1. Wait till the MTD CVS code is actually stable. It's not at the
moment; cfi_cmdset_0002.c is known to be broken and I can't send it
off while it's like that.
2. Look at the current version of the kernel I'm updating. For each file
in drivers/mtd and include/linux/mtd, take the version from CVS with
matching $Id$ tag -- the version from CVS which was last sent to
Linus or Marcelo for inclusion.
3. Generate a patch between those versions in my CVS, and the version
currently in the mainstream kernel -- those are the patches which
were included in an upstream kernel but didn't go through me. Read
each change carefully, and see if it's applicable to _current_ CVS
code. If so, apply it. If not, discard it. If it's discarded because
the problem was already fixed, that's fine. If it's discarded because
it's just a bogus change, make a mental note of it; reversion of
upstream patches needs to be justified (or at least noted) in your
covering email because it's often done by accident when updating
Linus' tree from an external CVS, and it's _very_ much frowned upon.
4. Now you have all the upstream changes merged into current CVS. Drop
current CVS into a current Linux tree, take a diff between the two.
Read it. All of it. Make cosmetic changes in CVS to reduce noise in
the patch you're planning to send.
5. Read it again.
6. Build it. Test it if you're feeling conscientious.
7. Read it again. Identify separate change sets from the whole thing;
'bk citool' is useful for this. Commit each set of changes separately
with an appropriate changelog.
8. Stick it in a BK tree somewhere for Linus or Marcelo to pull from.
You can, of course, replace #7 and #8 with splitting it up into separate
patches and mailbombing if you have religious objections to BK.
But generally, we try to keep CVS working and stable. It's rare that it
is non-working for a prolonged period of time. You _should_ be able to
just drop it in to a recent 2.4 or 2.6 kernel and expect it to 'just
work'.
If I had hardware with interleaved AMD chips to hand, I'd have a look at
it (or at least wander round the corner to Arcom and take away David's
excuse :)
--
dwmw2
More information about the linux-mtd
mailing list