xfs
[Top] [All Lists]

Re: [PATCH] xfs: xfs: fallback to vmalloc for large buffers in xfs_attrl

To: Eric Sandeen <sandeen@xxxxxxxxxxx>
Subject: Re: [PATCH] xfs: xfs: fallback to vmalloc for large buffers in xfs_attrlist_by_handle
From: Mark Tinguely <tinguely@xxxxxxx>
Date: Tue, 16 Apr 2013 08:37:09 -0500
Cc: xfs-oss <xfs@xxxxxxxxxxx>
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <515D0A09.5030808@xxxxxxxxxxx>
References: <515CB2C1.1050109@xxxxxxxxx> <20130404035237.GA12011@dastard> <515D0A09.5030808@xxxxxxxxxxx>
User-agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:9.0) Gecko/20120122 Thunderbird/9.0
On 04/04/13 00:05, Eric Sandeen wrote:
On 4/3/13 10:52 PM, Dave Chinner wrote:
On Wed, Apr 03, 2013 at 03:52:49PM -0700, Linda Walsh wrote:

Note -- I might have more attributes than some as the disks are shared via samba
w/windows
and samba stores ACL and xattr info from windows in xfs's attrs...


xfsdump: WARNING: could not get list of root attributes for nondir ino
3412893285: Cannot allocate memory (12)

....
[1007383.689492] xfsdump: page allocation failure: order:4, mode:0x10c0d0
....
[1007383.689531]  [<ffffffff81143a54>] kmalloc_order_trace+0x34/0xe0
[1007383.689534]  [<ffffffff81146546>] __kmalloc+0x186/0x190
[1007383.689541]  [<ffffffff8124263c>] xfs_attrlist_by_handle+0x8c/0x110
[1007383.689544]  [<ffffffff81243487>] xfs_file_ioctl+0x437/0xb60

So it's the attribute handle interfaces that need the vmalloc
treatment here, just like has been done for all the other attribute
interfaces....

Like this?

From: Eric Sandeen<sandeen@xxxxxxxxxx>

xfs: fallback to vmalloc for large buffers in xfs_attrlist_by_handle

Shamelessly copied from dchinner's:
ad650f5b xfs: fallback to vmalloc for large buffers in xfs_attrmulti_attr_get

xfsdump uses for a large buffer for extended attributes, which has a
kmalloc'd shadow buffer in the kernel. This can fail after the
system has been running for some time as it is a high order
allocation. Add a fallback to vmalloc so that it doesn't require
contiguous memory and so won't randomly fail while xfsdump is
running.

Signed-off-by: Eric Sandeen<sandeen@xxxxxxxxxx>
---

built&  tested by running through xfstests ./check -g dump

Looks good. It is needed here too.

Reviewed-by: Mark Tinguely <tinguely@xxxxxxx>

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