[Dovecot] NFS cache flush tester

Doug Council dcouncil at nethere.com
Thu Jul 12 23:35:27 EEST 2007


On Thu, 12 Jul 2007, Timo Sirainen wrote:
> So still nothing usable. Updated nfstest.c once again to include
> fdatasync() test. It has to work.

fdatasync() isn't implemented in FreeBSD (see 
http://www.freebsd.org/cgi/query-pr.cgi?pr=64875).  It defaults to 
mapping fdatasync() to fsync().

Results for FreeBSD 6.2-RELEASE-p5 and NetApp NFS server:

Info: Connected: client
Info: O_EXCL works
Info: Testing attribute cache..
Info: Attr cache flush fchown(-1, -1): OK
Info: Attr cache flush fchown(uid, -1): OK
Info: Attr cache flush fchmod(mode): OK
Info: Attr cache flush chown(-1, -1): OK
Info: Attr cache flush chown(uid, -1): OK
Info: Attr cache flush chmod(mode): OK
Info: Attr cache flush dup+close: failed
Info: Testing write flushing..
Info: Write flush no caching: failed
Info: Write flush fcntl(shared): failed
Info: Write flush fcntl(exclusive): failed
Info: Write flush flock(shared): failed
Info: Write flush flock(exclusive): failed
Info: Write flush reopen: OK
Info: Write flush dup+close: failed
Info: Write flush attr cache: failed
Info: Write flush fdatasync: OK
Info: Testing data cache..
Info: data cache: Reading EOF requires attribute cache flush
Info: Data cache flush no caching: failed
Info: Data cache flush attr cache: OK
Error: fcntl(setlk, read) failed: Operation not supported
Info: Data cache flush fcntl(shared): failed
Error: fcntl(setlk, write) failed: Operation not supported
Info: Data cache flush fcntl(exclusive): failed
Info: Data cache flush flock(shared): failed
Info: Data cache flush flock(exclusive): failed
Info: Data cache flush dotlock: failed
Info: Data cache flush dup+close: failed
Info: Data cache flush fdatasync: failed

And with O_DIRECT enabled via vfs.nfs.nfs_directio_enable:

Info: Connected: client
Info: O_EXCL works
Info: Testing attribute cache..
Info: Attr cache flush fchown(-1, -1): OK
Info: Attr cache flush fchown(uid, -1): OK
Info: Attr cache flush fchmod(mode): OK
Info: Attr cache flush chown(-1, -1): OK
Info: Attr cache flush chown(uid, -1): OK
Info: Attr cache flush chmod(mode): OK
Info: Attr cache flush dup+close: failed
Info: Testing write flushing..
Info: Write flush no caching: failed
Info: Write flush fcntl(shared): failed
Info: Write flush fcntl(exclusive): failed
Info: Write flush flock(shared): failed
Info: Write flush flock(exclusive): failed
Info: Write flush reopen: OK
Info: Write flush dup+close: failed
Info: Write flush attr cache: failed
Info: Write flush fdatasync: OK
Info: Testing data cache..
Info: data cache: Reading EOF requires attribute cache flush
Info: Data cache flush no caching: failed
Info: Data cache flush attr cache: OK
Error: fcntl(setlk, read) failed: Operation not supported
Info: Data cache flush fcntl(shared): failed
Error: fcntl(setlk, write) failed: Operation not supported
Info: Data cache flush fcntl(exclusive): failed
Info: Data cache flush flock(shared): failed
Info: Data cache flush flock(exclusive): failed
Info: Data cache flush dotlock: failed
Info: Data cache flush dup+close: failed
Info: Data cache flush fdatasync: failed
Info: Data cache flush O_DIRECT: OK

-Doug


More information about the dovecot mailing list