Re: Ext3 vs NTFS performance

Andrew Morton
2007-05-01T21:23:37Z

On Tue, 1 May 2007 13:43:18 -0700
"Cabot, Mason B" <mason.b.cabot@intel.com> wrote:

> Hello all,
>
> I've been testing the NAS performance of ext3/Openfiler 2.2 against
> NTFS/WinXP and have found that NTFS significantly outperforms ext3 for
> video workloads. The Windows CIFS client will attempt a poor-man's
> pre-allocation of the file on the server by sending 1-byte writes at
> 128K-byte strides, breaking block allocation on ext3 and leading to
> fragmentation and poor performance. This will happen for many
> applications (including iTunes) as the CIFS client issues these
> pre-allocates under the application layer.

Oh my gawd, what a stupid hack. Now we know what the MS interoperability
lab has been working on.

> I've posted a brief paper on Intel's OSS website
> (http://softwarecommunity.intel.com/articles/eng/1259.htm). Please give
> it a read and let me know what you think. In particular, I'd like to
> arrive at the right place to fix this problem: is it in the filesystem,
> VFS, or Samba?

Conceivably we could address this in the filesystem without mucking other
things up. But I'd have thought the simplest damage-control would be to
detect this pattern in samba and to then use glibc's fallocate().

At present glibc will emulate fallocate() by writing zeroes. There are
patches floating about to implement fallocate in-kernel and if/when that
turns up and is supported in glibc, the modified samba will automatically
start to use it.

Are you sure there isn't some registry setting to prevent the CIFS client
from doing the client-side preallocation?