[dm-devel] snapshot_ctr kcopy memory allocation problem and following kernel madness

Joe Thornber thornber at redhat.com
Tue Jan 20 11:22:03 UTC 2004


On Mon, Jan 19, 2004 at 07:59:53PM +0100, Christophe Saout wrote:
> Am So, den 18.01.2004 schrieb Christophe Saout um 21:11:
> 
> > I think I finally found out what killed my webserver the last time.
> > I've installed a watchdog and now I have something in my log:
> > 
> > Jan 18 20:40:24 websrv lvcreate: page allocation failure. order:0, mode:0xd0
> > Jan 18 20:40:24 websrv Call Trace:
> > Jan 18 20:40:24 websrv [<c014082e>] __alloc_pages+0x2ee/0x350
> > Jan 18 20:40:24 websrv [<c02d5261>] client_alloc_pages+0x31/0x80
> > Jan 18 20:40:24 websrv [<c02d5c85>] kcopyd_client_create+0x55/0xb0
> 
> The problem seems to be that dm-ioctl-v4.c sets the PF_MEMALLOC flag for
> the current process.

Setting this flag is a nasty hack that I hoped would have disappeared
by now.  The v4 ioctl changes allowed a table to be preloaded outside
of suspension, unfortunately the LVM2 tools aren't yet doing this.
Once they do, we can drop all use of this flag.

> Another thing: As seen in the log LVM is somehow unable to restore the
> original mapping for the failed snapshot origin. The processes accessing
> the dm device are then somehow unkillable. When I then remove the device
> using dmsetup there is no way to unlock the process at all. -> Reboot.
> That's not very nice. I haven't investigated what could be done, I just
> rebooted the machine. I'm so stupid. :)

I too have seen problems with the LVM2 tools wrt. error recovery.
It's a known issue, we should bump it up in the priority list.

- Joe




More information about the dm-devel mailing list