On Wed, May 02, 2007 at 12:16:38PM -0400, Theodore Tso wrote: > On Tue, May 01, 2007 at 02:23:25PM -0700, Andrew Morton wrote: > > On Tue, 1 May 2007 13:43:18 -0700 > > "Cabot, Mason B" <[EMAIL PROTECTED]> wrote: > > > > > 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 wonder if they patented this technique as well, as well as one of > their dozen or so patents they are filing every day? "A Method of > Screwing Over Samba's Performance So that Windows Longhorn Can Compete > On Performance" coming soon, to a patent database near you! :-) > > > > 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? > > The right place is clearly Samba. I can't think of any other program > or filesystem protocol where writing a 1 byte write at 128k strides > would be used to signal a desire to do preallocation. In fact, it's > hard to think of a worse way of doing things.
In fact they don't need to do this - there's an explicit CIFS set file allocation call to pre-allocate size they could use. There's a specific Samba VFS module that has XFS specific calls to do this - vfs_prealloc. - but this won't work on ext3. Jeremy. - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/