Gluster is a software defined distributed storage system. It uses translators to implement storage semantics like distribution and replication across server bricks. Clients can mount volumes using FUSE or access them via NFS or REST APIs. Translators are implemented as shared libraries and define fop methods and callbacks to handle storage operations in a distributed manner across the cluster. Errors are handled by unwinding the stack and returning failure codes to clients.