[pacman-dev] [PATCH] libalpm: sync changes to disc when appropriate

Allan McRae allan at archlinux.org
Sat Mar 14 01:45:54 EDT 2009


Dan McGee wrote:
> On Fri, Mar 13, 2009 at 9:55 PM, Allan McRae <allan at archlinux.org> wrote:
>   
>> Dan McGee wrote:
>>     
>>> We don't make calls to fsync() or fdatasync() when we are attempting to do
>>> something transactionally, such as writing out one of our DB entries. Add
>>> a
>>> call to fdatasync() when we write DB entries, and also ensure we sync our
>>> log changes to disc whenever we close it.
>>>
>>> Another important thing to ensure is that we commit removals of DB
>>> entries.
>>> The method isn't necessarily pretty, but it works in _alpm_db_remove().
>>>
>>>       
>> This looks good to me.
>> Just wonding how much overhead the fsyncing adds? Have you noticed any speed
>> decrease when running with this patch? Not that there is much choice here...
>>     
>
> Little if any, actually, as we are syncing only our DB files and not
> all of the files we lay down on disk. For the most part pacman is
> already I/O bound, so this doesn't add any noticeable hiccups.
>   

OK, that sounds good.  BTW, won't all files will be synced if partitions 
are mounted with the "ordered" option? But that is a users choice, so...

Allan





More information about the pacman-dev mailing list