[Gluster-devel] Help needed on placing xlators in the correct server/client/shared/... packages
Kaushal M
kshlmster at gmail.com
Mon May 4 08:43:19 UTC 2015
io-threads should be in the client package. It is possible to have
io-threads on the client by enabling performance.client-io-threads
option. This is not a common option, but it someone could use it.
On Mon, May 4, 2015 at 1:25 PM, Niels de Vos <ndevos at redhat.com> wrote:
> Hi all,
>
> [TLDR; jump down to the list of xlators and see if they are in the right
> package, please reply with corrections]
>
> Many new features introduce new xlators. It is not always straight
> forward to see if an xlator is intended for server-side usage,
> client-side or maybe even both. There are always ongoing request to
> reduce the dependencies and size of client-side packages. In order to
> provide a minimal footprint for Gluster clients, I would like to propose
> the following (RPM) packages that contain xlators:
>
> - glusterfs-server
> xlators (and other bits) that are only used on the server-side
>
> - glusterfs-fuse
> mount/fuse.so xlator
>
> - glusterfs-api
> mount/api.so xlator
>
> - glusterfs-client-xlators
> xlators that are only used on the client
>
> - glusterfs-extra-xlators
> optional xlators that require manual modifications of .vol files
>
> - glusterfs
> shared package that contains xlators used by server and client
>
>
> I've intentionally left out packages that do not contain xlators. Those
> packages have already clearly defined contents and do not need changing
> at the moment.
>
> The dependencies of these packages look roughly like this:
>
> .------------------.
> | glusterfs-server |
> '-------+----------'
> |\
> | \
> | '---------------+--------------------.
> | | |
> | v v
> | .----------------. .---------------.
> | | glusterfs-fuse | | glusterfs-api |
> | '--------+-------' '------+--------'
> | /| /|
> | / | / |
> | / | / |
> | / | / |
> | .-----------+----=---------------' |
> |/ | |
> v v v
> .-----------. .--------------------------.
> | glusterfs | | glusterfs-client-xlators |
> '-----------' '--------------------------'
>
>
> With this structure, users can install glusterfs-server, glusterfs-fuse
> or glusterfs-api (libgfapi) without getting any unneeded xlators or
> other scripts/binaries.
>
> Now, the main difficulty is to put the xlators in their right package.
> We aim for the best experience of users, so the target audience would be
> users that do not manually modify the .vol files. Many xlators can be
> placed on both the client- and server-side, but I want to focus on the
> functionality offered by our tools (gluster-CLI and GlusterD).
>
> Below you will find the layout I have now, based on current packaging
> and some feedback from an earlier email. Anything that is missing in the
> list is not packaged in the RPMs. If there are changes or improvements
> that can/need be done, please respond ASAP. It would be much appreciated
> if we can get this cleaned up for 3.7.0 GA.
>
> Thanks,
> Niels
>
>
> - glusterfs (shared between clients and server)
> auth/addr.so
> auth/login.so
> rpc-transport/socket.so
> debug/error-gen.so
> debug/io-stats.so
> debug/trace.so
> encryption/crypt.so
> features/access-control.so
> features/barrier.so
> features/cdc.so
> features/changelog.so
> features/ganesha.so
> features/gfid-access.so
> features/prot_client.so
> features/prot_dht.so
> features/prot_server.so
> features/read-only.so
> features/shard.so
> features/snapview-client.so
> features/worm.so
> meta.so
> performance/io-cache.so
> performance/md-cache.so
> performance/open-behind.so
> performance/quick-read.so
> performance/read-ahead.so
> performance/readdir-ahead.so
> performance/stat-prefetch.so
> performance/write-behind.so
> system/posix-acl.so
>
> - glusterfs-server
> cluster/pump.so
> features/arbiter.so
> features/bit-rot.so
> features/bitrot-stub.so
> features/changetimerecorder.so
> features/index.so
> features/locks.so
> features/posix-locks.so
> features/quota.so
> features/quotad.so
> features/snapview-server.so
> features/trash.so
> features/upcall.so
> mgmt/glusterd.so
> nfs/server.so
> performance/io-threads.so
> protocol/server.so
> storage/bd.so
> storage/posix.so
>
> - glusterfs-client-xlators
> cluster/afr.so
> cluster/dht.so
> cluster/disperse.so
> cluster/distribute.so
> cluster/ec.so
> cluster/nufa.so
> cluster/replicate.so
> cluster/stripe.so
> cluster/switch.so
> cluster/tier.so
> features/qemu-block.so
> protocol/client.so
>
> - glusterfs-fuse
> mount/fuse.so
>
> - glusterfs-api
> mount/api.so
>
> - glusterfs-extra-xlators
> features/glupy.so
> features/quiesce.so
>
> _______________________________________________
> Gluster-devel mailing list
> Gluster-devel at gluster.org
> http://www.gluster.org/mailman/listinfo/gluster-devel
More information about the Gluster-devel
mailing list