Re: Busy on BLKFLSBUF w/initrd

Maciek Nowacki (maciek@Voyager.powersurfr.com)
Wed, 23 May 2001 17:23:26 -0600


On Wed, May 23, 2001 at 06:21:23PM -0400, Alexander Viro wrote:
>
>
> On Wed, 23 May 2001, Maciek Nowacki wrote:
>
> > > If you want to keep it until later (i.e. want to destiry it by hands)
> > > mkdir /initrd on your final root and old one will be remounted there.
> > > Again, "Trying to unmount old root ... okay" means that it already got
> > > an equivalent of BKLFLSBUF
> >
> > Ah, okay.. I assumed this behavior had been removed. I will try this as well.
>
> change_root() in 2.4.4 gives you explicit destroy_buffers(). In 2.4.5-pre5
> it simply does BLKFLSBUF - calls ioctl_by_bdev(). And BLKFLSBUF boils
> down to destroy_buffers().
>
> I would really like to hear details re survival of the initrd contents.
> I've looked at the way rd.c "protects" the data and it seems to be
> b0rken - playing games with igrab() is not a good idea for driver...

I wrote out the contents of /dev/rd/0 a few times and diff'ed with the
uncompressed image of the initrd on the server. No difference each time. The
same after digging into swap, turning off swap, running blockdev --flushbufs
several times (always with BLKFLSBUF: Device or resource busy).

The next test will be to create an initrd that has the 'initrd' directory..

(this is all with 2.4.4-ac13 +crypto-2.4.3.1 +alsa-cvs)

Maciek
-
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/