Messages in this thread | | | Date | Mon, 31 Dec 2001 01:08:17 +0100 | From | Andrea Arcangeli <> | Subject | Re: ramdisk corruption problems - was: RE: pivot_root and initrd kern el panic woes |
| |
On Sat, Dec 29, 2001 at 10:38:14PM -0800, Andrew Morton wrote: > Alexander Viro wrote: > > > > On Sat, 29 Dec 2001, Andrew Morton wrote: > > > > > Would it be necessary to preallocate the holes at mmap() time? Mad > > > hand-waving: Could we not perform the instantiation at pagefault time, > > > and give the caller SIGBUS if we cannot allocate the blocks? Or if > > > there's an IO error, or quota exceeded. > > > > Allocation at mmap() Is Not Going To Happen. Consider it vetoed. > > There are applications that use mmap() on large and very sparse > > files. > > I think Andrea was referring to simply reserving the necessary > amount of disk space, rather than actually instantiating the > blocks. But even that would be a big problem for the applications
correct.
> which you describe.
Nod.
> > > > Question: can someone please define BH_New? Its lifecycle seems > > > very vague. We never actually seem to *clear* it anywhere for > > > ext2, and it appears that the kernel will keep on treating a > > > clearly non-new buffer as "new" all the time. ext3 explicitly > > > clears BH_New in get_block(), if it finds the block was already > > > present in the file. I did this because we need the newness > > > info for internal purposes. > > > > It should be reset when we submit IO. > > well... It isn't. And I'd like a chance to review/test any
see the other email, it's all right as far I can tell, it doesn't need to be resetted ever. only mapped bh are bh_new so you will never care about bh_new any longer because you will never need any further get_block on the same bh.
> proposed changes in this area which are outside specific filesystems... > > > Breakage related to failing allocation is indeed not new, but > > that's a long story. And no, "allocate on mmap()" is not a fix. > > Yup. But what *is* the fix? (filemap_nopage?) > > -
Andrea - 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/
| |