#4411 HIGH First D: datastore needs to limit number of files stored in each directory

Zarro Boogs per Child bugtracker at laptop.org
Tue Oct 23 08:50:53 EDT 2007


#4411: datastore needs to limit number of files stored in each directory
------------------------+---------------------------------------------------
  Reporter:  krstic     |       Owner:  bcsaller              
      Type:  defect     |      Status:  new                   
  Priority:  high       |   Milestone:  First Deployment, V1.0
 Component:  datastore  |     Version:                        
Resolution:             |    Keywords:                        
  Verified:  0          |  
------------------------+---------------------------------------------------
Description changed by krstic:

Old description:

> Currently, the datastore puts all the binary objects associated with
> datastore entries in a single directory. The same happens with
> thumbnails.
>
> Having too many files in a single directory isn't pretty on most
> filesystems, and JFFS2 is no exception. In fact, because of the semantics
> of deletion dirents on JFFS2, the datastore situation is doubly bad,
> since all the filenames for the binary objects have the same length as
> they're UUIDs.
>
> The solution is to add a directory level, with directory names being the
> first two characters of the UUID. e.g. the file 397a8f20-ad13-42e0-ac5d-
> b3b5191ccdf2 should be stored in datastore/store/39/397a8f20-ad13-42e0
> -ac5d-b3b5191ccdf2. Thumbnails should work the same way.

New description:

 Currently, the datastore puts all the binary objects associated with
 datastore entries in a single directory. The same happens with thumbnails.

 Having too many files in a single directory isn't pretty on most
 filesystems, and JFFS2 is no exception. In fact, because of the semantics
 of deletion dirents on JFFS2, the datastore situation is doubly bad, since
 all the filenames for the binary objects have the same length as they're
 UUIDs.

 The solution is to add a directory level, with directory names being the
 first two characters of the UUID. e.g. the file 397a8f20-ad13-42e0-ac5d-
 b3b5191ccdf2 should be stored in datastore/store/39/7a8f20-ad13-42e0-ac5d-
 b3b5191ccdf2. Thumbnails should work the same way.

--

-- 
Ticket URL: <https://dev.laptop.org/ticket/4411#comment:1>
One Laptop Per Child <https://dev.laptop.org>
OLPC bug tracking system



More information about the Bugs mailing list