lkml.org 
[lkml]   [2000]   [Feb]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 2.3.48] initrd fix (Mike Galbraith)


Looks ok _except_ for this part that does

- if (atomic_dec_and_test(&bdev->bd_openers)) {
+ if (atomic_dec_and_test(&bdev->bd_openers) && MAJOR(rdev) != RAMDISK_MAJOR) {
in fs/block_dev.c..

I see exactly what you're trying to do, I just disagree with it violently.
I hate having these kinds of special cases in generic code - it turns them
into non-generic code.

It should be easily fixed in the initrd code itself, rather than in the
generic code: turning it from a special case into a normal well-behaved
case should be trivial. The way I would suggest is that initrd should just
open the block device one extra time very early on, and then close the
block device one extra time just before releasing all the initrd memory.

Would you be willing to look at that solution instead?

Linus


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:56    [W:0.114 / U:0.312 seconds]
©2003-2011 Jasper Spaans. Advertise on this site