[Samba] Configuring aio_pthread

Andrew Walker walker.aj325 at gmail.com
Wed Sep 10 08:30:24 MDT 2014

I'm trying to learn more about samba by experimenting with samba on
FreeNAS. This involves a certain amount of reading how default smb4.conf
parameters are set in FreeNAS and then reading the manpages for those

Async I/O is implemented in samba in freenas via the aio_pthread VFS
module. The manpage for vfs_aio_pthread states:
"the smb.conf parameters aio read size and aio write size must also be set
appropriately for this module to be active"
These parameters (aio read size and aio write size) are not set by default
in the smb.conf. The manpage implies that this would render the
vfs_aio_pthread module inactive. I have a few questions in this direction.

1) Is my understanding of the manpage correct?
2) Is there a quick and easy way of determining async I/O is being
performed via CIFS?
3) Are the any good rules of thumb for determining proper aio read and
write sizes?

For reference, a typical share is set up as follows:

    path = /mnt/Tank/Users
    printable = no
    veto files = /.snap/.windows/.zfs/
    writeable = yes
    browseable = yes
    recycle:repository = .recycle/%U
    recycle:keeptree = yes
    recycle:versions = yes
    recycle:touch = yes
    recycle:directory_mode = 0777
    recycle:subdir_mode = 0700
    vfs objects = zfsacl streams_xattr aio_pthread
    hide dot files = yes
    guest ok = no
    nfs4:mode = special
    nfs4:acedup = merge
    nfs4:chown = yes
    zfsacl:acesort = dontcare

Any pointers would be much appreciated.

More information about the samba mailing list