xfs_iext_realloc_indirect and "XFS: possible memory allocation deadlock"
Alex Lyakas
alex at zadarastorage.com
Thu Jul 23 10:39:28 CDT 2015
Hi Dave,
Just for completeness, XFS speculative preallocation (that is based now
upon the size of the last extent) can still grow up to 4Gb-8Gb (depending on
which patches we are pulling). As a result, xfs_iozero can still sometimes
trigger 1-2GB writes of zeros in one shot. This turns out to be a bit
unfriendly to the drives in some configurations. So we have applied a custom
patch to limit the speculative preallocation to 32Mb.
Final code will be in the same place.
Thanks,
Alex.
-----Original Message-----
From: Christoph Hellwig
Sent: 07 July, 2015 11:05 AM
To: Dave Chinner
Cc: Alex Lyakas ; Danny Shavit ; bfoster at redhat.com ; Yair Hershko ; Shyam
Kaushik ; xfs at oss.sgi.com
Subject: Re: xfs_iext_realloc_indirect and "XFS: possible memory allocation
deadlock"
On Tue, Jul 07, 2015 at 10:09:11AM +1000, Dave Chinner wrote:
> server crash. i.e. the client side commit is an "fsync" to the
> server, and until the server responds with a success to the client
> commit RPC the client side will continue to retry sending the data
> to the server.
>
> For the persepctive of metadata (i.e. directory entries) the use of
> the "dirsync" mount option is sufficient for HA failover servers to
> work correctly as it ensures that directory structure changes are always
> committed to disk before the RPC response is sent back to the
> client.
>
> i.e. the "sync" mount option doesn't actually improve data integrity
> of an NFS server when you look at the end-to-end NFS protocol
> handling of async write data....
You don't need dirsync either. NFS does the right sync usin the
commit_metadata export operation without using that big hammer.
More information about the xfs
mailing list