aristanetworks / quantumfs Goto Github PK
View Code? Open in Web Editor NEWA distributed FUSE filesystem optimized for large-scale software development
License: Apache License 2.0
A distributed FUSE filesystem optimized for large-scale software development
License: Apache License 2.0
QuantumFS is a distributed, branchable filesystem built on FUSE and heterogeneous object stores. See the Documentation directory for more information. Dev Environment Setup --------------------- 1) Ensure your GOPATH environment variable is correctly pointed such that this README's folder path is $GOPATH/src/github.com/aristanetworks/quantumfs/README 2) Fetch vendored dependencies. Populate the vendor subdirectory with the required dependency versions, independent of any present in $GOPATH/src. cd $GOPATH/src/github.com/aristanetworks/quantumfs make fetch 3) Compile and install the Google CityHash library. A version was downloaded by `make fetch` to the vendor/cityhash directory. cd vendor/cityhash ./configure --enable-sse4.2 make all check CXXFLAGS="-g -O3 -msse4.2" sudo make install cd ../.. 4) Install protobufs: sudo yum install protobuf-devel 5) Install some other necessary libraries: sudo yum install glibc-static libstdc++-static glibc.i686 6) Follow the instructions in QFSClient/README to install the prerequisites for building QFSClient. 7) If you want to generate an RPM, you must also install fpm (https://fpm.readthedocs.io). Vendoring Dependencies ---------------------- This build environment uses `dep` to manage dependency copies in the vendor subdirectory. The documentation for `dep` can be found at: https://github.com/golang/dep This tool helps us ensure that we have a record of the precise versions of every go dependency in use by the QuantumFS build environment - especially when preparing RPMs for releasde. Any package present in the vendor directory will be used instead of an equivalent available elsewhere (eg under $GOPATH/src). Use `make fetch` to refresh the content of the vendor directory based on the versions recorded in Gopkg.lock. `dep` will be installed if necessary. Use `make update` to check for updates to existing dependencies, or where new dependencies are referenced in the code. This will attempt to resolve any conflicting version requirements, and record the updated versions in use in Gopkg.lock. If there are updates, ensure tests are passing, and then commit the updated Gopkg.*. Instructions ------------ * to compile: make all * to generate an RPM: make fetch make rpm Limits ------ * Maximum supported file size is 28.4 terabytes * Maximum size of an atomic DIRECT_IO write is 128KB. Writes larger than 128KB are split into a set of 128KB writes by the kernel. Signals ------- Sending SIGUSR1 to quantumfsd will cause the read cache to be dropped and further additions disallowed. This puts QuantumFS into a lower memory mode. This is useful, for example, when attempting to gracefully upgrade QuantumFS to a newer version without forcefully terminating existing users. Sending SIGUSR2 to quantumfsd will result in it printing debug information to its qlog. This information can be used for testing and debugging purposes.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.