Rockbox.org home
release
dev builds
extras
themes manual
wiki
device status forums
mailing lists
IRC bugs
patches
dev guide
translations



Rockbox mail archive

Subject: Re: Need to wait for dircache if previous build was interrupted

Re: Need to wait for dircache if previous build was interrupted

From: Michael Sevakis via rockbox-dev <rockbox-dev_at_cool.haxx.se>
Date: Wed, 8 Mar 2017 17:37:19 +0000 (UTC)

It could cause issues with dircache not being able to expand itself to fit more files. The size is zeroed if it gets overstuffed (more than 3/4 of the reserved is used) or wasn't able to finish to establish a new set point so it can scan later without blocking.

Mike

    On Monday, February 27, 2017 8:06 PM, Boris Gjenero via rockbox-dev <rockbox-dev_at_cool.haxx.se> wrote:
 

 Hello everyone,

Since upgrading to a 120 GB hard drive, dircache builds take longer.
It's a bit annoying to have to wait for them with "Scanning disk..."
displayed.

It seems this happens because in tree_flush() in apps/tree.c, the saved
dircache size is updated by "global_status.dircache_size =
info.last_size;", and info.last_size is not set until the scanning is
finished. It seems I can get around this by not updating the size if
info.last_size is zero. This is the change I made:
https://github.com/dreamlayers/rockbox/commit/a02d64799f16598eb5db9c26a799cb123b7b8f53

Maybe I should have just put that up for review on Gerrit, but I don't
know enough about dircache to know if there is some potential problem,
so I'm first asking here.

(This commit is on a personal branch with other modifications, which is
currently installed on my 5G iPod. It's not based on the latest master
because I had some responsiveness problems with a newer version.)

Best regards,
Boris


   
Received on 2017-03-08

Page template was last modified "Tue Sep 7 00:00:02 2021" The Rockbox Crew -- Privacy Policy