xfs
[Top] [All Lists]

Re: Oops on sparse files

To: Kip Macy <kmacy@xxxxxxxxxxxxxxx>
Subject: Re: Oops on sparse files
From: Russell Cattelan <cattelan@xxxxxxxxxxx>
Date: Mon, 03 Apr 2000 19:05:47 -0500
Cc: linux-xfs@xxxxxxxxxxx
References: <Pine.SOL.4.10.10004031629070.1314-100000@xxxxxxxxxxxxxxxxxxxxxx>
Sender: owner-linux-xfs@xxxxxxxxxxx
Kip Macy wrote:

> when I type
> > dd if=/dev/zero of=bigfile seek=1024 count=100
> I get unable to handle kernel NULL pointer dereference at initial address
> 0000000c
> printing eip:
> c01434dc
> *pde=00000000
> Entering kdb(0xc22fe000) on processor 0 Panic: Oops
> due to panic @0xc01434dc
>
> Then I type:
> [0]kdb> bt
> with the following response:
>

This area is know to have problems.

When pushing  the end of a file out by seeking out past the current EOF,
XFS creats a hole between the old EOF and the new page that covers
the new EOF, it then needs to zero out the parts of the page
that contain the new EOF.

ie                                         last bock of file in FS units.
this case 4k
|some file data | < hole > |00000... EOF <garbage>|

I'll see if I can track down the exact

>
> pagebuf_get
> xfs_zero_last_block
> xfs_zero_eof
> xfs_igrow_stand
> xfs_setattr
> linvfs_notify_change
> notify_change
> do_truncate
> sys_ftruncate
>
> This is 100% reproducible.
>
>                                         -Kip
>
> ------------------------------------------------------------------------
> Kip Macy                               kmacy@xxxxxxxxxxxxxxx
> University of California, Berkeley
> ------------------------------------------------------------------------


<Prev in Thread] Current Thread [Next in Thread>