xfs
[Top] [All Lists]

Re: Small files perform much faster on newly formatted fs?

To: Norbert Veber <nveber@xxxxxxxxxxxxxx>
Subject: Re: Small files perform much faster on newly formatted fs?
From: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Fri, 10 Jun 2011 07:17:31 +1000
Cc: Michael Monnerie <michael.monnerie@xxxxxxxxxxxxxxxxxxx>, xfs@xxxxxxxxxxx
In-reply-to: <20110609134811.GI28625@xxxxxxxxxxxxxx>
References: <20110607163742.GH28625@xxxxxxxxxxxxxx> <201106080911.11286@xxxxxx> <20110608122638.GQ28625@xxxxxxxxxxxxxx> <20110609012907.GR32466@dastard> <20110609134811.GI28625@xxxxxxxxxxxxxx>
User-agent: Mutt/1.5.20 (2009-06-14)
On Thu, Jun 09, 2011 at 09:48:11AM -0400, Norbert Veber wrote:
> On Thu, Jun 09, 2011 at 11:29:07AM +1000, Dave Chinner wrote:
> > Those mount options are ignored if the filesystem doesn't have the
> > superblock feature bit set for aligned allocations. A filesystem
> > with 0/0 for sunit/swidth does not have the superblock bit set....
> 
> Oh man!  I thought I saw some improvement with iometer benchmarks before
> and after the mount options, but I dont see any significant difference
> while timing the untar and rm -rf I've been doing.
> 
> All the documentation I came across including the man page and XFS faq
> entry imply that the mount options can be used to perform alignment..

The mount options are only there to cahnge the alignment that
already exists, and there are significant limitations on those
changes.

You can't just apply alignment to a filesystem with no alignment
becaue XFS makes certain assumptions about how aligned filesystems
are laid out (e.g. AGs always start aligned to a sunit). If the
filesystem is created without alignment, there is a pretty good
chance that it is simply not possible to post-apply alignment to it.

> In these kinds of cases maybe there should be an error logged instead of
> just silently ignoring them?

It does log errors if you already have alignment set and your change
is invalid. If you don't have alignemnt, then they are no-ops and so
are ignored.

> Is there any way to change the superblock?  Eg. soething like the ext*
> command:

You can do it with xfs_db, but see above for why it's a bad idea.

Cheers,

Dave.
-- 
Dave Chinner
david@xxxxxxxxxxxxx

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