rgw: zipper and API boundaries

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

 



the goal of zipper, aka the Storage Abstraction Layer (SAL), is to
establish an API boundary between the things that *are* and *are not*
backend-specific. this way, our HTTP request/op processing can be
generic enough to support any backend

there is work in progress to make these backends loadable as shared
libraries, which means that we'll be moving all of the rados-specific
stuff out of radosgw into a separate library target

these loadable libraries will still depend on some common rgw code for
the many rgw types that show up in the SAL interface - stuff like
RGWUserInfo/RGWBucketInfo/etc. but other rgw code will depend on SAL,
and i'd like to avoid any circular dependencies here

so i propose that we repurpose src/rgw/CMakeLists.txt's 'rgw_common'
static library to contain only those types in the SAL interface, and
move everything else into the 'rgw_a' library target

this way, SAL can depend on rgw_common, and rgw_a can depend on both
SAL and rgw_common, without any circular dependencies

eventually we'll also want to make guarantees about SAL API stability,
which means that we'll need to be extra careful when making any
changes to 'rgw_common'. it might also be a good idea to move these
common files into a separate namespace and/or subdirectory

_______________________________________________
Dev mailing list -- dev@xxxxxxx
To unsubscribe send an email to dev-leave@xxxxxxx



[Index of Archives]     [CEPH Users]     [Ceph Devel]     [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