[Samba] Mac OS Mavericks über slow

Dan Mons dmons at cuttingedge.com.au
Thu Sep 4 16:08:47 MDT 2014


On 4 September 2014 23:17, Ralph Böhme <rb at sernet.de> wrote:
> Certain applications on Macs still rely on metadata and resource fork
> information, so depending on application and workflow one has to be
> careful when switching file sharing protocols and options.

We're a VFX studio, and the only bit of documented case of this I
could find anywhere with respect to our suite of applications was
Adobe Photoshop.  We've tested this pretty extensively on our
Samba4/Gluster setup, and in the last year nothing horrible has
occurred.  That's not to say the testing is exhaustive, but so far
we've avoided any major catastrophes.  (I note your points elsewhere,
however, about XFS limitations and large resource forks, which we're
keeping an eye out for).

> You see that only step 4 is different from above, but this already
> helps a lot given that checking xattr information on a file is fast in
> the filesystem.
>
> It doesn't help if you're network latency is high, because you still
> have to wait n * network latency ms for the Finder to display the
> folder contents!

Thank you for that explanation.  Very helpful.

> Apple uses a custom smb2 protocol extension in its own server (and
> client): a smb2 create context "AAPL". If both server and client
> support this it, the smb2_find reply (amongst other things depending
> on a set of flags [2]) is modified to contain resource fork size
> information, which means after step 2 (see above) is completed, the
> Finder will display the folder content.
>
> I have a working PoC here: [3]. Opening a folder with 1000 files over
> a slow link with 50 ms latency takes just a few seconds instead of 40
> seconds with just vfs_streams_xattr or vfs_fruit alone.
>
> This is still incomplete and needs more polishing.

This is great news!

> Samba 4.2 will ship a new VFS module that addresses this:
> vfs_fruit. It stacks with vfs_streams_xattr but takes care of the
> resource fork stream itself (on Linux: by saving it to a ._
> AppleDouble file).

Again, very helpful.  Thank you.

-Dan


More information about the samba mailing list