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@xxxxxxxxxxx http://www.gluster.org/mailman/listinfo/gluster-devel