Networker

Re: [Networker] atimeasm and ZFS

2009-09-18 10:18:52
Subject: Re: [Networker] atimeasm and ZFS
From: stes AT pandora DOT be
To: NETWORKER AT LISTSERV.TEMPLE DOT EDU
Date: Fri, 18 Sep 2009 14:14:29 +0000
Nick,

The following shows my results for NW 7.4 SP5 on ZFS Solaris 10U7 for SPARC:
I also did a test on a amd64 machine with OpenSolaris 0906 and ZFS, and I have 
no problem there either;

Perhaps there is a bug in your NetWorker directive, or is the utime() system 
call failing on your system for some reason ? Are you sure that there is a 
problem at all (you can check as below).

# cat /etc/release
                       Solaris 10 5/09 s10s_u7wos_08 SPARC
           Copyright 2009 Sun Microsystems, Inc.  All Rights Reserved.
                        Use is subject to license terms.
                             Assembled 30 March 2009

# strings /usr/bin/save | grep '(#)'
@(#) Product:      NetWorker
@(#) Release:      7.4.5.Build.726
@(#) Build number: 726
@(#) Build date:   Thu Aug  6 15:20:55 PDT 2009
@(#) Build arch.:  solaris7w
@(#) Build info:   DBG=0,OPT=-O2 -fno-strict-aliasing


# nsrmm
file disk DISK mounted on /ftp/disk, write enabled  

# zfs get atime rpool/u
NAME     PROPERTY  VALUE    SOURCE
rpool/u  atime     on       default

# ls -ult myfile
-rw-r--r--   1 root     root           0 Sep 18 07:25 myfile

# cat .nsr
<< /u >>
        atimeasm : *

# truss -o trace save -s r280 myfile 
66135:(pid 13211): NSR directive file (/u/.nsr) parsed
/u/myfile
66135:(pid 13211): NSR directive file (/u/.nsr) parsed
/u/
/u//
/

save: /u/myfile  2 KB 00:00:01      4 files

# grep utime trace
utime("/u/myfile", 0xFFFFFFFF7FFE5D90)          = 0

So you can see that NetWorker reads atime, modifies the file, then resets the 
atime using utime().

# ls -ul myfile
-rw-r--r--   1 root     root           0 Sep 18 07:25 myfile

If we do the same thing without directive, the atime is modified:

# rm .nsr
# truss -o trace save -s r280 myfile
/u/myfile
/u/
/

save: /u/myfile  2 KB 00:00:01      3 files

# grep utime trace
# ls -ul myfile
-rw-r--r--   1 root     root           0 Sep 18 16:00 myfile


So if I try it without .nsr directive, the atime is updated (as expected due to 
the zfs get atime property).

With the .nsr directive, NetWorker is issuing a utime() system call,
to reset the atime, and the ZFS filesystem is correctly resetting this.

That's at least what I seem to observe on these 2 solaris systems.

To sign off this list, send email to listserv AT listserv.temple DOT edu and 
type "signoff networker" in the body of the email. Please write to 
networker-request AT listserv.temple DOT edu if you have any problems with this 
list. You can access the archives at 
http://listserv.temple.edu/archives/networker.html or
via RSS at http://listserv.temple.edu/cgi-bin/wa?RSS&L=NETWORKER

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