long object names

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Yehuda and I talked about the lfn branch today and we're not on the same 
page yet about the best way to proceed.  The current code keeps the long 
file name translating independent of the other naming/mangling that 
FileStore does (collection/ prefix, escaping, and sobject_t -> 
<object>_<snapid|head>).  I see that it's nice to do one thing at once, 
but I'm also not sure the long files are useful anywhere else.

Other thoughts:

The escaping may make more sense in the same layer as the long name stuff?

Eventually we'll be prehashing the pg dir contents into subdirs, and that 
translation will have to be done somewhere too.  That will mean possibily 
looking in two locations during the rehashing process, similar to how the 
lfn stuff has to peek at xattrs.  One thing to keep in mind is that the 
hash value will need to be passed down and stored with the file... it's 
usually hash(object name), but not always when the object_locator_t::key 
is set.  Where will this fit in?

We may eventually want to adjust the ObjectStore interface to include 
collection/dir handles so that the full path isn't traversed in kernel for 
every operation (the OSD could maintain an open handle/fd for each pg it 
has open).

I think the lfn_open/_get type interface below all of the operation 
methods will allow all of those things.  I think it'll be simpler to push 
as much of the filename rendering into that layer as possible, though 
(possibly including the sobject_t mangling).  Having all the 
mangling/rendering done in one place will also make it easy to extend 
without making multiple passes in different layers...

Unfortunately I'm out tomorrow.  Any other opinions?

One other thing: the xattr names are mangled too (user.ceph. prefix).  As 
long as the long name xattr has a different prefix we don't have to worry 
about those getting mixed up.

sage
--
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


[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux