[tahoe-lafs-trac-stream] [tahoe-lafs] #1906: constant-time directory lookup

tahoe-lafs trac at tahoe-lafs.org
Wed Jan 23 16:45:16 UTC 2013


#1906: constant-time directory lookup
-------------------------+-------------------------------------------------
     Reporter:           |      Owner:  davidsarah
  davidsarah             |     Status:  new
         Type:           |  Milestone:  undecided
  enhancement            |    Version:  1.9.2
     Priority:  normal   |   Keywords:  performance directory database
    Component:  code-    |  newcaps
  dirnodes               |
   Resolution:           |
Launchpad Bug:           |
-------------------------+-------------------------------------------------
Description changed by davidsarah:

Old description:

> Currently to look up an entry in a directory, it is necessary to download
> the whole file backing the directory, then decode it to find the correct
> child. This takes linear time in the number of entries.
>
> Suppose that the secret cryptovalue of each child were derived from the
> cap of the parent directory and the child name. Then, provided that the
> metadata is not needed, it is possible to obtain the child directly
> rather than via the parent. (If that child does not exist, we can't
> distinguish that from missing shares, but that isn't necessarily a
> problem.)
>
> Note that this makes directories more useful for some database-like
> applications, rather than just directories per-se.)

New description:

 Currently to look up an entry in a directory, it is necessary to download
 the whole file backing the directory, then decode it to find the correct
 child. This takes linear time in the number of entries.

 Suppose that the secret cryptovalue of each child were derived from the
 cap of the parent directory and the child name. Then, provided that the
 metadata is not needed, it is possible to obtain the child directly rather
 than via the parent. (If that child does not exist, we can't distinguish
 that from missing shares, but that isn't necessarily a problem.)

 Note that this makes directories more useful for some database-like
 applications, rather than just as filesystem directories per-se.

--

-- 
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1906#comment:1>
tahoe-lafs <https://tahoe-lafs.org>
secure decentralized storage


More information about the tahoe-lafs-trac-stream mailing list