Re: [Samba] sync always, strict sync, cache question

2008-09-17 Thread Chris Fanning
On Wed, Sep 17, 2008 at 2:38 AM, Jeremy Allison <[EMAIL PROTECTED]> wrote:
> On Tue, Sep 16, 2008 at 09:51:33AM -0700, Eric Roseme wrote:
>
>> ---
>>
>>
>> Samba defaults to asynchronous writes.  smbd writes to memory buffer,
>> then returns to processing.  Buffer is flushed to disk later. This is
>> the most efficient behavior.
>>
>> Windows CreateFile API has the FILE_FLAG_WRITE_THROUGH flag, which
>> requests synchronous writes.  smbd writes to memory buffer, blocks until
>> buffer contents are written to disk, which results in poor performance,
>> but better data integrity.
>>
>> When "strict sync = yes" (default = no) Samba honors the
>> FILE_FLAG_WRITE_THROUGH flag, and results in synchronous writes when
>> called by the CreateFile API.
>>
>> When "sync always = yes" (default = no) Samba executes all writes
>> synchronously. This requires that "strict sync = yes".
>>
>> StrictSync  SyncAlways  ff_write_through   Sync-Writes
>> no  no nono
>> yes no nono
>> yes no yes   Yes (slow)
>> no  yesyes   no
>> yes yesyes/noyes (very slow)
>>
>> Eric Roseme
>
> Great summation Eric, nothing has changed since then so
> it's still accurate !
>
> Thanks,
>
>Jeremy.
>

Thank you both for the professional reply.
Unfortunately, you have confirmed my suspicions. :)

I think I'll head back to NFS and give it another try. They too on the
list are very helpful.

Viva GNU!
Chris.
-- 
To unsubscribe from this list go to the following URL and read the
instructions:  https://lists.samba.org/mailman/listinfo/samba


Re: [Samba] sync always, strict sync, cache question

2008-09-16 Thread Jeremy Allison
On Tue, Sep 16, 2008 at 09:51:33AM -0700, Eric Roseme wrote:

> ---
>
>
> Samba defaults to asynchronous writes.  smbd writes to memory buffer,  
> then returns to processing.  Buffer is flushed to disk later. This is  
> the most efficient behavior.
>
> Windows CreateFile API has the FILE_FLAG_WRITE_THROUGH flag, which  
> requests synchronous writes.  smbd writes to memory buffer, blocks until  
> buffer contents are written to disk, which results in poor performance,  
> but better data integrity.
>
> When "strict sync = yes" (default = no) Samba honors the  
> FILE_FLAG_WRITE_THROUGH flag, and results in synchronous writes when  
> called by the CreateFile API.
>
> When "sync always = yes" (default = no) Samba executes all writes  
> synchronously. This requires that “strict sync = yes”.
>
> StrictSync  SyncAlways  ff_write_through   Sync-Writes
> no  no nono
> yes no nono
> yes no yes   Yes (slow)
> no  yesyes   no
> yes yesyes/noyes (very slow)
>
> Eric Roseme

Great summation Eric, nothing has changed since then so
it's still accurate !

Thanks,

Jeremy.
-- 
To unsubscribe from this list go to the following URL and read the
instructions:  https://lists.samba.org/mailman/listinfo/samba


Re: [Samba] sync always, strict sync, cache question

2008-09-16 Thread Eric Roseme



Chris Fanning wrote:

snip

But I am worried about the cache that Samba makes use of. We would
like samba to write to disk immediately.
We've found these two options for smb.conf

sync always = yes
strict sync = yes

I can't quiet see the difference between the two in my case.
If I set 'sync always = yes' _or_ 'strict sync = yes', I can copy
files at 70MB/s (similar to NFS using async).
If I set both options, file transfer speed drops to about 20MB/s

Does that mean that I do need to set both options to ensure the cache
is written to disk before the server returns the ok to the client?
How could I test this?

And now while I'm here ;) , does anyone have any other recommendations
for this kind of setup?

Thanks,
Chris.
Hi Chris,  I did an investigation on this in 2003.  Here are the 
results.  Not sure if things have changed since then.

---


Samba defaults to asynchronous writes.  smbd writes to memory buffer, 
then returns to processing.  Buffer is flushed to disk later. This is 
the most efficient behavior.


Windows CreateFile API has the FILE_FLAG_WRITE_THROUGH flag, which 
requests synchronous writes.  smbd writes to memory buffer, blocks until 
buffer contents are written to disk, which results in poor performance, 
but better data integrity.


When "strict sync = yes" (default = no) Samba honors the 
FILE_FLAG_WRITE_THROUGH flag, and results in synchronous writes when 
called by the CreateFile API.


When "sync always = yes" (default = no) Samba executes all writes 
synchronously. This requires that “strict sync = yes”.


StrictSync  SyncAlways  ff_write_through   Sync-Writes
no  no nono
yes no nono
yes no yes   Yes (slow)
no  yesyes   no
yes yesyes/noyes (very slow)

Eric Roseme

--
To unsubscribe from this list go to the following URL and read the
instructions:  https://lists.samba.org/mailman/listinfo/samba