[Top] [All Lists]

Re: understanding speculative preallocation

To: Ben Myers <bpm@xxxxxxx>
Subject: Re: understanding speculative preallocation
From: Jason Rosenberg <jbr@xxxxxxxxxxxx>
Date: Fri, 26 Jul 2013 17:04:54 -0400
Cc: stan@xxxxxxxxxxxxxxxxx, xfs@xxxxxxxxxxx
Delivered-to: xfs@xxxxxxxxxxx
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=squareup.com; s=google; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=FPEFDhVsZyxslk3GoV+vxG+fSh99gNF3XzWXnsp5iuw=; b=CoI4ZjysOFjhcrDdwux6T5o+Japo4SeUltoC6I0vEy3jo7dSGIX/8boKv7pNJ2c+Kb CMT8V3bsrUfW+tG6i3yZMkuobC4Jj+OeKqlZ61xKfCOSpCNJrX+T8YqPz4pTAa2fG0us uLConRVB+8mQCvAxN2QDluVuhR/XKIUvrjDZU=
In-reply-to: <20130726205018.GM3111@xxxxxxx>
References: <1374823420041-35002.post@xxxxxxxxxxxxx> <20130726115021.GO13468@dastard> <CAA+BczQesNL2VmFmrcBNKXcM-Sfx0bXkXPRP5xMx6=Bv+NWrUA@xxxxxxxxxxxxxx> <51F2CD8B.8080207@xxxxxxxxxxxxxxxxx> <CAA+BczQGYoJVL0twvz2GRhH30teFPSJOsKWtofbXBrom4_Q6hg@xxxxxxxxxxxxxx> <20130726205018.GM3111@xxxxxxx>
Thanks Ben,

This is helpful.

On Fri, Jul 26, 2013 at 4:50 PM, Ben Myers <bpm@xxxxxxx> wrote:
Hi Jason,

On Fri, Jul 26, 2013 at 04:38:21PM -0400, Jason Rosenberg wrote:
> Thanks for the info (most of it was, in fact, news to me).  I'm an
> application developer trying to debug a disk space problem, that's all.  So
> far, I've tracked it down to being an XFS issue.

The speculative block reservations have been an issue for awhile.  You are not
the first person to take issue with it.

> Regardless, is there a version history for XFS vis-a-via mainline Linux?

You can find a full version history for XFS back to 2.6.12 or so here:

If you're interested in going older than that look here:

The function you'll most likely want to track is xfs_iomap_write_delay, which
calls xfs_iomap_eof_want_preallocate, both of which are in fs/xfs/xfs_iomap.c.

Recently Brian Foster added a scanner to remove the speculative block
reservations on a timer which may give you some relief.  See
xfs_queue_eofblocks in fs/xfs/xfs_icache.c


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