xfs
[Top] [All Lists]

Re: Premature "No Space left on device" on XFS

To: Michael Monnerie <michael.monnerie@xxxxxxxxxxxxxxxxxxx>
Subject: Re: Premature "No Space left on device" on XFS
From: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Sat, 8 Oct 2011 10:17:18 +1100
Cc: xfs@xxxxxxxxxxx
In-reply-to: <201110071340.25077@xxxxxx>
References: <4E8E079B.4040103@xxxxxxxxxxxxx> <20111007013711.GW3159@dastard> <201110071340.25077@xxxxxx>
User-agent: Mutt/1.5.21 (2010-09-15)
On Fri, Oct 07, 2011 at 01:40:24PM +0200, Michael Monnerie wrote:
> On Freitag, 7. Oktober 2011 Dave Chinner wrote:
> > And with 1.7 million inodes in it. That's a lot for a tiny
> > filesystem, and not really a use case that XFS is well suited to.
> > XFS will work, but it won't age gracefully under these conditions...
> 
> But which FS would fit better for that? We have similar usages, so I'm 
> curious.
> 
> > As it is, your problem is most likely fragmented free space (an
> > aging problem). Inodes are allocated in chunks of 64, so require an
> > -aligned- contiguous 16k extent for the default 256 byte inode size.
> > If you have no aligned contiguous 16k extents free then inode
> > allocation will fail.
> 
> Would this be a use case for the "noikeep" mount option?

Possibly, but you still end up with the same problems when you have
to grow the inode count and free space is low.

> When would be the time XFS drops inode clusters that are already empty, 
> when I use noikeep on an aged XFS with lots of such unused inode 
> allocations?

XFS frees inode chunks the when the last inode in the chunk is
freed. IF you have a random create/unlink workload, most of the
inode chunks will be partially populated and so the filesystem will
behave mostly as though it has noikeep sepcified, anyway. (i.e.
allocate inode from partially populated chunks before allocating new
chunks).

Cheers,

Dave.

-- 
Dave Chinner
david@xxxxxxxxxxxxx

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