Changing the default for ZFS atime to off?

Paul Schenkeveld freebsd at psconsult.nl
Sun Jun 16 08:44:01 UTC 2013


On Sat, Jun 08, 2013 at 07:54:04PM +0100, Steven Hartland wrote:
> One of the first changes we make here when installing machines
> here to changing atime=off on all ZFS pool roots.
> 
> I know there are a few apps which can rely on atime updates
> such as qmail and possibly postfix, but those seem like special
> cases for which admins should enable atime instead of the other
> way round.
> 
> This is going to of particular interest for flash based storage
> which should avoid unnessacary writes to reduce wear, but it will
> also help improve performance in general.
> 
> So what do people think is it worth considering changing the
> default from atime=on to atime=off moving forward?

I'm very strongly against making atime=off the default when creating
pools/datasets using zpool(8) and zfs(8):

 - POLA vialation: pools/datasets created with older version of the
   commands have atime=on by default, with newer versions of the
   command have atime=off by default.  How can I see what version of
   the commands I have?  So sysadmins must not only be aware of the
   existence of the switch but also either explicitly specify what
   they want on *every* invocation or check afterwards whether the
   default did what they wanted.  (I administer dozens of FreeBSD
   systems at different customers, because of the independence of
   each customer the all run different versions of FreeBSD).

 - It's against POSIX (according to a reply by Bruce Evans, didn't check
   myself).

 - Sysadmins who type these commands should know what they are doing and
   can easily add -o atime=off if they want that behaviour.

 - If you write a script or program that invokes these commands you
   can always explicitly add the -o atime=whatever arguments to make
   your tool do exactly what you want.

I would not be against making atime=off the default for menu driven
installers (bsdinstall, PCBSD installer) and tools that take a config
file for which a template exists, provided that they tell the user that
this is the default and provide with a choise to switch atime to on
there and then, e.g. make atime=off a checkbox questing that's checked
by default of add it to he config file template with a proper comment.

With kind regards,

Paul Schenkeveld


More information about the freebsd-fs mailing list