Re: rgw: streaming interfaces for object read/write

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

 





On 10/28/21 12:42 PM, Casey Bodley wrote:
<snip>

right. for RGWGetObj, all the data eventually streams through
RGWGetObj_CB to be written out to the client via the frontend. the
decompression and decryption filters are wrapping that. so if we
wanted to allow zipper stores the ability to transform the
unencrypted/uncompressed stream, we'd want to give them a chance to
wrap the stream before those other filters are added

in rgw::sal, this could look something like:

   virtual RGWGetDataCB* add_filter(RGWGetDataCB* cb) { return cb; }

which by default doesn't add any filters, but a store could override
this to return some other filter that wraps 'cb'


It occurs to me that we probably want encryption and compression to be per-store anyway, since different stores may have different built-in capabilities for those features. For example, a PostgreSQL database with it's own encryption enabled. This means we probably want to move the encryption/compression into the zipper stack, rather than above it, regardless.

Daniel

_______________________________________________
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