winnielinnie
MVP
- Joined
- Oct 22, 2019
- Messages
- 3,641
I understand that by default SMB uses async writes, while NFS uses sync writes.
When I try to find the original or historical reason for this, I only see discussions about "this is this, and that is that".
But to quench my curiosity, I'm very interested to understand why writes are handled differently with SMB vs NFS by default.
If someone suggests "You can increase write performance for NFS shares by setting the dataset property to
Okay, well if using NFS with
Is it not the same level of "risk" for data loss? Aren't users that save data via SMB taking on the risk of "scary dangerous async writes"?
If someone loses 10 seconds worth of data from writes that never sync'd to the storage media, why does it matter if this was over SMB or NFS using
This is the part I don't understand.
I'm fully aware of the risks involved, and how using sync writes assures you that the data has been successfully written to disk. But if async writes means "You don't really value your data", there should be a giant red disclaimer when creating a new SMB share:
SMB shares use async writes by default! Understand the risks involved.
Otherwise, the messasing and explanations are inconsistent. Maybe it's not such a big deal to use NFS shares with
When I try to find the original or historical reason for this, I only see discussions about "this is this, and that is that".
But to quench my curiosity, I'm very interested to understand why writes are handled differently with SMB vs NFS by default.
If someone suggests "You can increase write performance for NFS shares by setting the dataset property to
sync=disabled
", you'll likely be met with "That breaks standard!" or "That puts your data at risk!"Okay, well if using NFS with
sync=disabled
("async writes") puts your data at risk, then how is it any more risky than SMB shares which by default use async writes, anyways?Is it not the same level of "risk" for data loss? Aren't users that save data via SMB taking on the risk of "scary dangerous async writes"?
If someone loses 10 seconds worth of data from writes that never sync'd to the storage media, why does it matter if this was over SMB or NFS using
sync=disabled
?This is the part I don't understand.
I'm fully aware of the risks involved, and how using sync writes assures you that the data has been successfully written to disk. But if async writes means "You don't really value your data", there should be a giant red disclaimer when creating a new SMB share:
SMB shares use async writes by default! Understand the risks involved.
Otherwise, the messasing and explanations are inconsistent. Maybe it's not such a big deal to use NFS shares with
sync=disabled
, since all of your writes prior to it were already async anyways (i.e, over SMB)?
Last edited: