Re: [Gluster-users] performance.flush-behind
Thanks Vijay, good to know. On 9 January 2017 at 09:59, Vijay Bellur wrote: > > > On Sun, Jan 8, 2017 at 5:29 PM, Lindsay Mathieson > wrote: >> >> On 8/01/2017 10:38 AM, Lindsay Mathieson wrote: >>> >>> Option: performance.flush-behind >>> Default Value: on >>> Description: If this option is set ON, instructs write-behind translator >>> to perform flush in background, by returning success (or any errors, if any >>> of previous writes were failed) to application even before flush FOP is >>> sent to backend filesystem. >>> >>> >>> Does this mean that essentially fsync is disabled by default? >>> >> >> Also: >> >> performance.write-behind : on >> performance.strict-o-direct : off >> >> >> It would appear that by default, fsync and O_DIRECT are off, and >> write-behind is on >> > > Note that flush-behind does not alter the behavior of fsync() operations. > fsync() in gluster by default is synchronous and returns only when all > necessary fsync() operation(s) are complete in the brick(s). flush-behind > being on would mean that a sequence of: > > open() + write() + close() does not guarantee written data to be on disk. > > However the following sequence guarantees that (with flush-behind being > enabled or disabled) written data will be on disk: > > open() + write() + fsync() + close(). > > As long as applications perform fsync() or open with O_SYNC, data that is > written will be guaranteed to be on disk. > > strict-o-direct is set to off by default to avoid confusions that have been > around with O_DIRECT and documented in the NOTES section of man 2 open. > write-behind is enabled by default and it honors O_SYNC/fsync() for syncing > previously acknowledged write(s) to disk. > > Regards, > Vijay > -- Lindsay ___ Gluster-users mailing list Gluster-users@gluster.org http://www.gluster.org/mailman/listinfo/gluster-users
Re: [Gluster-users] performance.flush-behind
On Sun, Jan 8, 2017 at 5:29 PM, Lindsay Mathieson < lindsay.mathie...@gmail.com> wrote: > On 8/01/2017 10:38 AM, Lindsay Mathieson wrote: > >> Option: performance.flush-behind >> Default Value: on >> Description: If this option is set ON, instructs write-behind translator >> to perform flush in background, by returning success (or any errors, if any >> of previous writes were failed) to application even before flush FOP is >> sent to backend filesystem. >> >> >> Does this mean that essentially fsync is disabled by default? >> >> > Also: > > performance.write-behind : on > performance.strict-o-direct : off > > > It would appear that by default, fsync and O_DIRECT are off, and > write-behind is on > > Note that flush-behind does not alter the behavior of fsync() operations. fsync() in gluster by default is synchronous and returns only when all necessary fsync() operation(s) are complete in the brick(s). flush-behind being on would mean that a sequence of: open() + write() + close() does not guarantee written data to be on disk. However the following sequence guarantees that (with flush-behind being enabled or disabled) written data will be on disk: open() + write() + fsync() + close(). As long as applications perform fsync() or open with O_SYNC, data that is written will be guaranteed to be on disk. strict-o-direct is set to off by default to avoid confusions that have been around with O_DIRECT and documented in the NOTES section of man 2 open. write-behind is enabled by default and it honors O_SYNC/fsync() for syncing previously acknowledged write(s) to disk. Regards, Vijay ___ Gluster-users mailing list Gluster-users@gluster.org http://www.gluster.org/mailman/listinfo/gluster-users
Re: [Gluster-users] performance.flush-behind
On 8/01/2017 10:38 AM, Lindsay Mathieson wrote: Option: performance.flush-behind Default Value: on Description: If this option is set ON, instructs write-behind translator to perform flush in background, by returning success (or any errors, if any of previous writes were failed) to application even before flush FOP is sent to backend filesystem. Does this mean that essentially fsync is disabled by default? Also: performance.write-behind : on performance.strict-o-direct : off It would appear that by default, fsync and O_DIRECT are off, and write-behind is on -- Lindsay Mathieson ___ Gluster-users mailing list Gluster-users@gluster.org http://www.gluster.org/mailman/listinfo/gluster-users
[Gluster-users] performance.flush-behind
Option: performance.flush-behind Default Value: on Description: If this option is set ON, instructs write-behind translator to perform flush in background, by returning success (or any errors, if any of previous writes were failed) to application even before flush FOP is sent to backend filesystem. Does this mean that essentially fsync is disabled by default? -- Lindsay Mathieson ___ Gluster-users mailing list Gluster-users@gluster.org http://www.gluster.org/mailman/listinfo/gluster-users