Skip to contentSkip to conversation

O_SYNC behavior?

DISCUSSION Ray Van Dolson 4 participants 5 messages Apr 26, 2010 – Apr 27, 2010

lore
Share & tools
lore
#0 lore raw

End-user question:

NFS client accessing an NFS export on an XFS based filesystem via "sync" (O_SYNC) mode.

Will write confirmation be sent back from the NFS server when the data is written to the xfs journal, or not until it is actually written to disk (assuming in this case the journal is on a separate SSD device or something similar)?

Thanks,
Ray

_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs

#1 lore raw
Quoted 7 lines · ----- "Ray Van Dolson

End-user question:

NFS client accessing an NFS export on an XFS based filesystem via "sync" (O_SYNC) mode.

Will write confirmation be sent back from the NFS server when the data is written to the xfs journal,

Data is never written to the journal.

cheers.

Signature · 6 lines
Nathan

_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
#2 lore raw
Quoted 5 lines · Nathan Scott
Quoted 2 lines · ----- "Ray Van Dolson

End-user question:

Quoted 7 lines
Quoted 5 lines

NFS client accessing an NFS export on an XFS based filesystem via "sync" (O_SYNC) mode.

Will write confirmation be sent back from the NFS server when the data is written to the xfs journal,

Data is never written to the journal.

I don't think that answers the intented question.

I guess the correct answer is:
It depends on the server-side configuration.
An "async" export gets the "done"-answer immediatly.
An "sync" export (only when also mounted "sync" AFAIU) waits at least until the write command is send down the stack, maybe even until the data actually hit the platters or silicon in the SSD-case.

man 5 exports:
- snip -
sync: Reply to requests only after the changes have been committed to stable storage
- snip -

But i guess the performance will be horrible when both side are "sync".

Bis denn

Signature · 9 lines
Real Programmers consider "what you see is what you get" to be just as 
bad a concept in Text Editors as it is in women. No, the Real Programmer
wants a "you asked for it, you got it" text editor -- complicated, 
cryptic, powerful, unforgiving, dangerous.

_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs
#3 lore raw
Quoted 9 lines · Matthias Schniedermeyer

I don't think that answers the intented question.

I guess the correct answer is:
It depends on the server-side configuration.
An "async" export gets the "done"-answer immediatly.
An "sync" export (only when also mounted "sync" AFAIU) waits at least until the write command is send down the stack, maybe even until the data actually hit the platters or silicon in the SSD-case.

Quoted 6 lines

man 5 exports:
- snip -
sync: Reply to requests only after the changes have been committed to stable storage
- snip -

But i guess the performance will be horrible when both side are "sync".

The client side (that is mount-side) sync means implying O_SYNC for all I/O - no need for that. And sync exports are the default for every sane server.

_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs

#4 lore raw
Quoted 15 lines · Christoph Hellwig
Quoted 14 lines · Matthias Schniedermeyer

I don't think that answers the intented question.

I guess the correct answer is:
It depends on the server-side configuration.
An "async" export gets the "done"-answer immediatly.
An "sync" export (only when also mounted "sync" AFAIU) waits at least until the write command is send down the stack, maybe even until the data actually hit the platters or silicon in the SSD-case.

man 5 exports:
- snip -
sync: Reply to requests only after the changes have been committed to stable storage
- snip -

Quoted 6 lines
Quoted 1 line

But i guess the performance will be horrible when both side are "sync".

The client side (that is mount-side) sync means implying O_SYNC for all I/O - no need for that. And sync exports are the default for every sane server.

Thanks guys. I was asking this from the perspective of a ZFS type setup with its intent log (ZIL) on SSD's or some battery backed NVRAM.

In this setup, with sync mode NFS, acknowledgement is sent to the client as soon as the data is written to the ZIL -- before it actually hits the underlying disks.

Just was trying to determine a way to mirror this setup with XFS.

Thanks,
Ray

_______________________________________________
xfs mailing list
[email protected]
http://oss.sgi.com/mailman/listinfo/xfs