I really don't see how pushing the naming complexity into the local filesystem, where it adds lots of otherwise-useless inodes and dentries, is going to help us. I like what Yehuda has here for its relative simplicity -- though I think we should just up the hash size enough that we don't need to handle collisions, and leave out the retry looping so as to make it simpler still -- but given the relative simplicity I think it might be nice to push all the name mangling into a flat space so that we can preserve the prefix- and post-fixing -- this would keep snapshots of one object more identifiable than hashing over the entire name like it's doing right now. -Greg On Thursday, April 21, 2011 at 12:32 PM, Tommi Virtanen wrote: > On Thu, Apr 21, 2011 at 12:27:01PM -0700, Colin McCabe wrote: > > I like this idea a lot. It does involve extra expense, but only for > > long file names. It also avoids object name collisions completely. > > > > One additional idea: can we make the chunking configurable? > > If we did a translation like this: > > abcdefg -> abc/def/g > > 123456789 -> 123/456/789 > > > > prefix search would become a *lot* more efficient for rgw. > > On the other hand, the filesystem layer doesn't care about prefix > > search, so it could just configure the chunking to be after 200 > > characters or something (at which point it's basically a no-op.) > > The one big downside is that with configurable chunking, you no longer > have an always correct 1:1 mapping between object and file. > > You might argue for always (not configurably) chunking at some > smaller, fixed boundary, so on the average you'd need to readdir() > less to serve a prefix search. I think this is what your last sentence > refers to. But that means more overhead with the directories. > > The only real answers are available via benchmarks. > > -- > :(){ :|:&};: > -- > To unsubscribe from this list: send the line "unsubscribe ceph-devel" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html