<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/libgit2.git, branch ethomson/fsync</title>
<subtitle>github.com: libgit2/libgit2.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/'/>
<entry>
<title>Honor `core.fsyncObjectFiles`</title>
<updated>2017-03-02T09:11:33+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@github.com</email>
</author>
<published>2017-02-28T12:29:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=1c04a96b25da048221f31ecee0227d960dc00489'/>
<id>1c04a96b25da048221f31ecee0227d960dc00489</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>win32: don't fsync parent directories on Windows</title>
<updated>2017-02-28T13:29:01+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@github.com</email>
</author>
<published>2017-02-17T16:48:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=3ac05d11493d0573dbf725a19403dbf5e8d93b50'/>
<id>3ac05d11493d0573dbf725a19403dbf5e8d93b50</id>
<content type='text'>
Windows doesn't support it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Windows doesn't support it.
</pre>
</div>
</content>
</entry>
<entry>
<title>fsync: call it "synchronous" object writing</title>
<updated>2017-02-28T13:29:01+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@github.com</email>
</author>
<published>2017-02-17T16:42:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=2a5ad7d0f2c28337530855fae250f85123070fcb'/>
<id>2a5ad7d0f2c28337530855fae250f85123070fcb</id>
<content type='text'>
Rename `GIT_OPT_ENABLE_SYNCHRONIZED_OBJECT_CREATION` -&gt;
`GIT_OPT_ENABLE_SYNCHRONOUS_OBJECT_CREATION`.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Rename `GIT_OPT_ENABLE_SYNCHRONIZED_OBJECT_CREATION` -&gt;
`GIT_OPT_ENABLE_SYNCHRONOUS_OBJECT_CREATION`.
</pre>
</div>
</content>
</entry>
<entry>
<title>fsync parent directories when fsyncing</title>
<updated>2017-02-28T13:28:36+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@github.com</email>
</author>
<published>2017-02-17T16:36:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=1229e1c4d7ea1eb4c5bcd5c0d89bc576053175db'/>
<id>1229e1c4d7ea1eb4c5bcd5c0d89bc576053175db</id>
<content type='text'>
When fsync'ing files, fsync the parent directory in the case where we
rename a file into place, or create a new file, to ensure that the
directory entry is flushed correctly.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When fsync'ing files, fsync the parent directory in the case where we
rename a file into place, or create a new file, to ensure that the
directory entry is flushed correctly.
</pre>
</div>
</content>
</entry>
<entry>
<title>git_futils_writebuffer: default only when flags==0</title>
<updated>2017-02-28T13:28:36+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@github.com</email>
</author>
<published>2016-12-27T23:07:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=5a747e0c6c5170d29969eb15822c36d76dd3e4ac'/>
<id>5a747e0c6c5170d29969eb15822c36d76dd3e4ac</id>
<content type='text'>
Only use defaults for `git_futils_writebuffer` when flags == 0, lest
(1 &lt;&lt; 31) be treated as the defaults.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Only use defaults for `git_futils_writebuffer` when flags == 0, lest
(1 &lt;&lt; 31) be treated as the defaults.
</pre>
</div>
</content>
</entry>
<entry>
<title>refdb_fs: optionally fsync packed refs</title>
<updated>2017-02-28T13:28:36+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@github.com</email>
</author>
<published>2016-12-15T20:49:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=eb56ed81afd0091a0616a1099d7792f12e0726f6'/>
<id>eb56ed81afd0091a0616a1099d7792f12e0726f6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>refdb_fs: optionally fsync loose references</title>
<updated>2017-02-28T13:28:36+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@github.com</email>
</author>
<published>2016-12-15T16:56:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=af3dcb0e50416ce08bcfed7524b073b980180ef2'/>
<id>af3dcb0e50416ce08bcfed7524b073b980180ef2</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>git_futils_writebuffer: optionally fsync</title>
<updated>2017-02-28T13:27:50+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@github.com</email>
</author>
<published>2016-12-15T16:51:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=5312621bd4dc0ba38866db3311462139b2eb8e60'/>
<id>5312621bd4dc0ba38866db3311462139b2eb8e60</id>
<content type='text'>
Add a custom `O_FSYNC` bit (if it's not been defined by the operating
system`) so that `git_futils_writebuffer` can optionally do an `fsync`
when it's done writing.

We call `fsync` ourselves, even on systems that define `O_FSYNC` because
its definition is no guarantee of its actual support.  Mac, for
instance, defines it but doesn't support it in an `open(2)` call.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add a custom `O_FSYNC` bit (if it's not been defined by the operating
system`) so that `git_futils_writebuffer` can optionally do an `fsync`
when it's done writing.

We call `fsync` ourselves, even on systems that define `O_FSYNC` because
its definition is no guarantee of its actual support.  Mac, for
instance, defines it but doesn't support it in an `open(2)` call.
</pre>
</div>
</content>
</entry>
<entry>
<title>packbuilder: honor git_object__synchronized_writing</title>
<updated>2017-02-28T13:27:50+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@github.com</email>
</author>
<published>2016-12-14T17:51:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=1c2c0ae2a4d09f5b0de3c4c091c5a93ab34baa46'/>
<id>1c2c0ae2a4d09f5b0de3c4c091c5a93ab34baa46</id>
<content type='text'>
Honor `git_object__synchronized_writing` when creating a packfile and
corresponding index.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Honor `git_object__synchronized_writing` when creating a packfile and
corresponding index.
</pre>
</div>
</content>
</entry>
<entry>
<title>odb_loose: fsync tests</title>
<updated>2017-02-28T13:27:49+00:00</updated>
<author>
<name>Edward Thomson</name>
<email>ethomson@github.com</email>
</author>
<published>2016-12-13T16:31:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/libgit2.git/commit/?id=e6ed0d2f03625f5d6b60db54fc894902d7ddbc32'/>
<id>e6ed0d2f03625f5d6b60db54fc894902d7ddbc32</id>
<content type='text'>
Introduce a simple counter that `p_fsync` implements.  This is useful
for ensuring that `p_fsync` is called when we expect it to be, for
example when we have enabled an odb backend to perform `fsync`s when
writing objects.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Introduce a simple counter that `p_fsync` implements.  This is useful
for ensuring that `p_fsync` is called when we expect it to be, for
example when we have enabled an odb backend to perform `fsync`s when
writing objects.
</pre>
</div>
</content>
</entry>
</feed>
