# This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # lizardfs # lizardfs/pkg-plist # lizardfs/files # lizardfs/files/lizardfs-metalogger.in # lizardfs/files/patch-paths-and-mfs-to-lizardfs-user.txt # lizardfs/files/lizardfs-chunkserver.in # lizardfs/files/pkg-message.in # lizardfs/files/lizardfs-master.in # lizardfs/files/lizardfs-cgiserver.in # lizardfs/distinfo # lizardfs/Makefile # lizardfs/pkg-descr # echo c - lizardfs mkdir -p lizardfs > /dev/null 2>&1 echo x - lizardfs/pkg-plist sed 's/^X//' >lizardfs/pkg-plist << '707067eabca5f41f574a0c69fe6447c0' Xbin/lizardfs Xbin/lizardfs-admin Xbin/lizardfs-compatibility.sh Xbin/lizardfs-mount Xbin/lizardfs-probe Xbin/mfsappendchunks Xbin/mfscheckfile Xbin/mfsdeleattr Xbin/mfsdirinfo Xbin/mfsfileinfo Xbin/mfsfilerepair Xbin/mfsgeteattr Xbin/mfsgetgoal Xbin/mfsgettrashtime Xbin/mfsmakesnapshot Xbin/mfsrepquota Xbin/mfsrgetgoal Xbin/mfsrgettrashtime Xbin/mfsrsetgoal Xbin/mfsrsettrashtime Xbin/mfsseteattr Xbin/mfssetgoal Xbin/mfssetquota Xbin/mfssettrashtime Xbin/mfstools.sh Xetc/bash_completion.d/lizardfs X@sample etc/lizardfs/globaliolimits.cfg.dist X@sample etc/lizardfs/iolimits.cfg.dist X@sample etc/lizardfs/lizardfs-chunkserver.cfg.dist X@sample etc/lizardfs/lizardfs-exports.cfg.dist X@sample etc/lizardfs/lizardfs-goals.cfg.dist X@sample etc/lizardfs/lizardfs-hdd.cfg.dist X@sample etc/lizardfs/lizardfs-master.cfg.dist X@sample etc/lizardfs/lizardfs-metalogger.cfg.dist X@sample etc/lizardfs/lizardfs-mount.cfg.dist X@sample etc/lizardfs/lizardfs-topology.cfg.dist Xinclude/lizardfs/lizardfs_c_api.h Xinclude/lizardfs/lizardfs_error_codes.h Xlib64/liblizardfs-client-cpp.a Xlib64/liblizardfs-client-cpp_pic.a Xlib64/liblizardfs-client.a Xlib64/liblizardfs-client.so Xlib64/liblizardfs-client_pic.a Xlib64/liblizardfsmount_shared.so Xman/man1/lizardfs-appendchunks.1.gz Xman/man1/lizardfs-checkfile.1.gz Xman/man1/lizardfs-deleattr.1.gz Xman/man1/lizardfs-dirinfo.1.gz Xman/man1/lizardfs-fileinfo.1.gz Xman/man1/lizardfs-filerepair.1.gz Xman/man1/lizardfs-geteattr.1.gz Xman/man1/lizardfs-getgoal.1.gz Xman/man1/lizardfs-gettrashtime.1.gz Xman/man1/lizardfs-makesnapshot.1.gz Xman/man1/lizardfs-mount.1.gz Xman/man1/lizardfs-repquota.1.gz Xman/man1/lizardfs-rgetgoal.1.gz Xman/man1/lizardfs-rgettrashtime.1.gz Xman/man1/lizardfs-rremove.1.gz Xman/man1/lizardfs-rsetgoal.1.gz Xman/man1/lizardfs-rsettrashtime.1.gz Xman/man1/lizardfs-seteattr.1.gz Xman/man1/lizardfs-setgoal.1.gz Xman/man1/lizardfs-setquota.1.gz Xman/man1/lizardfs-settrashtime.1.gz Xman/man1/lizardfs.1.gz Xman/man5/globaliolimits.cfg.5.gz Xman/man5/iolimits.cfg.5.gz Xman/man5/lizardfs-chunkserver.cfg.5.gz Xman/man5/lizardfs-exports.cfg.5.gz Xman/man5/lizardfs-goals.cfg.5.gz Xman/man5/lizardfs-hdd.cfg.5.gz Xman/man5/lizardfs-master.cfg.5.gz Xman/man5/lizardfs-metalogger.cfg.5.gz Xman/man5/lizardfs-mount.cfg.5.gz Xman/man5/lizardfs-topology.cfg.5.gz Xman/man7/lizardfs.7.gz Xman/man7/mfs.7.gz Xman/man7/moosefs.7.gz Xman/man8/lizardfs-admin.8.gz Xman/man8/lizardfs-cgiserver.8.gz Xman/man8/lizardfs-chunkserver.8.gz Xman/man8/lizardfs-master.8.gz Xman/man8/lizardfs-metadump.8.gz Xman/man8/lizardfs-metalogger.8.gz Xman/man8/lizardfs-metarestore.8.gz Xman/man8/lizardfs-probe.8.gz Xsbin/lizardfs-cgiserver Xsbin/lizardfs-chunkserver Xsbin/lizardfs-master Xsbin/lizardfs-metadump Xsbin/lizardfs-metalogger Xsbin/lizardfs-metarestore Xsbin/mfscgiserv Xsbin/mfsrestoremaster Xshare/mfscgi/chart.cgi Xshare/mfscgi/err.gif Xshare/mfscgi/favicon.ico Xshare/mfscgi/index.html Xshare/mfscgi/logomini.png Xshare/mfscgi/mfs.cgi Xshare/mfscgi/mfs.css X@owner lizardfs X@group lizardfs X/var/lib/lizardfs/metadata.mfs.empty X@dir /var/lib/lizardfs X@owner X@group X@dir /var/lib 707067eabca5f41f574a0c69fe6447c0 echo c - lizardfs/files mkdir -p lizardfs/files > /dev/null 2>&1 echo x - lizardfs/files/lizardfs-metalogger.in sed 's/^X//' >lizardfs/files/lizardfs-metalogger.in << '17d01af80deb0410b17ea878176343d7' X#!/bin/sh X# $FreeBSD$ X X# PROVIDE: mfsmetalogger X# REQUIRE: DAEMON X# KEYWORD: shutdown X# X# Add the following lines to /etc/rc.conf to enable lizardfs-metalogger: X# X# lizardfs_metalogger_enable="YES" X# X X. /etc/rc.subr X Xname=mfsmetalogger Xrcvar=lizardfs_metalogger_enable X Xload_rc_config $name X X: ${lizardfs_metalogger_enable="NO"} X Xconfig_file=%%PREFIX%%/etc/lizardfs/${name}.cfg X Xrequired_files=${config_file} X Xcommand=%%PREFIX%%/sbin/${name} Xpidfile=/var/run/lizardfs/.${name}.pid Xcommand_args="-c $config_file -p $pidfile" X Xrun_rc_command "$1" 17d01af80deb0410b17ea878176343d7 echo x - lizardfs/files/patch-paths-and-mfs-to-lizardfs-user.txt sed 's/^X//' >lizardfs/files/patch-paths-and-mfs-to-lizardfs-user.txt << '3bf4b3e5df9cfe6df803c5c4f5b64a6c' X--- CMakeLists.txt.orig 2017-12-20 09:59:37 UTC X+++ CMakeLists.txt X@@ -16,13 +16,14 @@ if(CMAKE_SOURCE_DIR STREQUAL CMAKE_BINAR X ) X endif() X X-set(DEFAULT_USER "mfs" CACHE STRING "Default user to run daemons as") X-set(DEFAULT_GROUP "mfs" CACHE STRING "Default group to run daemons as") X+set(DEFAULT_USER "lizardfs" CACHE STRING "Default user to run daemons as") X+set(DEFAULT_GROUP "lizardfs" CACHE STRING "Default group to run daemons as") X set(LIZARDFS_BLOCKS_IN_CHUNK 1024 CACHE INT "Number of blocks in one chunk") X set(LIZARDFS_BLOCK_SIZE 65536 CACHE INT "Number of bytes in one block") X option(ENABLE_WERROR "Enable treating compilation warnings as errors" OFF) X option(ENABLE_LIGHTMFS "Enable light version of LizardFS" OFF) X option(ENABLE_DEBIAN_PATHS "Enable Debian-style install paths" OFF) X+option(ENABLE_BSD_PATHS "Enable BSD-style install paths" OFF) X option(ENABLE_UTILS "Enable building additional binaries used e.g. in tests" OFF) X option(ENABLE_TESTS "Enable building unit and functional tests" OFF) X option(ENABLE_DOCS "Enable building the documentation" ON) X@@ -51,6 +52,7 @@ message(STATUS "LIZARDFS_BLOCK_SIZE: ${L X message(STATUS "ENABLE_WERROR: ${ENABLE_WERROR}") X message(STATUS "ENABLE_LIGHTMFS: ${ENABLE_LIGHTMFS}") X message(STATUS "ENABLE_DEBIAN_PATHS: ${ENABLE_DEBIAN_PATHS}") X+message(STATUS "ENABLE_BSD_PATHS: ${ENABLE_BSD_PATHS}") X message(STATUS "ENABLE_UTILS: ${ENABLE_UTILS}") X message(STATUS "ENABLE_TESTS: ${ENABLE_TESTS}") X message(STATUS "ENABLE_DOCS: ${ENABLE_DOCS}") X@@ -182,19 +184,29 @@ if(ENABLE_DEBIAN_PATHS) X set(BIN_SUBDIR "usr/bin") X set(SBIN_SUBDIR "usr/sbin") X set(LIB_SUBDIR "usr/lib${LIBSUFFIX}") X- set(ETC_SUBDIR "etc/mfs") X- set(RUN_SUBDIR "var/run/mfs") X- set(DATA_SUBDIR "var/lib/mfs") X+ set(ETC_SUBDIR "etc/lizardfs") X+ set(RUN_SUBDIR "var/run/lizardfs") X+ set(DATA_SUBDIR "var/lib/lizardfs") X set(MAN_SUBDIR "usr/share/man") X set(CGI_SUBDIR "usr/share/mfscgi") X set(INCL_SUBDIR "usr/include/lizardfs") X+elseif(ENABLE_BSD_PATHS) X+ set(BIN_SUBDIR "bin") X+ set(SBIN_SUBDIR "sbin") X+ set(LIB_SUBDIR "lib${LIBSUFFIX}") X+ set(ETC_SUBDIR "etc/lizardfs") X+ set(RUN_SUBDIR "/var/run/lizardfs") X+ set(DATA_SUBDIR "/var/lib/lizardfs") X+ set(MAN_SUBDIR "man") X+ set(CGI_SUBDIR "share/mfscgi") X+ set(INCL_SUBDIR "include/lizardfs") X else() X set(BIN_SUBDIR "bin") X set(SBIN_SUBDIR "sbin") X set(LIB_SUBDIR "lib${LIBSUFFIX}") X- set(ETC_SUBDIR "etc/mfs") X- set(RUN_SUBDIR "var/run/mfs") X- set(DATA_SUBDIR "var/lib/mfs") X+ set(ETC_SUBDIR "etc/lizardfs") X+ set(RUN_SUBDIR "var/run/lizardfs") X+ set(DATA_SUBDIR "var/lib/lizardfs") X set(MAN_SUBDIR "share/man") X set(CGI_SUBDIR "share/mfscgi") X set(INCL_SUBDIR "include/lizardfs") X@@ -205,8 +217,13 @@ set(BIN_PATH ${INSTALL_PREFIX_NO_SLASH X set(SBIN_PATH ${INSTALL_PREFIX_NO_SLASH}/${SBIN_SUBDIR}) X set(LIB_PATH ${INSTALL_PREFIX_NO_SLASH}/${LIB_SUBDIR}) X set(ETC_PATH ${INSTALL_PREFIX_NO_SLASH}/${ETC_SUBDIR}) X-set(RUN_PATH ${INSTALL_PREFIX_NO_SLASH}/${RUN_SUBDIR}) X-set(DATA_PATH ${INSTALL_PREFIX_NO_SLASH}/${DATA_SUBDIR}) X+if(ENABLE_BSD_PATHS) X+ set(RUN_PATH ${RUN_SUBDIR}) X+ set(DATA_PATH ${DATA_SUBDIR}) X+else() X+ set(RUN_PATH ${INSTALL_PREFIX_NO_SLASH}/${RUN_SUBDIR}) X+ set(DATA_PATH ${INSTALL_PREFIX_NO_SLASH}/${DATA_SUBDIR}) X+endif() X set(MAN_PATH ${INSTALL_PREFIX_NO_SLASH}/${MAN_SUBDIR}) X set(CGI_PATH ${INSTALL_PREFIX_NO_SLASH}/${CGI_SUBDIR}) X set(INCL_PATH ${INSTALL_PREFIX_NO_SLASH}/${INCL_SUBDIR}) X--- debian/control.orig 2017-12-20 09:59:37 UTC X+++ debian/control X@@ -23,7 +23,7 @@ Description: Debugging symbols for Lizar X Package: lizardfs-common X Architecture: any X Depends: ${shlibs:Depends}, ${misc:Depends}, X- adduser X+ adduser, dialog X Conflicts: mfs-common X Replaces: mfs-common X Provides: mfs-common X--- debian/lizardfs-cgiserv.install.orig 2017-12-20 09:59:37 UTC X+++ debian/lizardfs-cgiserv.install X@@ -1,4 +1,3 @@ X usr/sbin/lizardfs-cgiserver X usr/sbin/mfscgiserv X usr/share/man/man8/lizardfs-cgiserver.8 X-usr/share/man/man8/mfscgiserv.8 X--- debian/lizardfs-chunkserver.install.orig 2017-12-20 09:59:37 UTC X+++ debian/lizardfs-chunkserver.install X@@ -1,6 +1,6 @@ X-etc/mfs/mfschunkserver.cfg.dist X-etc/mfs/mfshdd.cfg.dist X-usr/sbin/mfschunkserver X-usr/share/man/man5/mfschunkserver.cfg.5 X-usr/share/man/man5/mfshdd.cfg.5 X-usr/share/man/man8/mfschunkserver.8 X+etc/lizardfs/lizardfs-chunkserver.cfg.dist X+etc/lizardfs/lizardfs-hdd.cfg.dist X+usr/sbin/lizardfs-chunkserver X+usr/share/man/man5/lizardfs-chunkserver.cfg.5 X+usr/share/man/man5/lizardfs-hdd.cfg.5 X+usr/share/man/man8/lizardfs-chunkserver.8 X-usr/share/man/man8/mfschunkserver.8 X+etc/lizardfs/lizardfs-chunkserver.cfg.dist X+etc/lizardfs/lizardfs-hdd.cfg.dist X+usr/sbin/lizardfs-chunkserver X+usr/share/man/man5/lizardfs-chunkserver.cfg.5 X+usr/share/man/man5/lizardfs-hdd.cfg.5 X+usr/share/man/man8/lizardfs-chunkserver.8 X--- debian/lizardfs-client.install.orig 2017-12-20 09:59:37 UTC X+++ debian/lizardfs-client.install X@@ -1,4 +1,4 @@ X-etc/mfs/mfsmount.cfg.dist X+etc/lizardfs/lizardfs-mount.cfg.dist X usr/bin/mfsappendchunks X usr/bin/mfscheckfile X usr/bin/mfsdeleattr X@@ -9,7 +9,7 @@ usr/bin/mfsgetgoal X usr/bin/mfsgeteattr X usr/bin/mfsgettrashtime X usr/bin/mfsmakesnapshot X-usr/bin/mfsmount X+usr/bin/lizardfs-mount X usr/bin/mfsrepquota X usr/bin/mfsrgetgoal X usr/bin/mfsrgettrashtime X@@ -44,5 +44,5 @@ usr/share/man/man1/lizardfs-rremove.1 X usr/share/man/man1/lizardfs.1 X usr/share/man/man7/mfs.7 X usr/share/man/man7/moosefs.7 X-usr/share/man/man1/mfsmount.1 X+usr/share/man/man1/lizardfs-mount.1 X etc/bash_completion.d/lizardfs X--- debian/lizardfs-common.install.orig 2017-12-20 09:59:37 UTC X+++ debian/lizardfs-common.install X@@ -0,0 +1 @@ X+usr/bin/lizardfs-compatibility.sh X\ No newline at end of file X--- debian/lizardfs-master.install.orig 2017-12-20 09:59:37 UTC X+++ debian/lizardfs-master.install X@@ -1,15 +1,14 @@ X-etc/mfs/mfsexports.cfg.dist X-etc/mfs/mfstopology.cfg.dist X-etc/mfs/mfsgoals.cfg.dist X-etc/mfs/mfsmaster.cfg.dist X-usr/sbin/mfsmaster X-usr/sbin/mfsrestoremaster X-usr/sbin/mfsmetarestore X-usr/sbin/mfsmetadump X-usr/share/man/man5/mfsexports.cfg.5 X-usr/share/man/man5/mfstopology.cfg.5 X-usr/share/man/man5/mfsgoals.cfg.5 X-usr/share/man/man5/mfsmaster.cfg.5 X-usr/share/man/man8/mfsmaster.8 X-usr/share/man/man8/mfsmetarestore.8 X-var/lib/mfs/metadata.mfs.empty X+etc/lizardfs/lizardfs-exports.cfg.dist X+etc/lizardfs/lizardfs-topology.cfg.dist X+etc/lizardfs/lizardfs-goals.cfg.dist X+etc/lizardfs/lizardfs-master.cfg.dist X+usr/sbin/lizardfs-master X+usr/sbin/lizardfs-metarestore X+usr/sbin/lizardfs-metadump X+usr/share/man/man5/lizardfs-exports.cfg.5 X+usr/share/man/man5/lizardfs-topology.cfg.5 X+usr/share/man/man5/lizardfs-goals.cfg.5 X+usr/share/man/man5/lizardfs-master.cfg.5 X+usr/share/man/man8/lizardfs-master.8 X+usr/share/man/man8/lizardfs-metarestore.8 X+var/lib/lizardfs/metadata.mfs.empty X-var/lib/mfs/metadata.mfs.empty X+etc/lizardfs/lizardfs-exports.cfg.dist X+etc/lizardfs/lizardfs-topology.cfg.dist X+etc/lizardfs/lizardfs-goals.cfg.dist X+etc/lizardfs/lizardfs-master.cfg.dist X+usr/sbin/lizardfs-master X+usr/sbin/lizardfs-metarestore X+usr/sbin/lizardfs-metadump X+usr/share/man/man5/lizardfs-exports.cfg.5 X+usr/share/man/man5/lizardfs-topology.cfg.5 X+usr/share/man/man5/lizardfs-goals.cfg.5 X+usr/share/man/man5/lizardfs-master.cfg.5 X+usr/share/man/man8/lizardfs-master.8 X+usr/share/man/man8/lizardfs-metarestore.8 X+var/lib/lizardfs/metadata.mfs.empty X--- debian/lizardfs-metalogger.install.orig 2017-12-20 09:59:37 UTC X+++ debian/lizardfs-metalogger.install X@@ -1,4 +1,4 @@ X-etc/mfs/mfsmetalogger.cfg.dist X-usr/sbin/mfsmetalogger X-usr/share/man/man5/mfsmetalogger.cfg.5 X-usr/share/man/man8/mfsmetalogger.8 X+etc/lizardfs/lizardfs-metalogger.cfg.dist X+usr/sbin/lizardfs-metalogger X+usr/share/man/man5/lizardfs-metalogger.cfg.5 X+usr/share/man/man8/lizardfs-metalogger.8 X-usr/share/man/man8/mfsmetalogger.8 X+etc/lizardfs/lizardfs-metalogger.cfg.dist X+usr/sbin/lizardfs-metalogger X+usr/share/man/man5/lizardfs-metalogger.cfg.5 X+usr/share/man/man8/lizardfs-metalogger.8 X--- doc/CMakeLists.txt.orig 2017-12-20 09:59:37 UTC X+++ doc/CMakeLists.txt X@@ -27,29 +27,27 @@ set(MANPAGES X lizardfs-rsettrashtime.1 # not a source X lizardfs-makesnapshot.1 X lizardfs-rremove.1 X- mfsmount.1 X+ lizardfs-mount.1 X lizardfs-repquota.1 X lizardfs-setquota.1 # not a source X lizardfs.1 X globaliolimits.cfg.5 X iolimits.cfg.5 X- mfschunkserver.cfg.5 X- mfsexports.cfg.5 X- mfsgoals.cfg.5 X- mfshdd.cfg.5 X- mfsmaster.cfg.5 X- mfsmetalogger.cfg.5 X- mfsmount.cfg.5 X- mfstopology.cfg.5 X- mfsmetadump.8 X- mfsrestoremaster.8 X+ lizardfs-chunkserver.cfg.5 X+ lizardfs-exports.cfg.5 X+ lizardfs-goals.cfg.5 X+ lizardfs-hdd.cfg.5 X+ lizardfs-master.cfg.5 X+ lizardfs-metalogger.cfg.5 X+ lizardfs-mount.cfg.5 X+ lizardfs-topology.cfg.5 X+ lizardfs-metadump.8 X moosefs.7 X mfs.7 # not a source X- mfscgiserv.8 X- mfschunkserver.8 X- mfsmaster.8 X- mfsmetalogger.8 X- mfsmetarestore.8 X+ lizardfs-chunkserver.8 X+ lizardfs-master.8 X+ lizardfs-metalogger.8 X+ lizardfs-metarestore.8 X ) X X set(INSTALLED_MANPAGES) X--- doc/globaliolimits.cfg.5.txt.orig 2017-12-20 09:59:37 UTC X+++ doc/globaliolimits.cfg.5.txt X@@ -71,7 +71,7 @@ chunkservers. X X To avoid overloading the master under heavy traffic, mounts try to predict their X future usage and reserve at once all the bandwidth they will for the next X-renegotiation period (see mfsmaster.cfg(5)). X+renegotiation period (see lizardfs-master.cfg(5)). X X Such reservation are wasted if the traffic at given mount instance suddenly X drops. X@@ -103,4 +103,4 @@ You should have received a copy of the G X X == SEE ALSO X X-mfsmaster.cfg(5) X+lizardfs-master.cfg(5) X--- doc/iolimits.cfg.5.txt.orig 2017-12-20 09:59:37 UTC X+++ doc/iolimits.cfg.5.txt X@@ -29,4 +29,4 @@ You should have received a copy of the G X X == SEE ALSO X X-mfsmount.cfg(5), globaliolimits.cfg(5) X+lizardfs-mount.cfg(5), globaliolimits.cfg(5) X--- doc/lizardfs-cgiserver.8.txt.orig 2017-12-20 09:59:37 UTC X+++ doc/lizardfs-cgiserver.8.txt X@@ -1,5 +1,5 @@ X-mfscgiserv(8) X-============= X+lizardfs-cgiserver(8) X+===================== X X == NAME X X--- doc/lizardfs-chunkserver.8.txt.orig 2018-01-27 00:18:17 UTC X+++ doc/lizardfs-chunkserver.8.txt X@@ -0,0 +1,114 @@ X+lizardfs-chunkserver(8) X+======================= X+ X+== NAME X+ X+lizardfs-chunkserver - start, restart or stop Lizard File System chunkserver process X+ X+== SYNOPSIS X+ X+[verse] X+*lizardfs-chunkserver* [*-f*] [*-c* 'CFGFILE'] [*-u*] [*-d*] [*-t* 'LOCKTIMEOUT'] ['ACTION'] X+ X+[verse] X+*lizardfs-chunkserver -s* [*-c* 'CFGFILE'] X+ X+[verse] X+*lizardfs-chunkserver -v* X+ X+[verse] X+*lizardfs-chunkserver -h* X+ X+ X+== DESCRIPTION X+ X+*lizardfs-chunkserver* is the data server of Lizard File System. Depending on parameters it can start, X+restart or stop LizardFS chunkserver process. Without any options it starts LizardFS chunkserver, X+killing previously run process if lock file exists. X+ X+SIGHUP (or *reload* 'ACTION') forces *lizardfs-chunkserver* to reload all configuration files. X+ X+Chunkserver periodically tests stored chunks (see *HDD_TEST_FREQ* option X+in *lizardfs-chunkserver.cfg* manual). X+ X+LizardFS master doesn't send metadata change logs to chunkserver and X+expect at least one *lizardfs-metalogger* daemon to connect. X+ X+Chunkserver scans attached disks in background. X+ X+== OPTIONS X+ X+*-v*:: X+print version information and exit X+ X+*-h*:: X+print usage information and exit X+ X+*-f*:: X+(deprecated, use *start* action instead) X+forcily run LizardFS chunkserver process, without trying to kill previous instance (this option X+allows to run LizardFS chunkserver if stale PID file exists) X+ X+*-s*:: X+(deprecated, use *stop* action instead) X+stop LizardFS chunkserver process X+ X+*-c* 'CFGFILE':: X+specify alternative path of configuration file (default is *lizardfs-chunkserver.cfg* in system X+configuration directory) X+ X+*-u*:: X+log undefined configuration values (when default is assumed) X+ X+*-d*:: X+run in foreground, don't daemonize X+ X+*-t* 'LOCKTIMEOUT':: X+how long to wait for lockfile (default is 60 seconds) X+ X+'ACTION' X+is the one of *start*, *stop*, *restart*, *reload*, *test*, *isalive* or *kill*. Default action is X+*restart*. X+ X+== FILES X+ X+*lizardfs-chunkserver.cfg*:: X+configuration file for LizardFS chunkserver process; refer to *lizardfs-chunkserver.cfg*(5) manual for X+defails X+ X+*lizardfs-hdd.cfg*:: X+list of directories (mountpoints) used for LizardFS storage (one per line; directory prefixed by *** X+character causes given directory to be freed by replicating all data already stored there to another X+locations) X+ X+*lizardfs-chunkserver.lock*:: X+PID file of running LizardFS chunkserver process X+ X+*.lizardfs-chunkserver.lock*:: X+lock file of running LizardFS chunkserver process X+(created in data directory) X+ X+*data.csstats*:: X+Chunkserver charts state X+ X+== REPORTING BUGS X+ X+Report bugs to . X+ X+== COPYRIGHT X+ X+Copyright 2008-2009 Gemius SA, 2013-2015 Skytechnology sp. z o.o. X+ X+LizardFS is free software: you can redistribute it and/or modify it under the terms of the GNU X+General Public License as published by the Free Software Foundation, version 3. X+ X+LizardFS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even X+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General X+Public License for more details. X+ X+You should have received a copy of the GNU General Public License along with LizardFS. If not, see X+. X+ X+== SEE ALSO X+ X+lizardfs-master(8), lizardfs-mount(1), lizardfs-chunkserver.cfg(5), lizardfs-hdd.cfg(5), moosefs(7) X--- doc/lizardfs-chunkserver.cfg.5.txt.orig 2018-01-27 00:18:17 UTC X+++ doc/lizardfs-chunkserver.cfg.5.txt X@@ -0,0 +1,153 @@ X+lizardfs-chunkserver.cfg(5) X+=========================== X+ X+== NAME X+ X+lizardfs-chunkserver.cfg - main configuration file for *lizardfs-chunkserver* X+ X+== DESCRIPTION X+ X+The file *lizardfs-chunkserver.cfg* contains configuration of LizardFS chunkserver process. X+ X+== SYNTAX X+ X+Syntax is: X+ X+'OPTION' *=* 'VALUE':: X+Lines starting with *#* character are ignored. X+ X+== OPTIONS X+ X+Configuration options: X+ X+*DATA_PATH*:: X+where to store files with usage statistics and daemon lock file X+ X+*LABEL*:: X+the label of this chunkserver (for tiering) X+ X+*WORKING_USER*:: X+user to run daemon as X+ X+*WORKING_GROUP*:: X+group to run daemon as (optional - if empty then default user group will be used) X+ X+*SYSLOG_IDENT*:: X+name of process to place in syslog messages (default is lizardfs-chunkserver) X+ X+*LOCK_MEMORY*:: X+whether to perform mlockall() to avoid swapping out lizardfs-chunkserver process (default is 0, i.e. no) X+ X+*NICE_LEVEL*:: X+nice level to run daemon with (default is -19 if possible; note: process must be started as root to X+increase priority) X+ X+*MASTER_HOST*:: X+address of LizardFS master host to connect with (default is lizardfs-master) X+ X+*MASTER_PORT*:: X+number of LizardFS master port to connect with (default is 9420) X+ X+*MASTER_RECONNECTION_DELAY*:: X+delay in seconds before trying to reconnect to the master server after disconnection (default is 5) X+ X+*MASTER_TIMEOUT*:: X+timeout (in seconds) for the master server connection (default is 60, minimum is 0.01) X+ X+*BIND_HOST*:: X+local address to use for connecting with the master server (default is ***, X+i.e. default local address) X+ X+*CSSERV_LISTEN_HOST*:: X+IP address to listen on for client (mount) connections (*** means any) X+ X+*CSSERV_LISTEN_PORT*:: X+port to listen on for client (mount) connections (default is 9422) X+ X+*CSSERV_TIMEOUT*:: X+timeout (in seconds) for client (mount) connections (default is 5) X+ X+*HDD_CONF_FILENAME*:: X+alternative name of *lizardfs-hdd.cfg* file X+ X+*HDD_LEAVE_SPACE_DEFAULT*:: X+free space threshold to set volume as 100% utilized when there is less than given amount of free X+space left (default is "4GiB"). This number is always added to the used disk space reported by X+chunkserver. X+ X+*HDD_TEST_FREQ*:: X+chunk test period in seconds (default is 10) X+ X+*HDD_ADVISE_NO_CACHE*:: X+whether to remove each chunk from page when closing it to reduce cache pressure X+generated by chunkserver (default is 0, i.e. no) X+ X+*HDD_PUNCH_HOLES*:: X+if enabled then chunkserver detects zero values in chunk data and frees X+corresponding file blocks (decreasing file system usage). This option works only on Linux X+with file systems supporting punching holes (XFS, ext4, Btrfs, tmpfs) X+ X+*ENABLE_LOAD_FACTOR*:: X+if enabled, chunkserver will send periodical reports of its I/O load to master, X+which will be taken into consideration when picking chunkservers for I/O operations. X+ X+*REPLICATION_BANDWIDTH_LIMIT_KBPS*:: X+limit how many kilobytes can be replicated from other chunkservers to this chunkserver in every X+second (by default undefined, i.e. no limits) X+ X+*NR_OF_NETWORK_WORKERS*:: X+number of threads which handle (in a round-robin manner) connections with clients (default is 1); X+these threads are responsible for reading from sockets and coping data from internal buffers to X+sockets X+ X+*NR_OF_HDD_WORKERS_PER_NETWORK_WORKER*:: X+number of threads that each network worker may use to do disk operations like opening chunks, X+reading or writing them (default is 2) X+ X+*READ_AHEAD_KB*:: X+additional number of kilobytes which should be passed to posix_fadvise(POSIX_FADV_WILLNEED) X+before reading data from a chunk (default is 0, i.e. use posix_fadvise only with the amount X+of data that is really needed; the value is aligned down to 64 KiB) X+ X+*MAX_READ_BEHIND_KB*:: X+try to fix out-of-order read requests; the value tells how much of skipped data to read if an X+offset of some read operation is greater than the offset where the previos operation finished X+(default is 0, i.e. don't read any skipped data; the value is aligned down to 64 KiB) X+ X+*CREATE_NEW_CHUNKS_IN_MOOSEFS_FORMAT*:: X+whether to create new chunks in the MooseFS format (signature + * + *) or in X+the newer interleaved format ([ ]*). (Default is 1, i.e. new chunks are created X+in MooseFS format) X+ X+*PERFORM_FSYNC*:: X+call fsync() after a chunk is modified (default is 1, i.e. enabled) X+ X+*REPLICATION_TOTAL_TIMEOUT_MS*:: X+total timeout for single replication operation. Replications that take longer than that X+are considered failed and are immediately aborted (default: 60000) X+ X+*REPLICATION_CONNECTION_TIMEOUT_MS*:: X+connection for single replication operation. If connecting to another chunkserver takes longer X+than this timeout, the operation is considered failed and is immediately aborted (default: 1000) X+ X+*REPLICATION_WAVE_TIMEOUT_MS*:: X+*ADVANCED*:: timeout for single wave in replication. After this timeout, next wave X+of read requests is sent to other chunkservers (default: 500) X+ X+== COPYRIGHT X+ X+Copyright 2008-2009 Gemius SA, 2013-2015 Skytechnology sp. z o.o. X+ X+LizardFS is free software: you can redistribute it and/or modify it under the terms of the GNU X+General Public License as published by the Free Software Foundation, version 3. X+ X+LizardFS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even X+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General X+Public License for more details. X+ X+You should have received a copy of the GNU General Public License along with LizardFS. If not, see X+. X+ X+== SEE ALSO X+ X+lizardfs-chunkserver(8), lizardfs-hdd.cfg(5) X--- doc/lizardfs-exports.cfg.5.txt.orig 2018-01-27 00:18:17 UTC X+++ doc/lizardfs-exports.cfg.5.txt X@@ -0,0 +1,127 @@ X+lizardfs-exports.cfg(5) X+======================= X+ X+== NAME X+ X+lizardfs-exports.cfg - LizardFS access control for lizardfs-mounts X+ X+== DESCRIPTION X+ X+The file *lizardfs-exports.cfg* contains LizardFS access list for *lizardfs-mount* X+clients. X+ X+== SYNTAX X+ X+Syntax is: X+ X+'ADDRESS' 'DIRECTORY' ['OPTIONS'] X+ X+Lines starting with *#* character are ignored. X+ X+'ADDRESS' can be specified in several forms: X+ X+- *** all addresses X+ X+- *n.n.n.n* single IP address X+ X+- *n.n.n.n/b* IP class specified by network address and bits number X+ X+- *n.n.n.n/m.m.m.m* IP class specified by network address and mask X+ X+- *f.f.f.f-t.t.t.t* IP range specified by from-to addresses (inclusive) X+ X+'DIRECTORY' could be */* or path relative to LizardFS root; special value *.* means MFSMETA companion X+filesystem. X+ X+== OPTIONS X+ X+*ro*, *readonly*:: X+export tree in read-only mode (default) X+ X+*rw*, *readwrite*:: X+export tree in read-write mode X+ X+*ignoregid*:: X+disable testing of group access at *lizardfs-master* level (it's still done at *lizardfs-mount* level) - in this X+case "group" and "other" permissions are logically added; needed for supplementary groups to work X+(*lizardfs-master* receives only user primary group information) X+ X+*dynamicip*:: X+allows reconnecting of already authenticated client from any IP address (the default is to check IP X+address on reconnect) X+ X+*maproot=*'USER'[*:*'GROUP']:: X+maps root (uid=0) accesses to given user and group (similarly to maproot option in NFS mounts); X+'USER' and 'GROUP' can be given either as name or number; if no group is specified, 'USER''s primary X+group is used. Names are resolved on *lizardfs-master* side (see note below). X+ X+*mapall=*'USER'[*:*'GROUP']:: X+like above but maps all non privileged users (uid!=0) accesses to given user and group (see notes X+below). X+ X+*minversion=*'VER':: X+rejects access from clients older than specified X+ X+*mingoal=*'N', *maxgoal=*'N':: X+specify range in which goal can be set by users X+ X+*mintrashtime=*'TDUR', *maxtrashtime=*'TDUR':: X+specify range in which trashtime can be set by users X+ X+*password=*'PASS', *md5pass=*'MD5':: X+requires password authentication in order to access specified resource X+ X+*alldirs*:: X+allows to mount any subdirectory of specified directory (similarly to NFS) X+ X+*nonrootmeta*:: X+allows non-root users to use filesystem mounted in the meta mode (option available only in this mode) X+ X+Default options are: *ro,maproot=999:999*. X+ X+== NOTES X+ X+'USER' and 'GROUP' names (if not specified by explicit uid/gid number) are resolved on *lizardfs-master* X+host. X+ X+TDUR can be specified as number without time unit (number of seconds) or combination of numbers with X+time units. Time units are: *W*,*D*,*H*,*M*,*S*. Order is important - less significant time units X+can't be defined before more significant time units. X+ X+Option *mapall* works in LizardFS in different way than in NFS, because of using FUSE's X+"default_permissions" option. When mapall option is used, users see all objects with uid equal to X+mapped uid as their own and all other as root's objects. Similarly objects with gid equal to mapped X+gid are seen as objects with current user's primary group and all other objects as objects with X+group 0 (usually wheel). With *mapall* option set attribute cache in kernel is always turned off. X+ X+== EXAMPLES X+ X+- ** / ro* X+ X+- *192.168.1.0/24 / rw* X+ X+- *192.168.1.0/24 / rw,alldirs,maproot=0,password=passcode* X+ X+- *10.0.0.0-10.0.0.5 /test rw,maproot=nobody,password=test* X+ X+- *10.1.0.0/255.255.0.0 /public rw,mapall=1000:1000* X+ X+- *10.2.0.0/16 / rw,alldirs,maproot=0,mintrashtime=2h30m,maxtrashtime=2w* X+ X+== COPYRIGHT X+ X+Copyright 2008-2009 Gemius SA, 2013-2015 Skytechnology sp. z o.o. X+ X+LizardFS is free software: you can redistribute it and/or modify it under the terms of the GNU X+General Public License as published by the Free Software Foundation, version 3. X+ X+LizardFS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even X+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General X+Public License for more details. X+ X+You should have received a copy of the GNU General Public License along with LizardFS. If not, see X+. X+ X+== SEE ALSO X+ X+lizardfs-master(8), lizardfs-master.cfg(5) X--- doc/lizardfs-filerepair.1.txt.orig 2017-12-20 09:59:37 UTC X+++ doc/lizardfs-filerepair.1.txt X@@ -14,7 +14,7 @@ lizardfs-filerepair - repair broken file X X *filerepair* deals with broken files (those which cause I/O errors on read operations) to make X them partially readable. In case of missing chunk it fills missing parts of file with zeros; in case X-of chunk version mismatch it sets chunk version known to *mfsmaster* to highest one found on X+of chunk version mismatch it sets chunk version known to *lizardfs-master* to highest one found on X chunkservers. X X NOTE: Because in the second case content mismatch can occur in chunks with the same version, it's X--- doc/lizardfs-goals.cfg.5.txt.orig 2018-01-27 00:18:17 UTC X+++ doc/lizardfs-goals.cfg.5.txt X@@ -0,0 +1,121 @@ X+lizardfs-goals.cfg(5) X+===================== X+ X+== NAME X+ X+lizardfs-goals.cfg - replication goals configuration file X+ X+== DESCRIPTION X+ X+The file *lizardfs-goals.cfg* contains definitions of the replication goals. X+ X+== SYNTAX X+ X+Syntax is: X+ X+'id' 'name' : $'type' { 'label' ... } X+'id' 'name' : 'label' ... X+ X+The *#* character starts comments. X+ X+== DETAILS X+ X+There are 40 replication goals, with 'ids' between 1 and 40, inclusive. X+Each file stored on the filesystem refers to some goal id and is X+replicated according to the goal currently associated with this id. X+ X+By default, goal 1 means one copy on any chunkserver, goal 2 means two X+copies on any two chunkservers and so on, until 5 - which is the maximal X+default number of copies. The purpose of lizardfs-goals.cfg is to override this X+behavior, when desired. The file is a list of goal definitions, each X+consisting of 'id', 'name' and a list of 'labels'. The maximal length X+of this list is 40 labels. X+ X+'id' indicates the goal id to be redefined. If some files are already X+assigned this goal id, their effective goal will change. X+ X+'name' is a human readable name used by the user interface tools X+(mfssetgoal(1), mfsgetgoal(1)). 'name' can consist of up to 32 alphanumeric X+characters: a-z, A-Z, 0-9, _. X+ X+'type' specifies goal type - currently supported types are: X+ X+ - *std* - for each file using this goal and for each label, the system X+ will try to maintain a copy of the file on some chunkserver X+ with this label. X+ - **xor**N - for each file using this goal, the system will split the file X+ into N+1 parts (N ordinary + 1 parity). For reading, any N of X+ the parts are necessary. If labels are specified, parts will X+ be kept on chunkservers with these labels. Otherwise, default wildcard X+ labels will be used. N can be in range from 2 to 9. X+ - **ec**(K,M) - for each file using this goal, the system will split the file X+ into K + M parts (K data parts and M parity). For reading, any K of X+ the parts are necessary. If labels are specified, parts will X+ be kept on chunkservers with these labels. Otherwise, default wildcard X+ labels will be used. K can be in range from 2 to 32 and M from 1 to 32. X+ If the type is unspecified is is assumed to be *std*. X+ X+The list of 'labels' is a list of chunkserver labels as defined in X+lizardfs-chunkserver.cfg(5). 'label' can consist of up to 32 alphanumeric X+characters: a-z, A-Z, 0-9, _. X+ X+ X+One label may occur multiple times - in such case the system will create X+one copy per each occurrence. X+The special label _ means "a copy on any chunkserver". X+ X+Note that changing the definition of a goal in lizardfs-goals.cfg affects all X+files which currently use given goal id. X+ X+== EXAMPLES X+ X+Some example goal definitions: X+ X+3 3 : _ _ _ # one of the default goals (three copies anywhere) X+ X+8 not_important_file : _ # only one copy X+ X+11 important_file : _ _ X+ X+12 local_copy_on_mars : mars _ # at least one copy in the Martian datacenter X+ X+13 cached_on_ssd : ssd _ X+ X+14 very_important_file : _ _ _ _ X+ X+15 default_xor3 : $xor3 X+ X+16 fast_read : $xor2 { ssd ssd hdd } X+ X+17 xor5 : $xor5 { hdd } # at least one part on hdd X+ X+18 first_ec : $ec(3,1) X+ X+19 ec32_ssd : $ec(3,2) { ssd ssd ssd ssd ssd } # all parts on ssd X+ X+20 ec53_mixed : $ec(5,3) { hdd ssd hdd _ _ _ _ _ } # two parts on hdd and one part on ssd X+ X+== SNAPSHOT FILES X+ X+Snapshot shares data with the original file until the file receives X+modification and diverges from the snapshotted version. X+If some snapshot has different goal than its original file, any shared X+data are stored according to the goal with higher 'id' of the two. X+ X+== COPYRIGHT X+ X+Copyright 2008-2009 Gemius SA, 2013-2015 Skytechnology sp. z o.o. X+ X+LizardFS is free software: you can redistribute it and/or modify it under the terms of the GNU X+General Public License as published by the Free Software Foundation, version 3. X+ X+LizardFS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even X+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General X+Public License for more details. X+ X+You should have received a copy of the GNU General Public License along with LizardFS. If not, see X+. X+ X+== SEE ALSO X+ X+lizardfs-master.cfg(5) X--- doc/lizardfs-hdd.cfg.5.txt.orig 2018-01-27 00:18:17 UTC X+++ doc/lizardfs-hdd.cfg.5.txt X@@ -0,0 +1,30 @@ X+lizardfs-hdd.cfg(5) X+=================== X+ X+== NAME X+ X+lizardfs-hdd.cfg - list of LizardFS storage directories for lizardfs-chunkserver X+ X+== DESCRIPTION X+ X+The file *lizardfs-hdd.cfg* contains list of directories (mountpoints) used for LizardFS storage (one per X+line). Directory prefixed by *** character causes given directory to be freed by replicating all X+data already stored there to another locations. Lines starting with *#* character are ignored. X+ X+== COPYRIGHT X+ X+Copyright 2008-2009 Gemius SA, 2013-2015 Skytechnology sp. z o.o. X+ X+LizardFS is free software: you can redistribute it and/or modify it under the terms of the GNU X+General Public License as published by the Free Software Foundation, version 3. X+ X+LizardFS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even X+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General X+Public License for more details. X+ X+You should have received a copy of the GNU General Public License along with LizardFS. If not, see X+. X+ X+== SEE ALSO X+ X+lizardfs-chunkserver(8), lizardfs-chunkserver.cfg(5) X--- doc/lizardfs-master.8.txt.orig 2018-01-27 00:18:17 UTC X+++ doc/lizardfs-master.8.txt X@@ -0,0 +1,137 @@ X+lizardfs-master(8) X+================== X+ X+== NAME X+ X+lizardfs-master - start, restart or stop Lizard File System metadata server process X+ X+== SYNOPSIS X+ X+[verse] X+lizardfs-master [*-f*] [*-c* 'CFGFILE'] [*-u*] [*-d*] [*-t* 'LOCKTIMEOUT'] ['ACTION'] X+ X+[verse] X+*lizardfs-master -s* [*-c* 'CFGFILE'] X+ X+[verse] X+*lizardfs-master -v* X+ X+[verse] X+*lizardfs-master -h* X+ X+== DESCRIPTION X+ X+*lizardfs-master* is the metadata server program of Lizard File System. Depending on parameters it can X+start, restart or stop LizardFS metadata server process. Without any options it starts LizardFS X+metadata server, killing previously run process if lock file exists. X+ X+Metadata server can work in one of two modes (personalities): X+ X+. master X+. shadow X+ X+If metadata server works with 'master' personality it acts as main metadata server X+govering all file system metadata modifications. X+If metadata server works with 'shadow' personality it acts as backup metadata server X+ready for immediate deployment as new 'master' in case of current 'master' failure. X+Shadow only accepts connections from lizardfs-admin, i.e. lizardfs-chunkserver, lizardfs-metalogger X+and lizardfs-mount (the client) are not allowed to connect to 'shadow' instance. X+ X+Current metadata server personality is defined in metadata server configuration file X+and can be changed on the fly from 'shadow' to 'master' by proper modification and reloading X+of its configuration file. X+ X+'Master' and 'shadow' are designed to run simultaneously in sync forever. It is very unlikely X+but still (due to a memory corruption or a bug) possible that after some time their metadata X+will somehow differ. Since version 2.5.2 metadata checksum is maintained both by 'master' X+and 'shadow', in order to detect and fix possible metadata corruptions. In case mismatch is X+detected 'shadow' asks 'master' to double check its metadata and dump its current snapshot. X+After the metadata is dumped and the checksum in 'master' is recalculated shadow downloads X+the new metadata snapshot, which should ensure that master and all shadows have exactly the X+same metadata. X+ X+SIGHUP (or 'reload' 'ACTION') forces *lizardfs-master* to reload all configuration files. X+ X+*-v*:: X+print version information and exit X+ X+*-h*:: X+print usage information and exit X+ X+*-f*:: X+(deprecated, use *start* action instead) X+forcily run LizardFS master process, without trying to kill X+previous instance (this option allows to run LizardFS master if stale PID file exists) X+ X+*-s*:: X+(deprecated, use *stop* action instead) X+stop LizardFS master process X+ X+*-c* 'CFGFILE':: X+specify alternative path of configuration file (default is *lizardfs-master.cfg* in system configuration X+directory) X+ X+*-u*:: X+log undefined configuration values (when default is assumed) X+ X+*-d*:: X+run in foreground, don't daemonize X+ X+*-t* 'LOCKTIMEOUT':: X+how long to wait for lockfile (default is 60 seconds) X+ X+'ACTION':: X+is the one of *start*, *stop*, *restart*, *reload*, *test*, *isalive* or *kill*. Default action is X+*restart*. X+ X+== FILES X+ X+*lizardfs-master.cfg*:: X+configuration file for LizardFS master process (see *lizardfs-master.cfg*(5) manual) X+ X+*lizardfs-exports.cfg*:: X+LizardFS access control file (used with *lizardfs-mount*`s` 1.6.0 or later, see X+*lizardfs-exports.cfg*(5) manual) X+ X+*lizardfs-topology.cfg*:: X+Network topology definitions (see *lizardfs-topology.cfg*(5) manual) X+ X+*lizardfs-master.lock*:: X+PID file of running LizardFS master process X+ X+*.lizardfs-master.lock*:: X+lock file of running LizardFS master process X+(created in data directory) X+ X+*metadata.mfs*, *metadata.mfs.back*:: X+LizardFS filesystem metadata image X+ X+*`changelog.*.mfs`*:: X+LizardFS filesystem metadata change logs (merged into *metadata.mfs* once per hour) X+ X+*data.stats*:: X+LizardFS master charts state X+ X+== REPORTING BUGS X+ X+Report bugs to . X+ X+== COPYRIGHT X+ X+Copyright 2008-2009 Gemius SA, 2013-2015 Skytechnology sp. z o.o. X+ X+LizardFS is free software: you can redistribute it and/or modify it under the terms of the GNU X+General Public License as published by the Free Software Foundation, version 3. X+ X+LizardFS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even X+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General X+Public License for more details. X+ X+You should have received a copy of the GNU General Public License along with LizardFS. If not, see X+. X+ X+== SEE ALSO X+ X+lizardfs-metarestore(8), lizardfs-chunkserver(8), lizardfs-mount(1), X+lizardfs-master.cfg(5), lizardfs-exports.cfg(5), lizardfs-topology.cfg(5), X+moosefs(7) X--- doc/lizardfs-master.cfg.5.txt.orig 2018-01-27 00:18:17 UTC X+++ doc/lizardfs-master.cfg.5.txt X@@ -0,0 +1,291 @@ X+lizardfs-master.cfg(5) X+====================== X+ X+== NAME X+ X+lizardfs-master.cfg - main configuration file for lizardfs-master X+ X+== DESCRIPTION X+ X+The file *lizardfs-master.cfg* contains configuration of LizardFS metadata server process. X+ X+== SYNTAX X+ X+Syntax is: X+ X+'OPTION' *=* 'VALUE' X+ X+Lines starting with *#* character are ignored. X+ X+== OPTIONS X+ X+Configuration options: X+ X+*PERSONALITY*:: X+Current 'personality' of this instance of metadata server. Valid values are 'master', 'shadow' X+and 'ha-cluster-managed'. If installation is managed by an HA cluster the only valid value is X+'ha-cluster-managed', otherwise the only valid values are 'master' and 'shadow', in which case X+only one metadata server in LizardFS shall have 'master' personality. + X+PERSONALITY = 'master' + X+means that this instance of metadata server acts as main metadata server X+govering all file system metadata modifications. + X+PERSONALITY = 'shadow' + X+means that this instance of metadata server acts as backup metadata server X+ready for immediate deployment as new 'master' in case of current 'master' failure. + X+Metadata server personality can be changed at any moment as long as one changes personality from X+'shadow' to 'master', changing personality the other way around is forbidden. + X+PERSONALITY = 'ha-cluster-managed' + X+means that this instance is managed by HA cluster, server runs in 'shadow' mode as long as its not remotly promoted to 'master'. X+ X+*DATA_PATH*:: X+where to store metadata files and lock file X+ X+*WORKING_USER*:: X+user to run daemon as X+ X+*WORKING_GROUP*:: X+group to run daemon as (optional - if empty then default user group will be used) X+ X+*SYSLOG_IDENT*:: X+name of process to place in syslog messages (default is lizardfs-master) X+ X+*LOCK_MEMORY*:: X+whether to perform mlockall() to avoid swapping out lizardfs-master process (default is 0, i.e. no) X+ X+*NICE_LEVEL*:: X+nice level to run daemon with (default is -19 if possible; note: process must be started as root to X+increase priority) X+ X+*EXPORTS_FILENAME*:: X+alternative name of *lizardfs-exports.cfg* file X+ X+*TOPOLOGY_FILENAME*:: X+alternative name of *lizardfs-topology.cfg* file X+ X+*CUSTOM_GOALS_FILENAME*:: X+alternative name of *lizardfs-goals.cfg* file X+ X+*PREFER_LOCAL_CHUNKSERVER*:: X+If a client mountpoint has a local chunkserver, and a given chunk happens to X+reside locally, then mfsmaster will list the local chunkserver first. X+However, when the local client mount is issuing many read(s)/write(s), to many X+local chunks, these requests can overload the local chunkserver and disk X+subsystem. Setting this to 0(the default is 1) means that remote chunkservers X+will be considered as equivalent to the local chunkserver. + X+This is useful when the network is faster than the disk, and when there is X+high-IO load on the client mountpoints. X+ X+*BACK_LOGS*:: X+number of metadata change log files (default is 50) X+ X+*BACK_META_KEEP_PREVIOUS*:: X+number of previous metadata files to be kept (default is 1) X+ X+*AUTO_RECOVERY*:: X+when this option is set (equals 1) master will try to recover metadata from changelog when it X+is being started after a crash; otherwise it will refuse to start and 'lizardfs-metarestore' should be X+used to recover the metadata (default is 0) X+ X+*REPLICATIONS_DELAY_INIT*:: X+DEPRECATED - see *OPERATIONS_DELAY_INIT* X+ X+*REPLICATIONS_DELAY_DISCONNECT*:: X+DEPRECATED - see *OPERATIONS_DELAY_DISCONNECT* X+ X+*OPERATIONS_DELAY_INIT*:: X+initial delay in seconds before starting chunk operations (default is 300) X+ X+*OPERATIONS_DELAY_DISCONNECT*:: X+chunk operations delay in seconds after chunkserver disconnection (default is 3600) X+ X+*MATOML_LISTEN_HOST*:: X+IP address to listen on for metalogger connections (*** means any) X+ X+*MATOML_LISTEN_PORT*:: X+port to listen on for metalogger connections (default is 9419) X+ X+*MATOML_LOG_PRESERVE_SECONDS*:: X+how many seconds of change logs have to be preserved in memory (default is 600; note: logs are X+stored in blocks of 5k lines, so sometimes real number of seconds may be little bigger; zero X+disables extra logs storage) X+ X+*MATOCS_LISTEN_HOST*:: X+IP address to listen on for chunkserver connections (*** means any) X+ X+*MATOCS_LISTEN_PORT*:: X+port to listen on for chunkserver connections (default is 9420) X+ X+*MATOCL_LISTEN_HOST*:: X+IP address to listen on for client (mount) connections (*** means any) X+ X+*MATOCL_LISTEN_PORT*:: X+port to listen on for client (mount) connections (default is 9421) X+ X+*MATOTS_LISTEN_HOST*:: X+IP address to listen on for tapeserver connections (*** means any) X+ X+*MATOTS_LISTEN_PORT*:: X+Port to listen on for tapeserver connections (default is 9424) X+ X+*CHUNKS_LOOP_MAX_CPS*:: X+Chunks loop shouldn't check more chunks per seconds than given number (default is 100000) X+ X+*CHUNKS_LOOP_MIN_TIME*:: X+Chunks loop will check all chunks in specified time (default is 300) unless *CHUNKS_LOOP_MAX_CPS* X+will force slower execution. X+ X+*CHUNKS_LOOP_PERIOD*:: X+Time in milliseconds between chunks loop execution (default is 1000). X+ X+*CHUNKS_LOOP_MAX_CPU*:: X+Hard limit on CPU usage by chunks loop (percentage value, default is 60). X+ X+*CHUNKS_SOFT_DEL_LIMIT*:: X+Soft maximum number of chunks to delete on one chunkserver (default is 10) X+ X+*CHUNKS_HARD_DEL_LIMIT*:: X+Hard maximum number of chunks to delete on one chunkserver (default is 25) X+ X+*CHUNKS_WRITE_REP_LIMIT*:: X+Maximum number of chunks to replicate to one chunkserver (default is 2) X+ X+*CHUNKS_READ_REP_LIMIT*:: X+Maximum number of chunks to replicate from one chunkserver (default is 10) X+ X+*ENDANGERED_CHUNKS_PRIORITY*:: X+Percentage of endangered chunks that should be replicated with high priority. X+Example: when set to 0.2, up to 20% of chunks served in one turn would be extracted X+from endangered priority queue. X+When set to 1 (max), no other chunks would be processed as long as there are X+any endangered chunks in the queue (not advised) X+(default is 0, i.e. there is no overhead for prioritizing endangered chunks). X+ X+*ENDANGERED_CHUNKS_MAX_CAPACITY*:: X+Max capacity of endangered chunks queue. This value can limit memory usage of master server X+if there are lots of endangered chunks in the system. X+This value is ignored if ENDANGERED_CHUNKS_PRIORITY is set to 0. X+(default is 1Mi, i.e. no more than 1Mi chunks will be kept in a queue). X+ X+*ACCEPTABLE_DIFFERENCE*:: X+A maximum difference between disk usage on chunkservers that doesn't trigger chunk rebalancing X+(default is 0.1, i.e. 10%). X+ X+*CHUNKS_REBALANCING_BETWEEN_LABELS*:: X+When balancing disk usage, allow moving chunks between servers with different labels X+(default is 0, i.e. chunks will be moved only between servers with the same label). X+ X+*REJECT_OLD_CLIENTS*:: X+Reject **lizardfs-mount**s older than 1.6.0 (0 or 1, default is 0). Note that *lizardfs-exports* access control X+is NOT used for those old clients. X+ X+*GLOBALIOLIMITS_FILENAME*:: X+Configuration of global I/O limits (default is no I/O limiting) X+ X+*GLOBALIOLIMITS_RENEGOTIATION_PERIOD_SECONDS*:: X+How often mountpoints will request bandwidth allocations under constant, predictable load X+(default is 0.1) X+ X+*GLOBALIOLIMITS_ACCUMULATE_MS*:: X+After inactivity, no waiting is required to transfer the amount of data equivalent to normal X+data flow over the period of that many milliseconds (default is 250) X+ X+*METADATA_CHECKSUM_INTERVAL*:: X+how often metadata checksum shall be sent to backup servers (default is: every 50 metadata updates) X+ X+*METADATA_CHECKSUM_RECALCULATION_SPEED*:: X+how fast should metadata be recalculated in background (default : 100 objects per function call) X+ X+*DISABLE_METADATA_CHECKSUM_VERIFICATION*:: X+should checksum verification be disabled while applying changelog X+ X+*NO_ATIME*:: X+when this option is set to 1 inode access time is not updated on every access, otherwise X+(when set to 0) it is updated (default is 0) X+ X+*METADATA_SAVE_REQUEST_MIN_PERIOD*:: X+minimal time in seconds between metadata dumps caused by requests from shadow masters X+(default is 1800) X+ X+*SESSION_SUSTAIN_TIME*:: X+Time in seconds for which client session data (e.g. list of open files) should be sustained X+in the master server after connection with the client was lost. X+Values between 60 and 604800 (one week) are accepted. (default is 86400) X+ X+*USE_BDB_FOR_NAME_STORAGE*:: X+When this option is set to 1 Berkley DB is used for storing file/directory names X+in file (DATA_PATH/name_storage.db). By default all strings are kept in system memory. X+(default is 0) X+ X+*BDB_NAME_STORAGE_CACHE_SIZE*:: X+Size of memory cache (in MB) for file/directory names used by Berkeley DB storage. X+(default is 10) X+ X+*AVOID_SAME_IP_CHUNKSERVERS*:: X+When this option is set to 1, process of selecting chunkservers for chunks will try to avoid X+using those that share the same ip. (default is 0) X+ X+*REDUNDANCY_LEVEL*:: X+minimum number of required redundant chunk parts that can be lost before chunk becomes endangered X+(default is 0) X+ X+*SNAPSHOT_INITIAL_BATCH_SIZE*:: X+This option can be used to specify initial number of snapshotted nodes that will be atomically cloned X+before enqueuing the task for execution in fixed-sized batches. (default is 1000) X+ X+*SNAPSHOT_INITIAL_BATCH_SIZE_LIMIT*:: X+This option specifies the maximum initial batch size set for snapshot request. (default is 10000) X+ X+*FILE_TEST_LOOP_MIN_TIME* X+Test files loop will try to check all files in specified time in seconds (default is 3600). X+It's possible for the loop to take more time if the master server is busy or the machine X+doesn't have enough processing power to make all the needed calculations. X+ X+Options below are mandatory for all Shadow instances: X+ X+*MASTER_HOST*:: X+address of the host running LizardFS metadata server that currently acts as 'master' X+ X+*MASTER_PORT*:: X+port number where LizardFS metadata server currently running as 'master' listens for connections X+from 'shadow's and metaloggers (default is 9420) X+ X+*MASTER_RECONNECTION_DELAY*:: X+delay in seconds before trying to reconnect to metadata server after disconnection (default is 1) X+ X+*MASTER_TIMEOUT*:: X+timeout (in seconds) for metadata server connections (default is 60) X+ X+*LOAD_FACTOR_PENALTY*:: X+When set, percentage of load will be added to chunkserver disk usage to determine most fitting X+chunkserver. Heavy loaded chunkservers will be picked for operations less frequently. X+(default is 0, correct values are in range from 0 to 0.5) X+ X+== NOTES X+ X+Chunks in master are tested in loop. Speed (or frequency) is regulated by two options X+*CHUNKS_LOOP_MIN_TIME* and *CHUNKS_LOOP_MAX_CPS*. First defines minimal time of the loop and second X+maximal number of chunk tests per second. Typically at the beginning, when number of chunks is X+small, time is constant, regulated by *CHUNK_LOOP_MIN_TIME*, but when number of chunks became bigger X+then time of loop can increase according to *CHUNKS_LOOP_MAX_CPS*. X+ X+Deletion limits are defined as 'soft' and 'hard' limit. When number of chunks to delete increases X+from loop to loop then current limit can be temporary increased above soft limit, but never above X+hard limit. X+ X+== COPYRIGHT X+ X+Copyright 2008-2009 Gemius SA, 2013-2017 Skytechnology sp. z o.o. X+ X+LizardFS is free software: you can redistribute it and/or modify it under the terms of the GNU X+General Public License as published by the Free Software Foundation, version 3. X+ X+LizardFS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even X+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General X+Public License for more details. X+ X+You should have received a copy of the GNU General Public License along with LizardFS. If not, see X+. X+ X+== SEE ALSO X+ X+lizardfs-master(8), lizardfs-exports.cfg(5), lizardfs-topology.cfg(5) X--- doc/lizardfs-metadump.8.txt.orig 2018-01-27 00:18:17 UTC X+++ doc/lizardfs-metadump.8.txt X@@ -0,0 +1,20 @@ X+lizardfs-metadump(8) X+==================== X+ X+== NAME X+ X+lizardfs-metadump - a networking, distributed, highly available file system X+ X+== SYNOPSIS X+ X+[verse] X+*lizardfs-metadump* 'metadata_file'... X+ X+== DESCRIPTION X+ X+*lizardfs-metadump* X+dumps file system metadata into specified file. X+ X+== SEE ALSO X+ X+lizardfs(1) X--- doc/lizardfs-metalogger.8.txt.orig 2018-01-27 00:18:17 UTC X+++ doc/lizardfs-metalogger.8.txt X@@ -0,0 +1,95 @@ X+lizardfs-metalogger(8) X+====================== X+ X+== NAME X+ X+lizardfs-metalogger - start, restart or stop Lizard File System metalogger process X+ X+== SYNOPSIS X+ X+[verse] X+*lizardfs-metalogger* [*-f*] [*-c* 'CFGFILE'] [*-u*] [*-d*] [*-t* 'LOCKTIMEOUT'] ['ACTION'] X+ X+[verse] X+*lizardfs-metalogger -s* [*-c* 'CFGFILE'] X+ X+[verse] X+*lizardfs-metalogger -v* X+ X+[verse] X+*lizardfs-metalogger -h* X+ X+== DESCRIPTION X+ X+*lizardfs-metalogger* is the metadata replication server of Lizard File System. Depending on parameters it X+can start, restart or stop LizardFS metalogger process. Without any options it starts LizardFS X+metalogger, killing previously run process if lock file exists. X+ X+SIGHUP (or 'reload' 'ACTION') forces *lizardfs-metalogger* to reload all configuration files. X+ X+*-v*:: X+print version information and exit X+ X+*-h*:: X+print usage information and exit X+ X+*-c* 'CFGFILE':: X+specify alternative path of configuration file (default is *lizardfs-metalogger.cfg* in system X+configuration directory) X+ X+*-u*:: X+log undefined configuration values (when default is assumed) X+ X+*-d*:: X+run in foreground, don't daemonize X+ X+*-t* 'LOCKTIMEOUT':: X+how long to wait for lockfile (default is 60 seconds) X+ X+'ACTION' X+is the one of *start*, *stop*, *restart*, *reload*, *test*, *isalive* or *kill*. Default action is X+*restart*. X+ X+== FILES X+ X+*lizardfs-metalogger.cfg*:: X+configuration file for LizardFS metalogger process; refer to *lizardfs-metalogger.cfg*(5) manual for X+defails X+ X+*lizardfs-metalogger.lock*:: X+PID file of running LizardFS metalogger process X+ X+*.lizardfs-metalogger.lock*:: X+lock file of running LizardFS metalogger process X+(created in data directory) X+ X+*changelog_ml.***.mfs*:: X+LizardFS filesystem metadata change logs (backup of master change log files) X+ X+*metadata.ml.mfs.back*:: X+Latest copy of complete metadata.mfs.back file from LizardFS master. X+ X+*sessions.ml.mfs*:: X+Latest copy of sessions.mfs file from LizardFS master. X+ X+== REPORTING BUGS X+ X+Report bugs to . X+ X+== COPYRIGHT X+ X+Copyright 2008-2009 Gemius SA, 2013-2015 Skytechnology sp. z o.o. X+ X+LizardFS is free software: you can redistribute it and/or modify it under the terms of the GNU X+General Public License as published by the Free Software Foundation, version 3. X+ X+LizardFS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even X+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General X+Public License for more details. X+ X+You should have received a copy of the GNU General Public License along with LizardFS. If not, see X+. X+ X+== SEE ALSO X+ X+lizardfs-master(8), lizardfs-metalogger.cfg(5), moosefs(7) X--- doc/lizardfs-metalogger.cfg.5.txt.orig 2018-01-27 00:18:17 UTC X+++ doc/lizardfs-metalogger.cfg.5.txt X@@ -0,0 +1,79 @@ X+lizardfs-metalogger.cfg(5) X+========================== X+ X+== NAME X+ X+lizardfs-metalogger.cfg - configuration file for lizardfs-metalogger X+ X+== DESCRIPTION X+ X+The file *lizardfs-metalogger.cfg* contains configuration of LizardFS metalogger process. X+ X+== SYNTAX X+ X+Syntax is: X+'OPTION' *=* 'VALUE' X+ X+Lines starting with *#* character are ignored. X+ X+== OPTIONS X+ X+Configuration options: X+ X+*DATA_PATH*:: X+where to store metadata files X+ X+*WORKING_USER*:: X+user to run daemon as X+ X+*WORKING_GROUP*:: X+group to run daemon as (optional - if empty then default user group will be used) X+ X+*SYSLOG_IDENT*:: X+name of process to place in syslog messages (default is lizardfs-metalogger) X+ X+*LOCK_MEMORY*:: X+whether to perform mlockall() to avoid swapping out lizardfs-metalogger process (default is 0, i.e. no) X+ X+*NICE_LEVEL*:: X+nice level to run daemon with (default is -19 if possible; note: process must be started as root to X+increase priority) X+ X+*BACK_LOGS*:: X+number of metadata change log files (default is 50) X+ X+*BACK_META_KEEP_PREVIOUS*:: X+number of previous metadata files to be kept (default is 3) X+ X+*META_DOWNLOAD_FREQ*:: X+metadata download frequency in hours (default is 24, at most *BACK_LOGS*/2) X+ X+*MASTER_HOST*:: X+address of LizardFS master host to connect with (default is lizardfs-master) X+ X+*MASTER_PORT*:: X+number of LizardFS master port to connect with (default is 9419) X+ X+*MASTER_RECONNECTION_DELAY*:: X+delay in seconds before trying to reconnect to master after disconnection (default is 30) X+ X+*MASTER_TIMEOUT*:: X+timeout (in seconds) for master connections (default is 60) X+ X+== COPYRIGHT X+ X+Copyright 2008-2009 Gemius SA, 2013-2015 Skytechnology sp. z o.o. X+ X+LizardFS is free software: you can redistribute it and/or modify it under the terms of the GNU X+General Public License as published by the Free Software Foundation, version 3. X+ X+LizardFS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even X+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General X+Public License for more details. X+ X+You should have received a copy of the GNU General Public License along with LizardFS. If not, see X+. X+ X+== SEE ALSO X+ X+lizardfs-metalogger(8) X--- doc/lizardfs-metarestore.8.txt.orig 2018-01-27 00:18:17 UTC X+++ doc/lizardfs-metarestore.8.txt X@@ -0,0 +1,94 @@ X+lizardfs-metarestore(8) X+======================= X+ X+== NAME X+ X+lizardfs-metarestore - replay LizardFS metadata change logs or dump LizardFS metadata image X+ X+== SYNOPSIS X+ X+[verse] X+*lizardfs-metarestore* [*-z*] *-m* 'OLDMETADATAFILE' *-o* 'NEWMETADATAFILE' ['CHANGELOGFILE'...] X+ X+[verse] X+*lizardfs-metarestore* *-m* 'METADATAFILE' X+ X+[verse] X+*lizardfs-metarestore* [*-z*] *-a* [*-d* 'DIRECTORY'] X+ X+[verse] X+*lizardfs-metarestore* *-g* *-d* 'DIRECTORY' X+ X+[verse] X+*lizardfs-metarestore -v* X+ X+[verse] X+*lizardfs-metarestore -?* X+ X+== DESCRIPTION X+ X+When *lizardfs-metarestore* is called with both *-m* and *-o* options, it replays given 'CHANGELOGFILEs' X+on 'OLDMETADATAFILE' and writes result to 'NEWMETADATAFILE'. Multiple change log files can be given. X+ X+*lizardfs-metarestore* with just *-m* 'METADATAFILE' option dumps LizardFS metadata image file in human X+readable form. X+ X+*lizardfs-metarestore* called with -a option automatically performs all operations needed to merge change X+log files. Master data directory can be specified using -d 'DIRECTORY' option. X+ X+*lizardfs-metarestore* -g with path to metadata files, prints latest metadata version that can be restored from disk. X+Prints 0 if metadata files are corrupted. X+ X+*-v*:: X+print version information and exit X+ X+*-?*:: X+print version information and exit X+ X+*-a*:: X+autorestore mode (see above) X+ X+*-d* 'DATAPATH':: X+master data directory (for autorestore mode) X+ X+*-m* 'METADATAFILE':: X+specify input metadata image file X+ X+*-o* 'NEWMETADATAFILE':: X+specify output metadata image file X+ X+*-z*:: X+ignore metadata checksum inconsistency while applying changelogs X+ X+== FILES X+ X+*metadata.mfs*:: X+Lizard File System metadata image as read by *lizardfs-master* process X+ X+*metadata.mfs.back*:: X+Lizard File System metadata image as left by killed or crashed *lizardfs-master* process X+ X+*changelog.***.mfs*:: X+Lizard File System metadata change logs X+ X+== REPORTING BUGS X+ X+Report bugs to . X+ X+== COPYRIGHT X+ X+Copyright 2008-2009 Gemius SA, 2013-2015 Skytechnology sp. z o.o. X+ X+LizardFS is free software: you can redistribute it and/or modify it under the terms of the GNU X+General Public License as published by the Free Software Foundation, version 3. X+ X+LizardFS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even X+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General X+Public License for more details. X+ X+You should have received a copy of the GNU General Public License along with LizardFS. If not, see X+. X+ X+== SEE ALSO X+ X+lizardfs-master(8), moosefs(7) X--- doc/lizardfs-mount.1.txt.orig 2018-01-27 00:18:17 UTC X+++ doc/lizardfs-mount.1.txt X@@ -0,0 +1,267 @@ X+lizardfs-mount(1) X+================= X+ X+== NAME X+ X+lizardfs-mount - mount Lizard File System X+ X+== SYNOPSIS X+ X+[verse] X+*lizardfs-mount* 'mountpoint' [*-d*] [*-f*] [*-s*] [*-m*] [*-n*] [*-p*] X+ [*-H* 'HOST'] [*-P* 'PORT'] [*-S* 'PATH'] [*-o* 'opt'[,'opt']...] X+ X+[verse] X+*lizardfs-mount* *-h*|*--help* X+ X+[verse] X+*lizardfs-mount* *-V*|*--version* X+ X+== DESCRIPTION X+ X+Mount Lizard File System. X+ X+General options: X+ X+*-h*, *--help*:: X+display help and exit X+ X+*-V*:: X+display version information and exit X+ X+FUSE options: X+ X+*-d*, *-o debug*:: X+enable debug mode (implies *-f*) X+ X+*-f*:: X+foreground operation X+ X+*-s*:: X+disable multi-threaded operation X+ X+LizardFS options: X+ X+*-c* 'CFGFILE', *-o mfscfgfile=*'CFGFILE':: X+loads file with additional mount options X+ X+*-m*, *--meta*, *-o mfsmeta*:: X+mount MFSMETA companion filesystem instead of primary LizardFS X+ X+*-n*:: X+omit default mount options (*-o allow_other,default_permissions*) X+ X+*-p*, *-o askpassword*:: X+prompt for password (interactive version of *-o mfspassword=*'PASS') X+ X+*-H* 'HOST', *-o lizardfs-master=*'HOST':: X+connect with LizardFS master on 'HOST' (default is lizardfs-master) X+ X+*-P* 'PORT', *-o mfsport=*'PORT':: X+connect with LizardFS master on 'PORT' (default is 9421) X+ X+*-B* 'HOST', *-o mfsbind=*'HOST':: X+local address to use for connecting with master instead of default one X+ X+*-S* 'PATH', *-o mfssubfolder=*'PATH':: X+mount specified LizardFS directory (default is /, i.e. whole filesystem) X+ X+*-o enablefilelocks=*[0,1]:: X+enables/disables global file locking (disabled by default) X+ X+*-o mfspassword=*'PASSWORD':: X+authenticate to LizardFS master with 'PASSWORD' X+ X+*-o mfsmd5pass=*'MD5':: X+authenticate to LizardFS master using directly given 'MD5' (only if *mfspassword* option is not X+specified) X+ X+*-o mfsdelayedinit*:: X+connection with master is done in background - with this option mount can be run without network X+(good for being run from fstab / init scripts etc.) X+ X+*-o mfsacl*:: X+enable ACL support (disabled by default) X+ X+*-o mfsaclcacheto=*'SEC':: X+set ACL cache timeout in seconds (default: 1.0) X+ X+*-o mfsaclcachesize=*'N':: X+define ACL cache size in number of entries (0: no cache; default: 1000) X+ X+*-o mfsrwlock=*'0|1':: X+when set to 1, parallel reads from the same descriptor are performed (default: 1) X+ X+*-o mfsmkdircopysgid=*'N':: X+sgid bit should be copied during mkdir operation (on linux default: 1, otherwise: 0) X+ X+*-o mfssugidclearmode=*'SMODE':: X+set sugid clear mode (see below) X+ X+*-o mfsdebug*:: X+print some LizardFS-specific debugging information X+ X+*-o mfscachemode=*'CACHEMODE':: X+set cache mode (see *DATA CACHE MODES*; default is AUTO) X+ X+*-o mfscachefiles*:: X+(deprecated) preserve file data in cache (equivalent to *-o mfscachemode=*'YES') X+ X+*-o mfsattrcacheto=*'SEC':: X+set attributes cache timeout in seconds (default: 1.0) X+ X+*-o mfsentrycacheto=*'SEC':: X+set file entry cache timeout in seconds (default: 0.0, i.e. no cache) X+ X+*-o mfsdirentrycacheto=*'SEC':: X+set directory entry cache timeout in seconds (default: 1.0) X+ X+*-o mfswritecachesize=*'N':: X+specify write cache size in MiB (in range: 16..2048 - default: 128) X+ X+*-o mfscacheperinodepercentage=*'N':: X+specify what part of the write cache non occupied by other inodes can a single inode occupy X+(measured in %). X+E.g. When N=75 and the inode X uses 10 MiB, and all other inodes use 20 MiB out of 100 MiB cache, X+X can use 50 MiB more (since 75% of 80 MiB is 60 MiB). X+Default: 25. X+ X+*-o lizardfs-chunkserverreadto=*'MSEC':: X+set timeout for whole communication with a chunkserver during read operation in milliseconds (default: 2000) X+ X+*-o lizardfs-chunkserverwriteto=*'MSEC':: X+set chunkserver response timeout during write operation in milliseconds (default: 5000) X+ X+*-o lizardfs-chunkserverrtt=*'MSEC':: X+set timeout after which SYN packet is considered lost during the first retry of connecting a chunkserver X+(default: 200) X+ X+*-o lizardfs-chunkserverconnectreadto=*'MSEC':: X+set timeout for connecting with chunkservers during read operation in milliseconds (default: 2000) X+ X+*-o lizardfs-chunkserverwavereadto=*'MSEC':: X+set timeout for executing each wave of a read operation in milliseconds (default: 500) X+ X+*-o lizardfs-chunkservertotalreadto=*'MSEC':: X+set timeout for the whole communication with chunkservers during a read operation in milliseconds (default: 2000) X+ X+*-o cacheexpirationtime=*'MSEC':: X+set timeout for read cache entries to be considered valid in milliseconds (0 disables cache) (default: 300) X+ X+*-o readaheadmaxwindowsize=*'KB':: X+set max value of readahead window per single descriptor in kibibytes (default: 16384) X+ X+*-o mfsrlimitnofile=*'N':: X+try to change limit of simultaneously opened file descriptors on startup X+(default: 100000) X+ X+*-o mfsnice=*'LEVEL':: X+try to change nice level to specified value on startup (default: -19) X+ X+*-o mfswriteworkers=*'N':: X+define number of write workers (default: 10) X+ X+*-o mfswritewindowsize=*'N':: X+define write window size (in blocks) for each chunk (default: 15) X+ X+*-o mfsmemlock*:: X+try to lock memory (must be enabled at build time) X+ X+*-o mfsdonotrememberpassword*:: X+do not remember password in memory - more secure, but when session is lost then new session is X+created without password X+ X+*-o mfsioretries=*'N':: X+specify number of retries before I/O error is returned (default: 30) X+ X+*-o mfsreportreservedperiod=*'N':: X+specify interval of reporting reserved inodes in seconds (default: 60) X+ X+*-o mfsiolimits=*'PATH':: X+specify local I/O limiting configuration file (default: no I/O limiting) X+ X+General mount options (see *mount*(8) manual): X+ X+*-o rw*|*-o ro*:: X+Mount file-system in read-write (default) or read-only mode respectively. X+ X+*-o suid*|*-o nosuid*:: X+Enable or disable suid/sgid attributes to work. X+ X+*-o dev*|*-o nodev*:: X+Enable or disable character or block special device files interpretation. X+ X+*-o exec*|*-o noexec*:: X+Allow or disallow execution of binaries. X+ X+*-o symlinkcachetimeout=*'N':: X+Set timeout value for symlink cache timeout in seconds. Default value is 3600. X+ X+*-o bandwidthoveruse=*'N':: X+Define ratio of allowed bandwidth overuse when fetching data. Default value is 1.0. X+This option is effective only with N+M goals (xors and erasure codes). X+ X+== DATA CACHE MODES X+ X+There are three cache modes: *NO*, *YES* and *AUTO*. Default option is *AUTO* and you shuldn't X+change it unless you really know what you are doing. In *AUTO* mode data cache is managed X+automatically by lizardfs-master. X+ X+*NO*,*NONE* or *NEVER*:: X+never allow files data to be kept in cache (safest but can reduce efficiency) X+ X+*YES* or *ALWAYS*:: X+always allow files data to be kept in cache (dangerous) X+ X+*AUTO*:: X+file cache is managed by lizardfs-master automatically (should be very safe and efficient) X+ X+== SUGID CLEAR MODE X+ X+SMODE can be set to: X+ X+ - *NEVER* - MFS will not change suid and sgid bit on chown X+ X+ - *ALWAYS* - clear suid and sgid on every chown - safest operation X+ X+ - *OSX* - standard behavior in OS X and Solaris (chown made by unprivileged user clear suid X+ and sgid) X+ X+ - *BSD* - standard behavior in BSD systems (like in OSX, but only when something is really X+ changed) X+ X+ - *EXT* - standard behavior in most file systems on Linux (directories not changed, X+ others: suid cleared always, sgid only when group exec bit is set) X+ X+ - *XFS* - standard behavior in XFS on Linux (like EXT but directories are changed X+ by unprivileged users) X+ X+SMODE extra info: X+ X+btrfs,ext2,ext3,ext4,hfs[+],jfs,ntfs and reiserfs on Linux work as 'EXT'. X+ X+Only xfs on Linux works a little different. Beware that there is a strange X+operation - chown(-1,-1) which is usually converted by a kernel into something X+like 'chmod ug-s', and therefore can't be controlled by MFS as 'chown' X+ X+== REPORTING BUGS X+ X+Report bugs to . X+ X+== COPYRIGHT X+ X+Copyright 2008-2009 Gemius SA, 2013-2015 Skytechnology sp. z o.o. X+ X+LizardFS is free software: you can redistribute it and/or modify it under the terms of the GNU X+General Public License as published by the Free Software Foundation, version 3. X+ X+LizardFS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even X+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General X+Public License for more details. X+ X+You should have received a copy of the GNU General Public License along with LizardFS. If not, see X+. X+ X+== SEE ALSO X+ X+lizardfs-master(8), mfstools(1), moosefs(7), mount(8) X--- doc/lizardfs-mount.cfg.5.txt.orig 2018-01-27 00:18:17 UTC X+++ doc/lizardfs-mount.cfg.5.txt X@@ -0,0 +1,62 @@ X+lizardfs-mount.cfg(5) X+===================== X+ X+== NAME X+ X+lizardfs-mount.cfg - configuration file for the lizardfs-mount command X+ X+== SYNTAX X+ X+OPTION,OPTION,OPTION,... X+ X+OPTION X+ X+PATH X+ X+The *#* character starts comments. X+ X+== DESCRIPTION X+ X+The *lizardfs-mount.cfg* file defines the default mountpoint and the default lizardfs-mount X+specific mount options for the lizardfs-mount command. Options can be either stated X+in one line as a comma separated list of options, or by giving one option per X+line. Options not lizardfs-mount specific will be ignored. X+ X+The default mount point should be listed on a separate line, giving the full X+path. Lines starting with the *#* character are ignored. X+ X+=== EXAMPLES X+ X+ # X+ # Default Options X+ # X+ lizardfs-master=192.168.1.1 X+ mfspassword=changeme X+ # X+ # Default mount point X+ # X+ /mnt/lizardfs X+ X+ X+=== REPORTING BUGS X+ X+Report bugs to . X+ X+=== COPYRIGHT X+ X+2016 Skytechnology Sp. z o.o. X+ X+LizardFS is free software: you can redistribute it and/or modify it under the X+terms of the GNU General Public License as published by the Free Software X+Foundation, version 3. X+ X+LizardFS is distributed in the hope that it will be useful, but WITHOUT ANY X+WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR X+A PARTICULAR PURPOSE. See the GNU General Public License for more details. X+ X+You should have received a copy of the GNU General Public License along with X+LizardFS. If not, see . X+ X+== SEE ALSO X+ X+lizardfs-mount(1) lizardfs(7) X--- doc/lizardfs-repquota.1.txt.orig 2017-12-20 09:59:37 UTC X+++ doc/lizardfs-repquota.1.txt X@@ -46,7 +46,7 @@ long as the quota is not raised or some X user cannot extend existing files by adding new chunks to them. X X In general quotas can be set only by a superuser, but there is a workaround available - one can set X-SESFLAG_ALLCANCHANGEQUOTA in mfsexports.cfg file. A user can only retrieve a quota of his own (and X+SESFLAG_ALLCANCHANGEQUOTA in lizardfs-exports.cfg file. A user can only retrieve a quota of his own (and X of his primary group). X X *repquota* prints a summary of the limits that were set and inode/space usage for specified X--- doc/lizardfs-topology.cfg.5.txt.orig 2018-01-27 00:18:17 UTC X+++ doc/lizardfs-topology.cfg.5.txt X@@ -0,0 +1,64 @@ X+lizardfs-topology.cfg(5) X+======================== X+ X+== NAME X+ X+lizardfs-topology.cfg - LizardFS network topology definitions X+ X+== DESCRIPTION X+ X+The file *lizardfs-topology.cfg* contains assignments of IP addresses into network locations (usually X+switch numbers). This file is optional. If your network has one switch or decreasing traffic between X+switches is not necessary then leave this file empty. X+ X+== SYNTAX X+ X+Syntax is: X+ X+'ADDRESS' 'SWITCH-NUMBER' X+ X+Lines starting with *#* character are ignored. X+ X+'ADDRESS' can be specified in several forms: X+ X+- *** all addresses X+ X+- *n.n.n.n* single IP address X+ X+- *n.n.n.n/b* IP class specified by network address and bits number X+ X+- *n.n.n.n/m.m.m.m* IP class specified by network address and mask X+ X+- *f.f.f.f-t.t.t.t* IP range specified by from-to addresses (inclusive) X+ X+ X+'SWITCH-NUMBER' can be specified as any positive 32-bit numer. X+ X+== NOTES X+ X+If one IP belongs to more than one definition then last definition is used. X+ X+As for now distance between switches is constant. So distance between machines is calculated as: *0* X+when IP numbers are the same, *1* when IP numbers are different, but switch numbers are the same and X+*2* when switch numbers are different X+ X+Distances are used only to sort chunkservers during read and write operations. New chunks are still X+created randomly. Also rebalance routines do not take distances into account. X+ X+== COPYRIGHT X+ X+Copyright 2008-2009 Gemius SA, 2013-2015 Skytechnology sp. z o.o. X+ X+LizardFS is free software: you can redistribute it and/or modify it under the terms of the GNU X+General Public License as published by the Free Software Foundation, version 3. X+ X+LizardFS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even X+the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General X+Public License for more details. X+ X+You should have received a copy of the GNU General Public License along with LizardFS. If not, see X+. X+ X+== SEE ALSO X+ X+lizardfs-master(8), lizardfs-master.cfg(5) X--- doc/lizardfs.1.txt.orig 2017-12-20 09:59:37 UTC X+++ doc/lizardfs.1.txt X@@ -124,7 +124,7 @@ You should have received a copy of the G X X == SEE ALSO X X-mfsmount(1), lizardfs-appendchunks(1), lizardfs-checkfile(1), lizardfs-deleattr(1), lizardfs-dirinfo(1), lizardfs-fileinfo(1), X+lizardfs-mount(1), lizardfs-appendchunks(1), lizardfs-checkfile(1), lizardfs-deleattr(1), lizardfs-dirinfo(1), lizardfs-fileinfo(1), X lizardfs-filerepair(1), lizardfs-geteattr(1), lizardfs-getgoal(1), lizardfs-gettrashtime(1), lizardfs-makesnapshot(1), X lizardfs-rgetgoal(1), lizardfs-rgettrashtime(1), lizardfs-rsetgoal(1), lizardfs-rsettrashtime(1), lizardfs-seteattr(1), X lizardfs-setgoal(1), lizardfs-settrashtime(1), lizardfs-rremove(1), lizardfs-repquota(1), lizardfs-setquota(1), moosefs(7) X-moosefs(7) X-mfsmaster(8), mfsmount(1), mfschunkserver.cfg(5), mfshdd.cfg(5), moosefs(7) X-mfschunkserver(8), mfshdd.cfg(5) X-mfsmaster(8), mfsmaster.cfg(5) X-mfsmaster.cfg(5) X-mfschunkserver(8), mfschunkserver.cfg(5) X-moosefs(7) X-mfsmaster(8), mfsexports.cfg(5), mfstopology.cfg(5) X-mfstools(1) X-mfsmaster(8), mfsmetalogger.cfg(5), moosefs(7) X-mfsmetalogger(8) X-mfsmaster(8), moosefs(7) X-mfsmaster(8), mfstools(1), moosefs(7), mount(8) X-mfsmount(1) lizardfs(7) X- X-.BR moosefs (7) X-mfsmaster(8), mfsmaster.cfg(5) X--- doc/moosefs.7.txt.orig 2017-12-20 09:59:37 UTC X+++ doc/moosefs.7.txt X@@ -47,10 +47,10 @@ LizardFS installation consists of five t X themselves (if a certain file is supposed to exist in more than one copy). X X - metadata backup servers - any number of servers, all of which store metadata changelogs and X- periodically downloading base metadata file; it's easy to run mfsmaster process on such machine when X+ periodically downloading base metadata file; it's easy to run lizardfs-master process on such machine when X primary master stops working. X X- - client computers referring to LizardFS stored files - any number of machines with working mfsmount X+ - client computers referring to LizardFS stored files - any number of machines with working lizardfs-mount X process that communicates with the managing server to receive and modify file information and with X chunkservers to exchange actual file data. X X@@ -84,4 +84,4 @@ You should have received a copy of the G X X == SEE ALSO X X-mfschunkserver(8), mfsmaster(8), mfsmetalogger(8), mfsmount(1), mfstools(1), lizardfs-admin(8) X+lizardfs-chunkserver(8), lizardfs-master(8), lizardfs-metalogger(8), lizardfs-mount(1), mfstools(1), lizardfs-admin(8) X--- patch-patchs-user.txt.orig 2018-01-27 00:18:17 UTC X+++ patch-patchs-user.txt X@@ -0,0 +1,4058 @@ X+diff -Nura ../lizardfs-3.12.0.orig/CMakeLists.txt ./CMakeLists.txt X+--- ../lizardfs-3.12.0.orig/CMakeLists.txt 2017-12-20 10:59:37.000000000 +0100 X++++ ./CMakeLists.txt X+@@ -16,13 +16,14 @@ X+ ) X+ endif() X+ X+-set(DEFAULT_USER "mfs" CACHE STRING "Default user to run daemons as") X+-set(DEFAULT_GROUP "mfs" CACHE STRING "Default group to run daemons as") X++set(DEFAULT_USER "lizardfs" CACHE STRING "Default user to run daemons as") X++set(DEFAULT_GROUP "lizardfs" CACHE STRING "Default group to run daemons as") X+ set(LIZARDFS_BLOCKS_IN_CHUNK 1024 CACHE INT "Number of blocks in one chunk") X+ set(LIZARDFS_BLOCK_SIZE 65536 CACHE INT "Number of bytes in one block") X+ option(ENABLE_WERROR "Enable treating compilation warnings as errors" OFF) X+ option(ENABLE_LIGHTMFS "Enable light version of LizardFS" OFF) X+ option(ENABLE_DEBIAN_PATHS "Enable Debian-style install paths" OFF) X++option(ENABLE_BSD_PATHS "Enable BSD-style install paths" OFF) X+ option(ENABLE_UTILS "Enable building additional binaries used e.g. in tests" OFF) X+ option(ENABLE_TESTS "Enable building unit and functional tests" OFF) X+ option(ENABLE_DOCS "Enable building the documentation" ON) X+@@ -51,6 +52,7 @@ X+ message(STATUS "ENABLE_WERROR: ${ENABLE_WERROR}") X+ message(STATUS "ENABLE_LIGHTMFS: ${ENABLE_LIGHTMFS}") X+ message(STATUS "ENABLE_DEBIAN_PATHS: ${ENABLE_DEBIAN_PATHS}") X++message(STATUS "ENABLE_BSD_PATHS: ${ENABLE_BSD_PATHS}") X+ message(STATUS "ENABLE_UTILS: ${ENABLE_UTILS}") X+ message(STATUS "ENABLE_TESTS: ${ENABLE_TESTS}") X+ message(STATUS "ENABLE_DOCS: ${ENABLE_DOCS}") X+@@ -182,19 +184,29 @@ X+ set(BIN_SUBDIR "usr/bin") X+ set(SBIN_SUBDIR "usr/sbin") X+ set(LIB_SUBDIR "usr/lib${LIBSUFFIX}") X+- set(ETC_SUBDIR "etc/mfs") X+- set(RUN_SUBDIR "var/run/mfs") X+- set(DATA_SUBDIR "var/lib/mfs") X++ set(ETC_SUBDIR "etc/lizardfs") X++ set(RUN_SUBDIR "var/run/lizardfs") X++ set(DATA_SUBDIR "var/lib/lizardfs") X+ set(MAN_SUBDIR "usr/share/man") X+ set(CGI_SUBDIR "usr/share/mfscgi") X+ set(INCL_SUBDIR "usr/include/lizardfs") X++elseif(ENABLE_BSD_PATHS) X++ set(BIN_SUBDIR "bin") X++ set(SBIN_SUBDIR "sbin") X++ set(LIB_SUBDIR "lib${LIBSUFFIX}") X++ set(ETC_SUBDIR "etc/lizardfs") X++ set(RUN_SUBDIR "/var/run/lizardfs") X++ set(DATA_SUBDIR "/var/lib/lizardfs") X++ set(MAN_SUBDIR "man") X++ set(CGI_SUBDIR "share/mfscgi") X++ set(INCL_SUBDIR "include/lizardfs") X+ else() X+ set(BIN_SUBDIR "bin") X+ set(SBIN_SUBDIR "sbin") X+ set(LIB_SUBDIR "lib${LIBSUFFIX}") X+- set(ETC_SUBDIR "etc/mfs") X+- set(RUN_SUBDIR "var/run/mfs") X+- set(DATA_SUBDIR "var/lib/mfs") X++ set(ETC_SUBDIR "etc/lizardfs") X++ set(RUN_SUBDIR "var/run/lizardfs") X++ set(DATA_SUBDIR "var/lib/lizardfs") X+ set(MAN_SUBDIR "share/man") X+ set(CGI_SUBDIR "share/mfscgi") X+ set(INCL_SUBDIR "include/lizardfs") X+@@ -205,8 +217,13 @@ X+ set(SBIN_PATH ${INSTALL_PREFIX_NO_SLASH}/${SBIN_SUBDIR}) X+ set(LIB_PATH ${INSTALL_PREFIX_NO_SLASH}/${LIB_SUBDIR}) X+ set(ETC_PATH ${INSTALL_PREFIX_NO_SLASH}/${ETC_SUBDIR}) X+-set(RUN_PATH ${INSTALL_PREFIX_NO_SLASH}/${RUN_SUBDIR}) X+-set(DATA_PATH ${INSTALL_PREFIX_NO_SLASH}/${DATA_SUBDIR}) X++if(ENABLE_BSD_PATHS) X++ set(RUN_PATH ${RUN_SUBDIR}) X++ set(DATA_PATH ${DATA_SUBDIR}) X++else() X++ set(RUN_PATH ${INSTALL_PREFIX_NO_SLASH}/${RUN_SUBDIR}) X++ set(DATA_PATH ${INSTALL_PREFIX_NO_SLASH}/${DATA_SUBDIR}) X++endif() X+ set(MAN_PATH ${INSTALL_PREFIX_NO_SLASH}/${MAN_SUBDIR}) X+ set(CGI_PATH ${INSTALL_PREFIX_NO_SLASH}/${CGI_SUBDIR}) X+ set(INCL_PATH ${INSTALL_PREFIX_NO_SLASH}/${INCL_SUBDIR}) X+diff -Nura ../lizardfs-3.12.0.orig/debian/control ./debian/control X+--- ../lizardfs-3.12.0.orig/debian/control 2017-12-20 10:59:37.000000000 +0100 X++++ ./debian/control X+@@ -23,7 +23,7 @@ X+ Package: lizardfs-common X+ Architecture: any X+ Depends: ${shlibs:Depends}, ${misc:Depends}, X+- adduser X++ adduser, dialog X+ Conflicts: mfs-common X+ Replaces: mfs-common X+ Provides: mfs-common X+diff -Nura ../lizardfs-3.12.0.orig/debian/lizardfs-cgiserv.install ./debian/lizardfs-cgiserv.install X+--- ../lizardfs-3.12.0.orig/debian/lizardfs-cgiserv.install 2017-12-20 10:59:37.000000000 +0100 X++++ ./debian/lizardfs-cgiserv.install X+@@ -1,4 +1,3 @@ X+ usr/sbin/lizardfs-cgiserver X+ usr/sbin/mfscgiserv X+ usr/share/man/man8/lizardfs-cgiserver.8 X+-usr/share/man/man8/mfscgiserv.8 X+diff -Nura ../lizardfs-3.12.0.orig/debian/lizardfs-chunkserver.install ./debian/lizardfs-chunkserver.install X+--- ../lizardfs-3.12.0.orig/debian/lizardfs-chunkserver.install 2017-12-20 10:59:37.000000000 +0100 X++++ ./debian/lizardfs-chunkserver.install X+@@ -1,6 +1,6 @@ X+-etc/mfs/mfschunkserver.cfg.dist X+-etc/mfs/mfshdd.cfg.dist X+-usr/sbin/mfschunkserver X+-usr/share/man/man5/mfschunkserver.cfg.5 X+-usr/share/man/man5/mfshdd.cfg.5 X+-usr/share/man/man8/mfschunkserver.8 X++etc/lizardfs/lizardfs-chunkserver.cfg.dist X++etc/lizardfs/lizardfs-hdd.cfg.dist X++usr/sbin/lizardfs-chunkserver X++usr/share/man/man5/lizardfs-chunkserver.cfg.5 X++usr/share/man/man5/lizardfs-hdd.cfg.5 X++usr/share/man/man8/lizardfs-chunkserver.8 X+diff -Nura ../lizardfs-3.12.0.orig/debian/lizardfs-client.install ./debian/lizardfs-client.install X+--- ../lizardfs-3.12.0.orig/debian/lizardfs-client.install 2017-12-20 10:59:37.000000000 +0100 X++++ ./debian/lizardfs-client.install X+@@ -1,4 +1,4 @@ X+-etc/mfs/mfsmount.cfg.dist X++etc/lizardfs/lizardfs-mount.cfg.dist X+ usr/bin/mfsappendchunks X+ usr/bin/mfscheckfile X+ usr/bin/mfsdeleattr X+@@ -9,7 +9,7 @@ X+ usr/bin/mfsgeteattr X+ usr/bin/mfsgettrashtime X+ usr/bin/mfsmakesnapshot X+-usr/bin/mfsmount X++usr/bin/lizardfs-mount X+ usr/bin/mfsrepquota X+ usr/bin/mfsrgetgoal X+ usr/bin/mfsrgettrashtime X+@@ -44,5 +44,5 @@ X+ usr/share/man/man1/lizardfs.1 X+ usr/share/man/man7/mfs.7 X+ usr/share/man/man7/moosefs.7 X+-usr/share/man/man1/mfsmount.1 X++usr/share/man/man1/lizardfs-mount.1 X+ etc/bash_completion.d/lizardfs X+diff -Nura ../lizardfs-3.12.0.orig/debian/lizardfs-common.install ./debian/lizardfs-common.install X+--- ../lizardfs-3.12.0.orig/debian/lizardfs-common.install 2017-12-20 10:59:37.000000000 +0100 X++++ ./debian/lizardfs-common.install X+@@ -0,0 +1 @@ X++usr/bin/lizardfs-compatibility.sh X+\ No newline at end of file X+diff -Nura ../lizardfs-3.12.0.orig/debian/lizardfs-master.install ./debian/lizardfs-master.install X+--- ../lizardfs-3.12.0.orig/debian/lizardfs-master.install 2017-12-20 10:59:37.000000000 +0100 X++++ ./debian/lizardfs-master.install X+@@ -1,15 +1,14 @@ X+-etc/mfs/mfsexports.cfg.dist X+-etc/mfs/mfstopology.cfg.dist X+-etc/mfs/mfsgoals.cfg.dist X+-etc/mfs/mfsmaster.cfg.dist X+-usr/sbin/mfsmaster X+-usr/sbin/mfsrestoremaster X+-usr/sbin/mfsmetarestore X+-usr/sbin/mfsmetadump X+-usr/share/man/man5/mfsexports.cfg.5 X+-usr/share/man/man5/mfstopology.cfg.5 X+-usr/share/man/man5/mfsgoals.cfg.5 X+-usr/share/man/man5/mfsmaster.cfg.5 X+-usr/share/man/man8/mfsmaster.8 X+-usr/share/man/man8/mfsmetarestore.8 X+-var/lib/mfs/metadata.mfs.empty X++etc/lizardfs/lizardfs-exports.cfg.dist X++etc/lizardfs/lizardfs-topology.cfg.dist X++etc/lizardfs/lizardfs-goals.cfg.dist X++etc/lizardfs/lizardfs-master.cfg.dist X++usr/sbin/lizardfs-master X++usr/sbin/lizardfs-metarestore X++usr/sbin/lizardfs-metadump X++usr/share/man/man5/lizardfs-exports.cfg.5 X++usr/share/man/man5/lizardfs-topology.cfg.5 X++usr/share/man/man5/lizardfs-goals.cfg.5 X++usr/share/man/man5/lizardfs-master.cfg.5 X++usr/share/man/man8/lizardfs-master.8 X++usr/share/man/man8/lizardfs-metarestore.8 X++var/lib/lizardfs/metadata.mfs.empty X+diff -Nura ../lizardfs-3.12.0.orig/debian/lizardfs-metalogger.install ./debian/lizardfs-metalogger.install X+--- ../lizardfs-3.12.0.orig/debian/lizardfs-metalogger.install 2017-12-20 10:59:37.000000000 +0100 X++++ ./debian/lizardfs-metalogger.install X+@@ -1,4 +1,4 @@ X+-etc/mfs/mfsmetalogger.cfg.dist X+-usr/sbin/mfsmetalogger X+-usr/share/man/man5/mfsmetalogger.cfg.5 X+-usr/share/man/man8/mfsmetalogger.8 X++etc/lizardfs/lizardfs-metalogger.cfg.dist X++usr/sbin/lizardfs-metalogger X++usr/share/man/man5/lizardfs-metalogger.cfg.5 X++usr/share/man/man8/lizardfs-metalogger.8 X+diff -Nura ../lizardfs-3.12.0.orig/doc/CMakeLists.txt ./doc/CMakeLists.txt X+--- ../lizardfs-3.12.0.orig/doc/CMakeLists.txt 2017-12-20 10:59:37.000000000 +0100 X++++ ./doc/CMakeLists.txt X+@@ -27,29 +27,27 @@ X+ lizardfs-rsettrashtime.1 # not a source X+ lizardfs-makesnapshot.1 X+ lizardfs-rremove.1 X+- mfsmount.1 X++ lizardfs-mount.1 X+ lizardfs-repquota.1 X+ lizardfs-setquota.1 # not a source X+ lizardfs.1 X+ globaliolimits.cfg.5 X+ iolimits.cfg.5 X+- mfschunkserver.cfg.5 X+- mfsexports.cfg.5 X+- mfsgoals.cfg.5 X+- mfshdd.cfg.5 X+- mfsmaster.cfg.5 X+- mfsmetalogger.cfg.5 X+- mfsmount.cfg.5 X+- mfstopology.cfg.5 X+- mfsmetadump.8 X+- mfsrestoremaster.8 X++ lizardfs-chunkserver.cfg.5 X++ lizardfs-exports.cfg.5 X++ lizardfs-goals.cfg.5 X++ lizardfs-hdd.cfg.5 X++ lizardfs-master.cfg.5 X++ lizardfs-metalogger.cfg.5 X++ lizardfs-mount.cfg.5 X++ lizardfs-topology.cfg.5 X++ lizardfs-metadump.8 X+ moosefs.7 X+ mfs.7 # not a source X+- mfscgiserv.8 X+- mfschunkserver.8 X+- mfsmaster.8 X+- mfsmetalogger.8 X+- mfsmetarestore.8 X++ lizardfs-chunkserver.8 X++ lizardfs-master.8 X++ lizardfs-metalogger.8 X++ lizardfs-metarestore.8 X+ ) X+ X+ set(INSTALLED_MANPAGES) X+diff -Nura ../lizardfs-3.12.0.orig/doc/globaliolimits.cfg.5.txt ./doc/globaliolimits.cfg.5.txt X+--- ../lizardfs-3.12.0.orig/doc/globaliolimits.cfg.5.txt 2017-12-20 10:59:37.000000000 +0100 X++++ ./doc/globaliolimits.cfg.5.txt X+@@ -71,7 +71,7 @@ X+ X+ To avoid overloading the master under heavy traffic, mounts try to predict their X+ future usage and reserve at once all the bandwidth they will for the next X+-renegotiation period (see mfsmaster.cfg(5)). X++renegotiation period (see lizardfs-master.cfg(5)). X+ X+ Such reservation are wasted if the traffic at given mount instance suddenly X+ drops. X+@@ -103,4 +103,4 @@ X+ X+ == SEE ALSO X+ X+-mfsmaster.cfg(5) X++lizardfs-master.cfg(5) X+diff -Nura ../lizardfs-3.12.0.orig/doc/iolimits.cfg.5.txt ./doc/iolimits.cfg.5.txt X+--- ../lizardfs-3.12.0.orig/doc/iolimits.cfg.5.txt 2017-12-20 10:59:37.000000000 +0100 X++++ ./doc/iolimits.cfg.5.txt X+@@ -29,4 +29,4 @@ X+ X+ == SEE ALSO X+ X+-mfsmount.cfg(5), globaliolimits.cfg(5) X++lizardfs-mount.cfg(5), globaliolimits.cfg(5) X+diff -Nura ../lizardfs-3.12.0.orig/doc/lizardfs-cgiserver.8.txt ./doc/lizardfs-cgiserver.8.txt X+--- ../lizardfs-3.12.0.orig/doc/lizardfs-cgiserver.8.txt 2017-12-20 10:59:37.000000000 +0100 X++++ ./doc/lizardfs-cgiserver.8.txt X+@@ -1,5 +1,5 @@ X+-mfscgiserv(8) X+-============= X++lizardfs-cgiserver(8) X++===================== X+ X+ == NAME X+ X+diff -Nura ../lizardfs-3.12.0.orig/doc/lizardfs-chunkserver.8.txt ./doc/lizardfs-chunkserver.8.txt X+--- ../lizardfs-3.12.0.orig/doc/lizardfs-chunkserver.8.txt 1970-01-01 01:00:00.000000000 +0100 X++++ ./doc/lizardfs-chunkserver.8.txt X+@@ -0,0 +1,114 @@ X++lizardfs-chunkserver(8) X++======================= X++ X++== NAME X++ X++lizardfs-chunkserver - start, restart or stop Lizard File System chunkserver process X++ X++== SYNOPSIS X++ X++[verse] X++*lizardfs-chunkserver* [*-f*] [*-c* 'CFGFILE'] [*-u*] [*-d*] [*-t* 'LOCKTIMEOUT'] ['ACTION'] X++ X++[verse] X++*lizardfs-chunkserver -s* [*-c* 'CFGFILE'] X++ X++[verse] X++*lizardfs-chunkserver -v* X++ X++[verse] X++*lizardfs-chunkserver -h* X++ X++ X++== DESCRIPTION X++ X++*lizardfs-chunkserver* is the data server of Lizard File System. Depending on parameters it can start, X++restart or stop LizardFS chunkserver process. Without any options it starts LizardFS chunkserver, X++killing previously run process if lock file exists. X++ X++SIGHUP (or *reload* 'ACTION') forces *lizardfs-chunkserver* to reload all configuration files. X++ X++Chunkserver periodically tests stored chunks (see *HDD_TEST_FREQ* option X++in *lizardfs-chunkserver.cfg* manual). X++ X++LizardFS master doesn't send metadata change logs to chunkserver and X++expect at least one *lizardfs-metalogger* daemon to connect. X++ X++Chunkserver scans attached disks in background. X++ X++== OPTIONS X++ X++*-v*:: X++print version information and exit X++ X++*-h*:: X++print usage information and exit X++ X++*-f*:: X++(deprecated, use *start* action instead) X++forcily run LizardFS chunkserver process, without trying to kill previous instance (this option X++allows to run LizardFS chunkserver if stale PID file exists) X++ X++*-s*:: X++(deprecated, use *stop* action instead) X++stop LizardFS chunkserver process X++ X++*-c* 'CFGFILE':: X++specify alternative path of configuration file (default is *lizardfs-chunkserver.cfg* in system X++configuration directory) X++ X++*-u*:: X++log undefined configuration values (when default is assumed) X++ X++*-d*:: X++run in foreground, don't daemonize X++ X++*-t* 'LOCKTIMEOUT':: X++how long to wait for lockfile (default is 60 seconds) X++ X++'ACTION' X++is the one of *start*, *stop*, *restart*, *reload*, *test*, *isalive* or *kill*. Default action is X++*restart*. X++ X++== FILES X++ X++*lizardfs-chunkserver.cfg*:: X++configuration file for LizardFS chunkserver process; refer to *lizardfs-chunkserver.cfg*(5) manual for X++defails X++ X++*lizardfs-hdd.cfg*:: X++list of directories (mountpoints) used for LizardFS storage (one per line; directory prefixed by *** X++character causes given directory to be freed by replicating all data already stored there to another X++locations) X++ X++*lizardfs-chunkserver.lock*:: X++PID file of running LizardFS chunkserver process X++ X++*.lizardfs-chunkserver.lock*:: X++lock file of running LizardFS chunkserver process X++(created in data directory) X++ X++*data.csstats*:: X++Chunkserver charts state X++ X++== REPORTING BUGS X++ X++Report bugs to . X++ X++== COPYRIGHT X++ X++Copyright 2008-2009 Gemius SA, 2013-2015 Skytechnology sp. z o.o. X++ X++LizardFS is free software: you can redistribute it and/or modify it under the terms of the GNU X++General Public License as published by the Free Software Foundation, version 3. X++ X++LizardFS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even X++the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General X++Public License for more details. X++ X++You should have received a copy of the GNU General Public License along with LizardFS. If not, see X++. X++ X++== SEE ALSO X++ X++lizardfs-master(8), lizardfs-mount(1), lizardfs-chunkserver.cfg(5), lizardfs-hdd.cfg(5), moosefs(7) X+diff -Nura ../lizardfs-3.12.0.orig/doc/lizardfs-chunkserver.cfg.5.txt ./doc/lizardfs-chunkserver.cfg.5.txt X+--- ../lizardfs-3.12.0.orig/doc/lizardfs-chunkserver.cfg.5.txt 1970-01-01 01:00:00.000000000 +0100 X++++ ./doc/lizardfs-chunkserver.cfg.5.txt X+@@ -0,0 +1,153 @@ X++lizardfs-chunkserver.cfg(5) X++=========================== X++ X++== NAME X++ X++lizardfs-chunkserver.cfg - main configuration file for *lizardfs-chunkserver* X++ X++== DESCRIPTION X++ X++The file *lizardfs-chunkserver.cfg* contains configuration of LizardFS chunkserver process. X++ X++== SYNTAX X++ X++Syntax is: X++ X++'OPTION' *=* 'VALUE':: X++Lines starting with *#* character are ignored. X++ X++== OPTIONS X++ X++Configuration options: X++ X++*DATA_PATH*:: X++where to store files with usage statistics and daemon lock file X++ X++*LABEL*:: X++the label of this chunkserver (for tiering) X++ X++*WORKING_USER*:: X++user to run daemon as X++ X++*WORKING_GROUP*:: X++group to run daemon as (optional - if empty then default user group will be used) X++ X++*SYSLOG_IDENT*:: X++name of process to place in syslog messages (default is lizardfs-chunkserver) X++ X++*LOCK_MEMORY*:: X++whether to perform mlockall() to avoid swapping out lizardfs-chunkserver process (default is 0, i.e. no) X++ X++*NICE_LEVEL*:: X++nice level to run daemon with (default is -19 if possible; note: process must be started as root to X++increase priority) X++ X++*MASTER_HOST*:: X++address of LizardFS master host to connect with (default is lizardfs-master) X++ X++*MASTER_PORT*:: X++number of LizardFS master port to connect with (default is 9420) X++ X++*MASTER_RECONNECTION_DELAY*:: X++delay in seconds before trying to reconnect to the master server after disconnection (default is 5) X++ X++*MASTER_TIMEOUT*:: X++timeout (in seconds) for the master server connection (default is 60, minimum is 0.01) X++ X++*BIND_HOST*:: X++local address to use for connecting with the master server (default is ***, X++i.e. default local address) X++ X++*CSSERV_LISTEN_HOST*:: X++IP address to listen on for client (mount) connections (*** means any) X++ X++*CSSERV_LISTEN_PORT*:: X++port to listen on for client (mount) connections (default is 9422) X++ X++*CSSERV_TIMEOUT*:: X++timeout (in seconds) for client (mount) connections (default is 5) X++ X++*HDD_CONF_FILENAME*:: X++alternative name of *lizardfs-hdd.cfg* file X++ X++*HDD_LEAVE_SPACE_DEFAULT*:: X++free space threshold to set volume as 100% utilized when there is less than given amount of free X++space left (default is "4GiB"). This number is always added to the used disk space reported by X++chunkserver. X++ X++*HDD_TEST_FREQ*:: X++chunk test period in seconds (default is 10) X++ X++*HDD_ADVISE_NO_CACHE*:: X++whether to remove each chunk from page when closing it to reduce cache pressure X++generated by chunkserver (default is 0, i.e. no) X++ X++*HDD_PUNCH_HOLES*:: X++if enabled then chunkserver detects zero values in chunk data and frees X++corresponding file blocks (decreasing file system usage). This option works only on Linux X++with file systems supporting punching holes (XFS, ext4, Btrfs, tmpfs) X++ X++*ENABLE_LOAD_FACTOR*:: X++if enabled, chunkserver will send periodical reports of its I/O load to master, X++which will be taken into consideration when picking chunkservers for I/O operations. X++ X++*REPLICATION_BANDWIDTH_LIMIT_KBPS*:: X++limit how many kilobytes can be replicated from other chunkservers to this chunkserver in every X++second (by default undefined, i.e. no limits) X++ X++*NR_OF_NETWORK_WORKERS*:: X++number of threads which handle (in a round-robin manner) connections with clients (default is 1); X++these threads are responsible for reading from sockets and coping data from internal buffers to X++sockets X++ X++*NR_OF_HDD_WORKERS_PER_NETWORK_WORKER*:: X++number of threads that each network worker may use to do disk operations like opening chunks, X++reading or writing them (default is 2) X++ X++*READ_AHEAD_KB*:: X++additional number of kilobytes which should be passed to posix_fadvise(POSIX_FADV_WILLNEED) X++before reading data from a chunk (default is 0, i.e. use posix_fadvise only with the amount X++of data that is really needed; the value is aligned down to 64 KiB) X++ X++*MAX_READ_BEHIND_KB*:: X++try to fix out-of-order read requests; the value tells how much of skipped data to read if an X++offset of some read operation is greater than the offset where the previos operation finished X++(default is 0, i.e. don't read any skipped data; the value is aligned down to 64 KiB) X++ X++*CREATE_NEW_CHUNKS_IN_MOOSEFS_FORMAT*:: X++whether to create new chunks in the MooseFS format (signature + * + *) or in X++the newer interleaved format ([ ]*). (Default is 1, i.e. new chunks are created X++in MooseFS format) X++ X++*PERFORM_FSYNC*:: X++call fsync() after a chunk is modified (default is 1, i.e. enabled) X++ X++*REPLICATION_TOTAL_TIMEOUT_MS*:: X++total timeout for single replication operation. Replications that take longer than that X++are considered failed and are immediately aborted (default: 60000) X++ X++*REPLICATION_CONNECTION_TIMEOUT_MS*:: X++connection for single replication operation. If connecting to another chunkserver takes longer X++than this timeout, the operation is considered failed and is immediately aborted (default: 1000) X++ X++*REPLICATION_WAVE_TIMEOUT_MS*:: X++*ADVANCED*:: timeout for single wave in replication. After this timeout, next wave X++of read requests is sent to other chunkservers (default: 500) X++ X++== COPYRIGHT X++ X++Copyright 2008-2009 Gemius SA, 2013-2015 Skytechnology sp. z o.o. X++ X++LizardFS is free software: you can redistribute it and/or modify it under the terms of the GNU X++General Public License as published by the Free Software Foundation, version 3. X++ X++LizardFS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even X++the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General X++Public License for more details. X++ X++You should have received a copy of the GNU General Public License along with LizardFS. If not, see X++. X++ X++== SEE ALSO X++ X++lizardfs-chunkserver(8), lizardfs-hdd.cfg(5) X+diff -Nura ../lizardfs-3.12.0.orig/doc/lizardfs-exports.cfg.5.txt ./doc/lizardfs-exports.cfg.5.txt X+--- ../lizardfs-3.12.0.orig/doc/lizardfs-exports.cfg.5.txt 1970-01-01 01:00:00.000000000 +0100 X++++ ./doc/lizardfs-exports.cfg.5.txt X+@@ -0,0 +1,127 @@ X++lizardfs-exports.cfg(5) X++======================= X++ X++== NAME X++ X++lizardfs-exports.cfg - LizardFS access control for lizardfs-mounts X++ X++== DESCRIPTION X++ X++The file *lizardfs-exports.cfg* contains LizardFS access list for *lizardfs-mount* X++clients. X++ X++== SYNTAX X++ X++Syntax is: X++ X++'ADDRESS' 'DIRECTORY' ['OPTIONS'] X++ X++Lines starting with *#* character are ignored. X++ X++'ADDRESS' can be specified in several forms: X++ X++- *** all addresses X++ X++- *n.n.n.n* single IP address X++ X++- *n.n.n.n/b* IP class specified by network address and bits number X++ X++- *n.n.n.n/m.m.m.m* IP class specified by network address and mask X++ X++- *f.f.f.f-t.t.t.t* IP range specified by from-to addresses (inclusive) X++ X++'DIRECTORY' could be */* or path relative to LizardFS root; special value *.* means MFSMETA companion X++filesystem. X++ X++== OPTIONS X++ X++*ro*, *readonly*:: X++export tree in read-only mode (default) X++ X++*rw*, *readwrite*:: X++export tree in read-write mode X++ X++*ignoregid*:: X++disable testing of group access at *lizardfs-master* level (it's still done at *lizardfs-mount* level) - in this X++case "group" and "other" permissions are logically added; needed for supplementary groups to work X++(*lizardfs-master* receives only user primary group information) X++ X++*dynamicip*:: X++allows reconnecting of already authenticated client from any IP address (the default is to check IP X++address on reconnect) X++ X++*maproot=*'USER'[*:*'GROUP']:: X++maps root (uid=0) accesses to given user and group (similarly to maproot option in NFS mounts); X++'USER' and 'GROUP' can be given either as name or number; if no group is specified, 'USER''s primary X++group is used. Names are resolved on *lizardfs-master* side (see note below). X++ X++*mapall=*'USER'[*:*'GROUP']:: X++like above but maps all non privileged users (uid!=0) accesses to given user and group (see notes X++below). X++ X++*minversion=*'VER':: X++rejects access from clients older than specified X++ X++*mingoal=*'N', *maxgoal=*'N':: X++specify range in which goal can be set by users X++ X++*mintrashtime=*'TDUR', *maxtrashtime=*'TDUR':: X++specify range in which trashtime can be set by users X++ X++*password=*'PASS', *md5pass=*'MD5':: X++requires password authentication in order to access specified resource X++ X++*alldirs*:: X++allows to mount any subdirectory of specified directory (similarly to NFS) X++ X++*nonrootmeta*:: X++allows non-root users to use filesystem mounted in the meta mode (option available only in this mode) X++ X++Default options are: *ro,maproot=999:999*. X++ X++== NOTES X++ X++'USER' and 'GROUP' names (if not specified by explicit uid/gid number) are resolved on *lizardfs-master* X++host. X++ X++TDUR can be specified as number without time unit (number of seconds) or combination of numbers with X++time units. Time units are: *W*,*D*,*H*,*M*,*S*. Order is important - less significant time units X++can't be defined before more significant time units. X++ X++Option *mapall* works in LizardFS in different way than in NFS, because of using FUSE's X++"default_permissions" option. When mapall option is used, users see all objects with uid equal to X++mapped uid as their own and all other as root's objects. Similarly objects with gid equal to mapped X++gid are seen as objects with current user's primary group and all other objects as objects with X++group 0 (usually wheel). With *mapall* option set attribute cache in kernel is always turned off. X++ X++== EXAMPLES X++ X++- ** / ro* X++ X++- *192.168.1.0/24 / rw* X++ X++- *192.168.1.0/24 / rw,alldirs,maproot=0,password=passcode* X++ X++- *10.0.0.0-10.0.0.5 /test rw,maproot=nobody,password=test* X++ X++- *10.1.0.0/255.255.0.0 /public rw,mapall=1000:1000* X++ X++- *10.2.0.0/16 / rw,alldirs,maproot=0,mintrashtime=2h30m,maxtrashtime=2w* X++ X++== COPYRIGHT X++ X++Copyright 2008-2009 Gemius SA, 2013-2015 Skytechnology sp. z o.o. X++ X++LizardFS is free software: you can redistribute it and/or modify it under the terms of the GNU X++General Public License as published by the Free Software Foundation, version 3. X++ X++LizardFS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even X++the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General X++Public License for more details. X++ X++You should have received a copy of the GNU General Public License along with LizardFS. If not, see X++. X++ X++== SEE ALSO X++ X++lizardfs-master(8), lizardfs-master.cfg(5) X+diff -Nura ../lizardfs-3.12.0.orig/doc/lizardfs-filerepair.1.txt ./doc/lizardfs-filerepair.1.txt X+--- ../lizardfs-3.12.0.orig/doc/lizardfs-filerepair.1.txt 2017-12-20 10:59:37.000000000 +0100 X++++ ./doc/lizardfs-filerepair.1.txt X+@@ -14,7 +14,7 @@ X+ X+ *filerepair* deals with broken files (those which cause I/O errors on read operations) to make X+ them partially readable. In case of missing chunk it fills missing parts of file with zeros; in case X+-of chunk version mismatch it sets chunk version known to *mfsmaster* to highest one found on X++of chunk version mismatch it sets chunk version known to *lizardfs-master* to highest one found on X+ chunkservers. X+ X+ NOTE: Because in the second case content mismatch can occur in chunks with the same version, it's X+diff -Nura ../lizardfs-3.12.0.orig/doc/lizardfs-goals.cfg.5.txt ./doc/lizardfs-goals.cfg.5.txt X+--- ../lizardfs-3.12.0.orig/doc/lizardfs-goals.cfg.5.txt 1970-01-01 01:00:00.000000000 +0100 X++++ ./doc/lizardfs-goals.cfg.5.txt X+@@ -0,0 +1,121 @@ X++lizardfs-goals.cfg(5) X++===================== X++ X++== NAME X++ X++lizardfs-goals.cfg - replication goals configuration file X++ X++== DESCRIPTION X++ X++The file *lizardfs-goals.cfg* contains definitions of the replication goals. X++ X++== SYNTAX X++ X++Syntax is: X++ X++'id' 'name' : $'type' { 'label' ... } X++'id' 'name' : 'label' ... X++ X++The *#* character starts comments. X++ X++== DETAILS X++ X++There are 40 replication goals, with 'ids' between 1 and 40, inclusive. X++Each file stored on the filesystem refers to some goal id and is X++replicated according to the goal currently associated with this id. X++ X++By default, goal 1 means one copy on any chunkserver, goal 2 means two X++copies on any two chunkservers and so on, until 5 - which is the maximal X++default number of copies. The purpose of lizardfs-goals.cfg is to override this X++behavior, when desired. The file is a list of goal definitions, each X++consisting of 'id', 'name' and a list of 'labels'. The maximal length X++of this list is 40 labels. X++ X++'id' indicates the goal id to be redefined. If some files are already X++assigned this goal id, their effective goal will change. X++ X++'name' is a human readable name used by the user interface tools X++(mfssetgoal(1), mfsgetgoal(1)). 'name' can consist of up to 32 alphanumeric X++characters: a-z, A-Z, 0-9, _. X++ X++'type' specifies goal type - currently supported types are: X++ X++ - *std* - for each file using this goal and for each label, the system X++ will try to maintain a copy of the file on some chunkserver X++ with this label. X++ - **xor**N - for each file using this goal, the system will split the file X++ into N+1 parts (N ordinary + 1 parity). For reading, any N of X++ the parts are necessary. If labels are specified, parts will X++ be kept on chunkservers with these labels. Otherwise, default wildcard X++ labels will be used. N can be in range from 2 to 9. X++ - **ec**(K,M) - for each file using this goal, the system will split the file X++ into K + M parts (K data parts and M parity). For reading, any K of X++ the parts are necessary. If labels are specified, parts will X++ be kept on chunkservers with these labels. Otherwise, default wildcard X++ labels will be used. K can be in range from 2 to 32 and M from 1 to 32. X++ If the type is unspecified is is assumed to be *std*. X++ X++The list of 'labels' is a list of chunkserver labels as defined in X++lizardfs-chunkserver.cfg(5). 'label' can consist of up to 32 alphanumeric X++characters: a-z, A-Z, 0-9, _. X++ X++ X++One label may occur multiple times - in such case the system will create X++one copy per each occurrence. X++The special label _ means "a copy on any chunkserver". X++ X++Note that changing the definition of a goal in lizardfs-goals.cfg affects all X++files which currently use given goal id. X++ X++== EXAMPLES X++ X++Some example goal definitions: X++ X++3 3 : _ _ _ # one of the default goals (three copies anywhere) X++ X++8 not_important_file : _ # only one copy X++ X++11 important_file : _ _ X++ X++12 local_copy_on_mars : mars _ # at least one copy in the Martian datacenter X++ X++13 cached_on_ssd : ssd _ X++ X++14 very_important_file : _ _ _ _ X++ X++15 default_xor3 : $xor3 X++ X++16 fast_read : $xor2 { ssd ssd hdd } X++ X++17 xor5 : $xor5 { hdd } # at least one part on hdd X++ X++18 first_ec : $ec(3,1) X++ X++19 ec32_ssd : $ec(3,2) { ssd ssd ssd ssd ssd } # all parts on ssd X++ X++20 ec53_mixed : $ec(5,3) { hdd ssd hdd _ _ _ _ _ } # two parts on hdd and one part on ssd X++ X++== SNAPSHOT FILES X++ X++Snapshot shares data with the original file until the file receives X++modification and diverges from the snapshotted version. X++If some snapshot has different goal than its original file, any shared X++data are stored according to the goal with higher 'id' of the two. X++ X++== COPYRIGHT X++ X++Copyright 2008-2009 Gemius SA, 2013-2015 Skytechnology sp. z o.o. X++ X++LizardFS is free software: you can redistribute it and/or modify it under the terms of the GNU X++General Public License as published by the Free Software Foundation, version 3. X++ X++LizardFS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even X++the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General X++Public License for more details. X++ X++You should have received a copy of the GNU General Public License along with LizardFS. If not, see X++. X++ X++== SEE ALSO X++ X++lizardfs-master.cfg(5) X+diff -Nura ../lizardfs-3.12.0.orig/doc/lizardfs-hdd.cfg.5.txt ./doc/lizardfs-hdd.cfg.5.txt X+--- ../lizardfs-3.12.0.orig/doc/lizardfs-hdd.cfg.5.txt 1970-01-01 01:00:00.000000000 +0100 X++++ ./doc/lizardfs-hdd.cfg.5.txt X+@@ -0,0 +1,30 @@ X++lizardfs-hdd.cfg(5) X++=================== X++ X++== NAME X++ X++lizardfs-hdd.cfg - list of LizardFS storage directories for lizardfs-chunkserver X++ X++== DESCRIPTION X++ X++The file *lizardfs-hdd.cfg* contains list of directories (mountpoints) used for LizardFS storage (one per X++line). Directory prefixed by *** character causes given directory to be freed by replicating all X++data already stored there to another locations. Lines starting with *#* character are ignored. X++ X++== COPYRIGHT X++ X++Copyright 2008-2009 Gemius SA, 2013-2015 Skytechnology sp. z o.o. X++ X++LizardFS is free software: you can redistribute it and/or modify it under the terms of the GNU X++General Public License as published by the Free Software Foundation, version 3. X++ X++LizardFS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even X++the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General X++Public License for more details. X++ X++You should have received a copy of the GNU General Public License along with LizardFS. If not, see X++. X++ X++== SEE ALSO X++ X++lizardfs-chunkserver(8), lizardfs-chunkserver.cfg(5) X+diff -Nura ../lizardfs-3.12.0.orig/doc/lizardfs-master.8.txt ./doc/lizardfs-master.8.txt X+--- ../lizardfs-3.12.0.orig/doc/lizardfs-master.8.txt 1970-01-01 01:00:00.000000000 +0100 X++++ ./doc/lizardfs-master.8.txt X+@@ -0,0 +1,137 @@ X++lizardfs-master(8) X++================== X++ X++== NAME X++ X++lizardfs-master - start, restart or stop Lizard File System metadata server process X++ X++== SYNOPSIS X++ X++[verse] X++lizardfs-master [*-f*] [*-c* 'CFGFILE'] [*-u*] [*-d*] [*-t* 'LOCKTIMEOUT'] ['ACTION'] X++ X++[verse] X++*lizardfs-master -s* [*-c* 'CFGFILE'] X++ X++[verse] X++*lizardfs-master -v* X++ X++[verse] X++*lizardfs-master -h* X++ X++== DESCRIPTION X++ X++*lizardfs-master* is the metadata server program of Lizard File System. Depending on parameters it can X++start, restart or stop LizardFS metadata server process. Without any options it starts LizardFS X++metadata server, killing previously run process if lock file exists. X++ X++Metadata server can work in one of two modes (personalities): X++ X++. master X++. shadow X++ X++If metadata server works with 'master' personality it acts as main metadata server X++govering all file system metadata modifications. X++If metadata server works with 'shadow' personality it acts as backup metadata server X++ready for immediate deployment as new 'master' in case of current 'master' failure. X++Shadow only accepts connections from lizardfs-admin, i.e. lizardfs-chunkserver, lizardfs-metalogger X++and lizardfs-mount (the client) are not allowed to connect to 'shadow' instance. X++ X++Current metadata server personality is defined in metadata server configuration file X++and can be changed on the fly from 'shadow' to 'master' by proper modification and reloading X++of its configuration file. X++ X++'Master' and 'shadow' are designed to run simultaneously in sync forever. It is very unlikely X++but still (due to a memory corruption or a bug) possible that after some time their metadata X++will somehow differ. Since version 2.5.2 metadata checksum is maintained both by 'master' X++and 'shadow', in order to detect and fix possible metadata corruptions. In case mismatch is X++detected 'shadow' asks 'master' to double check its metadata and dump its current snapshot. X++After the metadata is dumped and the checksum in 'master' is recalculated shadow downloads X++the new metadata snapshot, which should ensure that master and all shadows have exactly the X++same metadata. X++ X++SIGHUP (or 'reload' 'ACTION') forces *lizardfs-master* to reload all configuration files. X++ X++*-v*:: X++print version information and exit X++ X++*-h*:: X++print usage information and exit X++ X++*-f*:: X++(deprecated, use *start* action instead) X++forcily run LizardFS master process, without trying to kill X++previous instance (this option allows to run LizardFS master if stale PID file exists) X++ X++*-s*:: X++(deprecated, use *stop* action instead) X++stop LizardFS master process X++ X++*-c* 'CFGFILE':: X++specify alternative path of configuration file (default is *lizardfs-master.cfg* in system configuration X++directory) X++ X++*-u*:: X++log undefined configuration values (when default is assumed) X++ X++*-d*:: X++run in foreground, don't daemonize X++ X++*-t* 'LOCKTIMEOUT':: X++how long to wait for lockfile (default is 60 seconds) X++ X++'ACTION':: X++is the one of *start*, *stop*, *restart*, *reload*, *test*, *isalive* or *kill*. Default action is X++*restart*. X++ X++== FILES X++ X++*lizardfs-master.cfg*:: X++configuration file for LizardFS master process (see *lizardfs-master.cfg*(5) manual) X++ X++*lizardfs-exports.cfg*:: X++LizardFS access control file (used with *lizardfs-mount*`s` 1.6.0 or later, see X++*lizardfs-exports.cfg*(5) manual) X++ X++*lizardfs-topology.cfg*:: X++Network topology definitions (see *lizardfs-topology.cfg*(5) manual) X++ X++*lizardfs-master.lock*:: X++PID file of running LizardFS master process X++ X++*.lizardfs-master.lock*:: X++lock file of running LizardFS master process X++(created in data directory) X++ X++*metadata.mfs*, *metadata.mfs.back*:: X++LizardFS filesystem metadata image X++ X++*`changelog.*.mfs`*:: X++LizardFS filesystem metadata change logs (merged into *metadata.mfs* once per hour) X++ X++*data.stats*:: X++LizardFS master charts state X++ X++== REPORTING BUGS X++ X++Report bugs to . X++ X++== COPYRIGHT X++ X++Copyright 2008-2009 Gemius SA, 2013-2015 Skytechnology sp. z o.o. X++ X++LizardFS is free software: you can redistribute it and/or modify it under the terms of the GNU X++General Public License as published by the Free Software Foundation, version 3. X++ X++LizardFS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even X++the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General X++Public License for more details. X++ X++You should have received a copy of the GNU General Public License along with LizardFS. If not, see X++. X++ X++== SEE ALSO X++ X++lizardfs-metarestore(8), lizardfs-chunkserver(8), lizardfs-mount(1), X++lizardfs-master.cfg(5), lizardfs-exports.cfg(5), lizardfs-topology.cfg(5), X++moosefs(7) X+diff -Nura ../lizardfs-3.12.0.orig/doc/lizardfs-master.cfg.5.txt ./doc/lizardfs-master.cfg.5.txt X+--- ../lizardfs-3.12.0.orig/doc/lizardfs-master.cfg.5.txt 1970-01-01 01:00:00.000000000 +0100 X++++ ./doc/lizardfs-master.cfg.5.txt X+@@ -0,0 +1,291 @@ X++lizardfs-master.cfg(5) X++====================== X++ X++== NAME X++ X++lizardfs-master.cfg - main configuration file for lizardfs-master X++ X++== DESCRIPTION X++ X++The file *lizardfs-master.cfg* contains configuration of LizardFS metadata server process. X++ X++== SYNTAX X++ X++Syntax is: X++ X++'OPTION' *=* 'VALUE' X++ X++Lines starting with *#* character are ignored. X++ X++== OPTIONS X++ X++Configuration options: X++ X++*PERSONALITY*:: X++Current 'personality' of this instance of metadata server. Valid values are 'master', 'shadow' X++and 'ha-cluster-managed'. If installation is managed by an HA cluster the only valid value is X++'ha-cluster-managed', otherwise the only valid values are 'master' and 'shadow', in which case X++only one metadata server in LizardFS shall have 'master' personality. + X++PERSONALITY = 'master' + X++means that this instance of metadata server acts as main metadata server X++govering all file system metadata modifications. + X++PERSONALITY = 'shadow' + X++means that this instance of metadata server acts as backup metadata server X++ready for immediate deployment as new 'master' in case of current 'master' failure. + X++Metadata server personality can be changed at any moment as long as one changes personality from X++'shadow' to 'master', changing personality the other way around is forbidden. + X++PERSONALITY = 'ha-cluster-managed' + X++means that this instance is managed by HA cluster, server runs in 'shadow' mode as long as its not remotly promoted to 'master'. X++ X++*DATA_PATH*:: X++where to store metadata files and lock file X++ X++*WORKING_USER*:: X++user to run daemon as X++ X++*WORKING_GROUP*:: X++group to run daemon as (optional - if empty then default user group will be used) X++ X++*SYSLOG_IDENT*:: X++name of process to place in syslog messages (default is lizardfs-master) X++ X++*LOCK_MEMORY*:: X++whether to perform mlockall() to avoid swapping out lizardfs-master process (default is 0, i.e. no) X++ X++*NICE_LEVEL*:: X++nice level to run daemon with (default is -19 if possible; note: process must be started as root to X++increase priority) X++ X++*EXPORTS_FILENAME*:: X++alternative name of *lizardfs-exports.cfg* file X++ X++*TOPOLOGY_FILENAME*:: X++alternative name of *lizardfs-topology.cfg* file X++ X++*CUSTOM_GOALS_FILENAME*:: X++alternative name of *lizardfs-goals.cfg* file X++ X++*PREFER_LOCAL_CHUNKSERVER*:: X++If a client mountpoint has a local chunkserver, and a given chunk happens to X++reside locally, then mfsmaster will list the local chunkserver first. X++However, when the local client mount is issuing many read(s)/write(s), to many X++local chunks, these requests can overload the local chunkserver and disk X++subsystem. Setting this to 0(the default is 1) means that remote chunkservers X++will be considered as equivalent to the local chunkserver. + X++This is useful when the network is faster than the disk, and when there is X++high-IO load on the client mountpoints. X++ X++*BACK_LOGS*:: X++number of metadata change log files (default is 50) X++ X++*BACK_META_KEEP_PREVIOUS*:: X++number of previous metadata files to be kept (default is 1) X++ X++*AUTO_RECOVERY*:: X++when this option is set (equals 1) master will try to recover metadata from changelog when it X++is being started after a crash; otherwise it will refuse to start and 'lizardfs-metarestore' should be X++used to recover the metadata (default is 0) X++ X++*REPLICATIONS_DELAY_INIT*:: X++DEPRECATED - see *OPERATIONS_DELAY_INIT* X++ X++*REPLICATIONS_DELAY_DISCONNECT*:: X++DEPRECATED - see *OPERATIONS_DELAY_DISCONNECT* X++ X++*OPERATIONS_DELAY_INIT*:: X++initial delay in seconds before starting chunk operations (default is 300) X++ X++*OPERATIONS_DELAY_DISCONNECT*:: X++chunk operations delay in seconds after chunkserver disconnection (default is 3600) X++ X++*MATOML_LISTEN_HOST*:: X++IP address to listen on for metalogger connections (*** means any) X++ X++*MATOML_LISTEN_PORT*:: X++port to listen on for metalogger connections (default is 9419) X++ X++*MATOML_LOG_PRESERVE_SECONDS*:: X++how many seconds of change logs have to be preserved in memory (default is 600; note: logs are X++stored in blocks of 5k lines, so sometimes real number of seconds may be little bigger; zero X++disables extra logs storage) X++ X++*MATOCS_LISTEN_HOST*:: X++IP address to listen on for chunkserver connections (*** means any) X++ X++*MATOCS_LISTEN_PORT*:: X++port to listen on for chunkserver connections (default is 9420) X++ X++*MATOCL_LISTEN_HOST*:: X++IP address to listen on for client (mount) connections (*** means any) X++ X++*MATOCL_LISTEN_PORT*:: X++port to listen on for client (mount) connections (default is 9421) X++ X++*MATOTS_LISTEN_HOST*:: X++IP address to listen on for tapeserver connections (*** means any) X++ X++*MATOTS_LISTEN_PORT*:: X++Port to listen on for tapeserver connections (default is 9424) X++ X++*CHUNKS_LOOP_MAX_CPS*:: X++Chunks loop shouldn't check more chunks per seconds than given number (default is 100000) X++ X++*CHUNKS_LOOP_MIN_TIME*:: X++Chunks loop will check all chunks in specified time (default is 300) unless *CHUNKS_LOOP_MAX_CPS* X++will force slower execution. X++ X++*CHUNKS_LOOP_PERIOD*:: X++Time in milliseconds between chunks loop execution (default is 1000). X++ X++*CHUNKS_LOOP_MAX_CPU*:: X++Hard limit on CPU usage by chunks loop (percentage value, default is 60). X++ X++*CHUNKS_SOFT_DEL_LIMIT*:: X++Soft maximum number of chunks to delete on one chunkserver (default is 10) X++ X++*CHUNKS_HARD_DEL_LIMIT*:: X++Hard maximum number of chunks to delete on one chunkserver (default is 25) X++ X++*CHUNKS_WRITE_REP_LIMIT*:: X++Maximum number of chunks to replicate to one chunkserver (default is 2) X++ X++*CHUNKS_READ_REP_LIMIT*:: X++Maximum number of chunks to replicate from one chunkserver (default is 10) X++ X++*ENDANGERED_CHUNKS_PRIORITY*:: X++Percentage of endangered chunks that should be replicated with high priority. X++Example: when set to 0.2, up to 20% of chunks served in one turn would be extracted X++from endangered priority queue. X++When set to 1 (max), no other chunks would be processed as long as there are X++any endangered chunks in the queue (not advised) X++(default is 0, i.e. there is no overhead for prioritizing endangered chunks). X++ X++*ENDANGERED_CHUNKS_MAX_CAPACITY*:: X++Max capacity of endangered chunks queue. This value can limit memory usage of master server X++if there are lots of endangered chunks in the system. X++This value is ignored if ENDANGERED_CHUNKS_PRIORITY is set to 0. X++(default is 1Mi, i.e. no more than 1Mi chunks will be kept in a queue). X++ X++*ACCEPTABLE_DIFFERENCE*:: X++A maximum difference between disk usage on chunkservers that doesn't trigger chunk rebalancing X++(default is 0.1, i.e. 10%). X++ X++*CHUNKS_REBALANCING_BETWEEN_LABELS*:: X++When balancing disk usage, allow moving chunks between servers with different labels X++(default is 0, i.e. chunks will be moved only between servers with the same label). X++ X++*REJECT_OLD_CLIENTS*:: X++Reject **lizardfs-mount**s older than 1.6.0 (0 or 1, default is 0). Note that *lizardfs-exports* access control X++is NOT used for those old clients. X++ X++*GLOBALIOLIMITS_FILENAME*:: X++Configuration of global I/O limits (default is no I/O limiting) X++ X++*GLOBALIOLIMITS_RENEGOTIATION_PERIOD_SECONDS*:: X++How often mountpoints will request bandwidth allocations under constant, predictable load X++(default is 0.1) X++ X++*GLOBALIOLIMITS_ACCUMULATE_MS*:: X++After inactivity, no waiting is required to transfer the amount of data equivalent to normal X++data flow over the period of that many milliseconds (default is 250) X++ X++*METADATA_CHECKSUM_INTERVAL*:: X++how often metadata checksum shall be sent to backup servers (default is: every 50 metadata updates) X++ X++*METADATA_CHECKSUM_RECALCULATION_SPEED*:: X++how fast should metadata be recalculated in background (default : 100 objects per function call) X++ X++*DISABLE_METADATA_CHECKSUM_VERIFICATION*:: X++should checksum verification be disabled while applying changelog X++ X++*NO_ATIME*:: X++when this option is set to 1 inode access time is not updated on every access, otherwise X++(when set to 0) it is updated (default is 0) X++ X++*METADATA_SAVE_REQUEST_MIN_PERIOD*:: X++minimal time in seconds between metadata dumps caused by requests from shadow masters X++(default is 1800) X++ X++*SESSION_SUSTAIN_TIME*:: X++Time in seconds for which client session data (e.g. list of open files) should be sustained X++in the master server after connection with the client was lost. X++Values between 60 and 604800 (one week) are accepted. (default is 86400) X++ X++*USE_BDB_FOR_NAME_STORAGE*:: X++When this option is set to 1 Berkley DB is used for storing file/directory names X++in file (DATA_PATH/name_storage.db). By default all strings are kept in system memory. X++(default is 0) X++ X++*BDB_NAME_STORAGE_CACHE_SIZE*:: X++Size of memory cache (in MB) for file/directory names used by Berkeley DB storage. X++(default is 10) X++ X++*AVOID_SAME_IP_CHUNKSERVERS*:: X++When this option is set to 1, process of selecting chunkservers for chunks will try to avoid X++using those that share the same ip. (default is 0) X++ X++*REDUNDANCY_LEVEL*:: X++minimum number of required redundant chunk parts that can be lost before chunk becomes endangered X++(default is 0) X++ X++*SNAPSHOT_INITIAL_BATCH_SIZE*:: X++This option can be used to specify initial number of snapshotted nodes that will be atomically cloned X++before enqueuing the task for execution in fixed-sized batches. (default is 1000) X++ X++*SNAPSHOT_INITIAL_BATCH_SIZE_LIMIT*:: X++This option specifies the maximum initial batch size set for snapshot request. (default is 10000) X++ X++*FILE_TEST_LOOP_MIN_TIME* X++Test files loop will try to check all files in specified time in seconds (default is 3600). X++It's possible for the loop to take more time if the master server is busy or the machine X++doesn't have enough processing power to make all the needed calculations. X++ X++Options below are mandatory for all Shadow instances: X++ X++*MASTER_HOST*:: X++address of the host running LizardFS metadata server that currently acts as 'master' X++ X++*MASTER_PORT*:: X++port number where LizardFS metadata server currently running as 'master' listens for connections X++from 'shadow's and metaloggers (default is 9420) X++ X++*MASTER_RECONNECTION_DELAY*:: X++delay in seconds before trying to reconnect to metadata server after disconnection (default is 1) X++ X++*MASTER_TIMEOUT*:: X++timeout (in seconds) for metadata server connections (default is 60) X++ X++*LOAD_FACTOR_PENALTY*:: X++When set, percentage of load will be added to chunkserver disk usage to determine most fitting X++chunkserver. Heavy loaded chunkservers will be picked for operations less frequently. X++(default is 0, correct values are in range from 0 to 0.5) X++ X++== NOTES X++ X++Chunks in master are tested in loop. Speed (or frequency) is regulated by two options X++*CHUNKS_LOOP_MIN_TIME* and *CHUNKS_LOOP_MAX_CPS*. First defines minimal time of the loop and second X++maximal number of chunk tests per second. Typically at the beginning, when number of chunks is X++small, time is constant, regulated by *CHUNK_LOOP_MIN_TIME*, but when number of chunks became bigger X++then time of loop can increase according to *CHUNKS_LOOP_MAX_CPS*. X++ X++Deletion limits are defined as 'soft' and 'hard' limit. When number of chunks to delete increases X++from loop to loop then current limit can be temporary increased above soft limit, but never above X++hard limit. X++ X++== COPYRIGHT X++ X++Copyright 2008-2009 Gemius SA, 2013-2017 Skytechnology sp. z o.o. X++ X++LizardFS is free software: you can redistribute it and/or modify it under the terms of the GNU X++General Public License as published by the Free Software Foundation, version 3. X++ X++LizardFS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even X++the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General X++Public License for more details. X++ X++You should have received a copy of the GNU General Public License along with LizardFS. If not, see X++. X++ X++== SEE ALSO X++ X++lizardfs-master(8), lizardfs-exports.cfg(5), lizardfs-topology.cfg(5) X+diff -Nura ../lizardfs-3.12.0.orig/doc/lizardfs-metadump.8.txt ./doc/lizardfs-metadump.8.txt X+--- ../lizardfs-3.12.0.orig/doc/lizardfs-metadump.8.txt 1970-01-01 01:00:00.000000000 +0100 X++++ ./doc/lizardfs-metadump.8.txt X+@@ -0,0 +1,20 @@ X++lizardfs-metadump(8) X++==================== X++ X++== NAME X++ X++lizardfs-metadump - a networking, distributed, highly available file system X++ X++== SYNOPSIS X++ X++[verse] X++*lizardfs-metadump* 'metadata_file'... X++ X++== DESCRIPTION X++ X++*lizardfs-metadump* X++dumps file system metadata into specified file. X++ X++== SEE ALSO X++ X++lizardfs(1) X+diff -Nura ../lizardfs-3.12.0.orig/doc/lizardfs-metalogger.8.txt ./doc/lizardfs-metalogger.8.txt X+--- ../lizardfs-3.12.0.orig/doc/lizardfs-metalogger.8.txt 1970-01-01 01:00:00.000000000 +0100 X++++ ./doc/lizardfs-metalogger.8.txt X+@@ -0,0 +1,95 @@ X++lizardfs-metalogger(8) X++====================== X++ X++== NAME X++ X++lizardfs-metalogger - start, restart or stop Lizard File System metalogger process X++ X++== SYNOPSIS X++ X++[verse] X++*lizardfs-metalogger* [*-f*] [*-c* 'CFGFILE'] [*-u*] [*-d*] [*-t* 'LOCKTIMEOUT'] ['ACTION'] X++ X++[verse] X++*lizardfs-metalogger -s* [*-c* 'CFGFILE'] X++ X++[verse] X++*lizardfs-metalogger -v* X++ X++[verse] X++*lizardfs-metalogger -h* X++ X++== DESCRIPTION X++ X++*lizardfs-metalogger* is the metadata replication server of Lizard File System. Depending on parameters it X++can start, restart or stop LizardFS metalogger process. Without any options it starts LizardFS X++metalogger, killing previously run process if lock file exists. X++ X++SIGHUP (or 'reload' 'ACTION') forces *lizardfs-metalogger* to reload all configuration files. X++ X++*-v*:: X++print version information and exit X++ X++*-h*:: X++print usage information and exit X++ X++*-c* 'CFGFILE':: X++specify alternative path of configuration file (default is *lizardfs-metalogger.cfg* in system X++configuration directory) X++ X++*-u*:: X++log undefined configuration values (when default is assumed) X++ X++*-d*:: X++run in foreground, don't daemonize X++ X++*-t* 'LOCKTIMEOUT':: X++how long to wait for lockfile (default is 60 seconds) X++ X++'ACTION' X++is the one of *start*, *stop*, *restart*, *reload*, *test*, *isalive* or *kill*. Default action is X++*restart*. X++ X++== FILES X++ X++*lizardfs-metalogger.cfg*:: X++configuration file for LizardFS metalogger process; refer to *lizardfs-metalogger.cfg*(5) manual for X++defails X++ X++*lizardfs-metalogger.lock*:: X++PID file of running LizardFS metalogger process X++ X++*.lizardfs-metalogger.lock*:: X++lock file of running LizardFS metalogger process X++(created in data directory) X++ X++*changelog_ml.***.mfs*:: X++LizardFS filesystem metadata change logs (backup of master change log files) X++ X++*metadata.ml.mfs.back*:: X++Latest copy of complete metadata.mfs.back file from LizardFS master. X++ X++*sessions.ml.mfs*:: X++Latest copy of sessions.mfs file from LizardFS master. X++ X++== REPORTING BUGS X++ X++Report bugs to . X++ X++== COPYRIGHT X++ X++Copyright 2008-2009 Gemius SA, 2013-2015 Skytechnology sp. z o.o. X++ X++LizardFS is free software: you can redistribute it and/or modify it under the terms of the GNU X++General Public License as published by the Free Software Foundation, version 3. X++ X++LizardFS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even X++the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General X++Public License for more details. X++ X++You should have received a copy of the GNU General Public License along with LizardFS. If not, see X++. X++ X++== SEE ALSO X++ X++lizardfs-master(8), lizardfs-metalogger.cfg(5), moosefs(7) X+diff -Nura ../lizardfs-3.12.0.orig/doc/lizardfs-metalogger.cfg.5.txt ./doc/lizardfs-metalogger.cfg.5.txt X+--- ../lizardfs-3.12.0.orig/doc/lizardfs-metalogger.cfg.5.txt 1970-01-01 01:00:00.000000000 +0100 X++++ ./doc/lizardfs-metalogger.cfg.5.txt X+@@ -0,0 +1,79 @@ X++lizardfs-metalogger.cfg(5) X++========================== X++ X++== NAME X++ X++lizardfs-metalogger.cfg - configuration file for lizardfs-metalogger X++ X++== DESCRIPTION X++ X++The file *lizardfs-metalogger.cfg* contains configuration of LizardFS metalogger process. X++ X++== SYNTAX X++ X++Syntax is: X++'OPTION' *=* 'VALUE' X++ X++Lines starting with *#* character are ignored. X++ X++== OPTIONS X++ X++Configuration options: X++ X++*DATA_PATH*:: X++where to store metadata files X++ X++*WORKING_USER*:: X++user to run daemon as X++ X++*WORKING_GROUP*:: X++group to run daemon as (optional - if empty then default user group will be used) X++ X++*SYSLOG_IDENT*:: X++name of process to place in syslog messages (default is lizardfs-metalogger) X++ X++*LOCK_MEMORY*:: X++whether to perform mlockall() to avoid swapping out lizardfs-metalogger process (default is 0, i.e. no) X++ X++*NICE_LEVEL*:: X++nice level to run daemon with (default is -19 if possible; note: process must be started as root to X++increase priority) X++ X++*BACK_LOGS*:: X++number of metadata change log files (default is 50) X++ X++*BACK_META_KEEP_PREVIOUS*:: X++number of previous metadata files to be kept (default is 3) X++ X++*META_DOWNLOAD_FREQ*:: X++metadata download frequency in hours (default is 24, at most *BACK_LOGS*/2) X++ X++*MASTER_HOST*:: X++address of LizardFS master host to connect with (default is lizardfs-master) X++ X++*MASTER_PORT*:: X++number of LizardFS master port to connect with (default is 9419) X++ X++*MASTER_RECONNECTION_DELAY*:: X++delay in seconds before trying to reconnect to master after disconnection (default is 30) X++ X++*MASTER_TIMEOUT*:: X++timeout (in seconds) for master connections (default is 60) X++ X++== COPYRIGHT X++ X++Copyright 2008-2009 Gemius SA, 2013-2015 Skytechnology sp. z o.o. X++ X++LizardFS is free software: you can redistribute it and/or modify it under the terms of the GNU X++General Public License as published by the Free Software Foundation, version 3. X++ X++LizardFS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even X++the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General X++Public License for more details. X++ X++You should have received a copy of the GNU General Public License along with LizardFS. If not, see X++. X++ X++== SEE ALSO X++ X++lizardfs-metalogger(8) X+diff -Nura ../lizardfs-3.12.0.orig/doc/lizardfs-metarestore.8.txt ./doc/lizardfs-metarestore.8.txt X+--- ../lizardfs-3.12.0.orig/doc/lizardfs-metarestore.8.txt 1970-01-01 01:00:00.000000000 +0100 X++++ ./doc/lizardfs-metarestore.8.txt X+@@ -0,0 +1,94 @@ X++lizardfs-metarestore(8) X++======================= X++ X++== NAME X++ X++lizardfs-metarestore - replay LizardFS metadata change logs or dump LizardFS metadata image X++ X++== SYNOPSIS X++ X++[verse] X++*lizardfs-metarestore* [*-z*] *-m* 'OLDMETADATAFILE' *-o* 'NEWMETADATAFILE' ['CHANGELOGFILE'...] X++ X++[verse] X++*lizardfs-metarestore* *-m* 'METADATAFILE' X++ X++[verse] X++*lizardfs-metarestore* [*-z*] *-a* [*-d* 'DIRECTORY'] X++ X++[verse] X++*lizardfs-metarestore* *-g* *-d* 'DIRECTORY' X++ X++[verse] X++*lizardfs-metarestore -v* X++ X++[verse] X++*lizardfs-metarestore -?* X++ X++== DESCRIPTION X++ X++When *lizardfs-metarestore* is called with both *-m* and *-o* options, it replays given 'CHANGELOGFILEs' X++on 'OLDMETADATAFILE' and writes result to 'NEWMETADATAFILE'. Multiple change log files can be given. X++ X++*lizardfs-metarestore* with just *-m* 'METADATAFILE' option dumps LizardFS metadata image file in human X++readable form. X++ X++*lizardfs-metarestore* called with -a option automatically performs all operations needed to merge change X++log files. Master data directory can be specified using -d 'DIRECTORY' option. X++ X++*lizardfs-metarestore* -g with path to metadata files, prints latest metadata version that can be restored from disk. X++Prints 0 if metadata files are corrupted. X++ X++*-v*:: X++print version information and exit X++ X++*-?*:: X++print version information and exit X++ X++*-a*:: X++autorestore mode (see above) X++ X++*-d* 'DATAPATH':: X++master data directory (for autorestore mode) X++ X++*-m* 'METADATAFILE':: X++specify input metadata image file X++ X++*-o* 'NEWMETADATAFILE':: X++specify output metadata image file X++ X++*-z*:: X++ignore metadata checksum inconsistency while applying changelogs X++ X++== FILES X++ X++*metadata.mfs*:: X++Lizard File System metadata image as read by *lizardfs-master* process X++ X++*metadata.mfs.back*:: X++Lizard File System metadata image as left by killed or crashed *lizardfs-master* process X++ X++*changelog.***.mfs*:: X++Lizard File System metadata change logs X++ X++== REPORTING BUGS X++ X++Report bugs to . X++ X++== COPYRIGHT X++ X++Copyright 2008-2009 Gemius SA, 2013-2015 Skytechnology sp. z o.o. X++ X++LizardFS is free software: you can redistribute it and/or modify it under the terms of the GNU X++General Public License as published by the Free Software Foundation, version 3. X++ X++LizardFS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even X++the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General X++Public License for more details. X++ X++You should have received a copy of the GNU General Public License along with LizardFS. If not, see X++. X++ X++== SEE ALSO X++ X++lizardfs-master(8), moosefs(7) X+diff -Nura ../lizardfs-3.12.0.orig/doc/lizardfs-mount.1.txt ./doc/lizardfs-mount.1.txt X+--- ../lizardfs-3.12.0.orig/doc/lizardfs-mount.1.txt 1970-01-01 01:00:00.000000000 +0100 X++++ ./doc/lizardfs-mount.1.txt X+@@ -0,0 +1,267 @@ X++lizardfs-mount(1) X++================= X++ X++== NAME X++ X++lizardfs-mount - mount Lizard File System X++ X++== SYNOPSIS X++ X++[verse] X++*lizardfs-mount* 'mountpoint' [*-d*] [*-f*] [*-s*] [*-m*] [*-n*] [*-p*] X++ [*-H* 'HOST'] [*-P* 'PORT'] [*-S* 'PATH'] [*-o* 'opt'[,'opt']...] X++ X++[verse] X++*lizardfs-mount* *-h*|*--help* X++ X++[verse] X++*lizardfs-mount* *-V*|*--version* X++ X++== DESCRIPTION X++ X++Mount Lizard File System. X++ X++General options: X++ X++*-h*, *--help*:: X++display help and exit X++ X++*-V*:: X++display version information and exit X++ X++FUSE options: X++ X++*-d*, *-o debug*:: X++enable debug mode (implies *-f*) X++ X++*-f*:: X++foreground operation X++ X++*-s*:: X++disable multi-threaded operation X++ X++LizardFS options: X++ X++*-c* 'CFGFILE', *-o mfscfgfile=*'CFGFILE':: X++loads file with additional mount options X++ X++*-m*, *--meta*, *-o mfsmeta*:: X++mount MFSMETA companion filesystem instead of primary LizardFS X++ X++*-n*:: X++omit default mount options (*-o allow_other,default_permissions*) X++ X++*-p*, *-o askpassword*:: X++prompt for password (interactive version of *-o mfspassword=*'PASS') X++ X++*-H* 'HOST', *-o lizardfs-master=*'HOST':: X++connect with LizardFS master on 'HOST' (default is lizardfs-master) X++ X++*-P* 'PORT', *-o mfsport=*'PORT':: X++connect with LizardFS master on 'PORT' (default is 9421) X++ X++*-B* 'HOST', *-o mfsbind=*'HOST':: X++local address to use for connecting with master instead of default one X++ X++*-S* 'PATH', *-o mfssubfolder=*'PATH':: X++mount specified LizardFS directory (default is /, i.e. whole filesystem) X++ X++*-o enablefilelocks=*[0,1]:: X++enables/disables global file locking (disabled by default) X++ X++*-o mfspassword=*'PASSWORD':: X++authenticate to LizardFS master with 'PASSWORD' X++ X++*-o mfsmd5pass=*'MD5':: X++authenticate to LizardFS master using directly given 'MD5' (only if *mfspassword* option is not X++specified) X++ X++*-o mfsdelayedinit*:: X++connection with master is done in background - with this option mount can be run without network X++(good for being run from fstab / init scripts etc.) X++ X++*-o mfsacl*:: X++enable ACL support (disabled by default) X++ X++*-o mfsaclcacheto=*'SEC':: X++set ACL cache timeout in seconds (default: 1.0) X++ X++*-o mfsaclcachesize=*'N':: X++define ACL cache size in number of entries (0: no cache; default: 1000) X++ X++*-o mfsrwlock=*'0|1':: X++when set to 1, parallel reads from the same descriptor are performed (default: 1) X++ X++*-o mfsmkdircopysgid=*'N':: X++sgid bit should be copied during mkdir operation (on linux default: 1, otherwise: 0) X++ X++*-o mfssugidclearmode=*'SMODE':: X++set sugid clear mode (see below) X++ X++*-o mfsdebug*:: X++print some LizardFS-specific debugging information X++ X++*-o mfscachemode=*'CACHEMODE':: X++set cache mode (see *DATA CACHE MODES*; default is AUTO) X++ X++*-o mfscachefiles*:: X++(deprecated) preserve file data in cache (equivalent to *-o mfscachemode=*'YES') X++ X++*-o mfsattrcacheto=*'SEC':: X++set attributes cache timeout in seconds (default: 1.0) X++ X++*-o mfsentrycacheto=*'SEC':: X++set file entry cache timeout in seconds (default: 0.0, i.e. no cache) X++ X++*-o mfsdirentrycacheto=*'SEC':: X++set directory entry cache timeout in seconds (default: 1.0) X++ X++*-o mfswritecachesize=*'N':: X++specify write cache size in MiB (in range: 16..2048 - default: 128) X++ X++*-o mfscacheperinodepercentage=*'N':: X++specify what part of the write cache non occupied by other inodes can a single inode occupy X++(measured in %). X++E.g. When N=75 and the inode X uses 10 MiB, and all other inodes use 20 MiB out of 100 MiB cache, X++X can use 50 MiB more (since 75% of 80 MiB is 60 MiB). X++Default: 25. X++ X++*-o lizardfs-chunkserverreadto=*'MSEC':: X++set timeout for whole communication with a chunkserver during read operation in milliseconds (default: 2000) X++ X++*-o lizardfs-chunkserverwriteto=*'MSEC':: X++set chunkserver response timeout during write operation in milliseconds (default: 5000) X++ X++*-o lizardfs-chunkserverrtt=*'MSEC':: X++set timeout after which SYN packet is considered lost during the first retry of connecting a chunkserver X++(default: 200) X++ X++*-o lizardfs-chunkserverconnectreadto=*'MSEC':: X++set timeout for connecting with chunkservers during read operation in milliseconds (default: 2000) X++ X++*-o lizardfs-chunkserverwavereadto=*'MSEC':: X++set timeout for executing each wave of a read operation in milliseconds (default: 500) X++ X++*-o lizardfs-chunkservertotalreadto=*'MSEC':: X++set timeout for the whole communication with chunkservers during a read operation in milliseconds (default: 2000) X++ X++*-o cacheexpirationtime=*'MSEC':: X++set timeout for read cache entries to be considered valid in milliseconds (0 disables cache) (default: 300) X++ X++*-o readaheadmaxwindowsize=*'KB':: X++set max value of readahead window per single descriptor in kibibytes (default: 16384) X++ X++*-o mfsrlimitnofile=*'N':: X++try to change limit of simultaneously opened file descriptors on startup X++(default: 100000) X++ X++*-o mfsnice=*'LEVEL':: X++try to change nice level to specified value on startup (default: -19) X++ X++*-o mfswriteworkers=*'N':: X++define number of write workers (default: 10) X++ X++*-o mfswritewindowsize=*'N':: X++define write window size (in blocks) for each chunk (default: 15) X++ X++*-o mfsmemlock*:: X++try to lock memory (must be enabled at build time) X++ X++*-o mfsdonotrememberpassword*:: X++do not remember password in memory - more secure, but when session is lost then new session is X++created without password X++ X++*-o mfsioretries=*'N':: X++specify number of retries before I/O error is returned (default: 30) X++ X++*-o mfsreportreservedperiod=*'N':: X++specify interval of reporting reserved inodes in seconds (default: 60) X++ X++*-o mfsiolimits=*'PATH':: X++specify local I/O limiting configuration file (default: no I/O limiting) X++ X++General mount options (see *mount*(8) manual): X++ X++*-o rw*|*-o ro*:: X++Mount file-system in read-write (default) or read-only mode respectively. X++ X++*-o suid*|*-o nosuid*:: X++Enable or disable suid/sgid attributes to work. X++ X++*-o dev*|*-o nodev*:: X++Enable or disable character or block special device files interpretation. X++ X++*-o exec*|*-o noexec*:: X++Allow or disallow execution of binaries. X++ X++*-o symlinkcachetimeout=*'N':: X++Set timeout value for symlink cache timeout in seconds. Default value is 3600. X++ X++*-o bandwidthoveruse=*'N':: X++Define ratio of allowed bandwidth overuse when fetching data. Default value is 1.0. X++This option is effective only with N+M goals (xors and erasure codes). X++ X++== DATA CACHE MODES X++ X++There are three cache modes: *NO*, *YES* and *AUTO*. Default option is *AUTO* and you shuldn't X++change it unless you really know what you are doing. In *AUTO* mode data cache is managed X++automatically by lizardfs-master. X++ X++*NO*,*NONE* or *NEVER*:: X++never allow files data to be kept in cache (safest but can reduce efficiency) X++ X++*YES* or *ALWAYS*:: X++always allow files data to be kept in cache (dangerous) X++ X++*AUTO*:: X++file cache is managed by lizardfs-master automatically (should be very safe and efficient) X++ X++== SUGID CLEAR MODE X++ X++SMODE can be set to: X++ X++ - *NEVER* - MFS will not change suid and sgid bit on chown X++ X++ - *ALWAYS* - clear suid and sgid on every chown - safest operation X++ X++ - *OSX* - standard behavior in OS X and Solaris (chown made by unprivileged user clear suid X++ and sgid) X++ X++ - *BSD* - standard behavior in BSD systems (like in OSX, but only when something is really X++ changed) X++ X++ - *EXT* - standard behavior in most file systems on Linux (directories not changed, X++ others: suid cleared always, sgid only when group exec bit is set) X++ X++ - *XFS* - standard behavior in XFS on Linux (like EXT but directories are changed X++ by unprivileged users) X++ X++SMODE extra info: X++ X++btrfs,ext2,ext3,ext4,hfs[+],jfs,ntfs and reiserfs on Linux work as 'EXT'. X++ X++Only xfs on Linux works a little different. Beware that there is a strange X++operation - chown(-1,-1) which is usually converted by a kernel into something X++like 'chmod ug-s', and therefore can't be controlled by MFS as 'chown' X++ X++== REPORTING BUGS X++ X++Report bugs to . X++ X++== COPYRIGHT X++ X++Copyright 2008-2009 Gemius SA, 2013-2015 Skytechnology sp. z o.o. X++ X++LizardFS is free software: you can redistribute it and/or modify it under the terms of the GNU X++General Public License as published by the Free Software Foundation, version 3. X++ X++LizardFS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even X++the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General X++Public License for more details. X++ X++You should have received a copy of the GNU General Public License along with LizardFS. If not, see X++. X++ X++== SEE ALSO X++ X++lizardfs-master(8), mfstools(1), moosefs(7), mount(8) X+diff -Nura ../lizardfs-3.12.0.orig/doc/lizardfs-mount.cfg.5.txt ./doc/lizardfs-mount.cfg.5.txt X+--- ../lizardfs-3.12.0.orig/doc/lizardfs-mount.cfg.5.txt 1970-01-01 01:00:00.000000000 +0100 X++++ ./doc/lizardfs-mount.cfg.5.txt X+@@ -0,0 +1,62 @@ X++lizardfs-mount.cfg(5) X++===================== X++ X++== NAME X++ X++lizardfs-mount.cfg - configuration file for the lizardfs-mount command X++ X++== SYNTAX X++ X++OPTION,OPTION,OPTION,... X++ X++OPTION X++ X++PATH X++ X++The *#* character starts comments. X++ X++== DESCRIPTION X++ X++The *lizardfs-mount.cfg* file defines the default mountpoint and the default lizardfs-mount X++specific mount options for the lizardfs-mount command. Options can be either stated X++in one line as a comma separated list of options, or by giving one option per X++line. Options not lizardfs-mount specific will be ignored. X++ X++The default mount point should be listed on a separate line, giving the full X++path. Lines starting with the *#* character are ignored. X++ X++=== EXAMPLES X++ X++ # X++ # Default Options X++ # X++ lizardfs-master=192.168.1.1 X++ mfspassword=changeme X++ # X++ # Default mount point X++ # X++ /mnt/lizardfs X++ X++ X++=== REPORTING BUGS X++ X++Report bugs to . X++ X++=== COPYRIGHT X++ X++2016 Skytechnology Sp. z o.o. X++ X++LizardFS is free software: you can redistribute it and/or modify it under the X++terms of the GNU General Public License as published by the Free Software X++Foundation, version 3. X++ X++LizardFS is distributed in the hope that it will be useful, but WITHOUT ANY X++WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR X++A PARTICULAR PURPOSE. See the GNU General Public License for more details. X++ X++You should have received a copy of the GNU General Public License along with X++LizardFS. If not, see . X++ X++== SEE ALSO X++ X++lizardfs-mount(1) lizardfs(7) X+diff -Nura ../lizardfs-3.12.0.orig/doc/lizardfs-repquota.1.txt ./doc/lizardfs-repquota.1.txt X+--- ../lizardfs-3.12.0.orig/doc/lizardfs-repquota.1.txt 2017-12-20 10:59:37.000000000 +0100 X++++ ./doc/lizardfs-repquota.1.txt X+@@ -46,7 +46,7 @@ X+ user cannot extend existing files by adding new chunks to them. X+ X+ In general quotas can be set only by a superuser, but there is a workaround available - one can set X+-SESFLAG_ALLCANCHANGEQUOTA in mfsexports.cfg file. A user can only retrieve a quota of his own (and X++SESFLAG_ALLCANCHANGEQUOTA in lizardfs-exports.cfg file. A user can only retrieve a quota of his own (and X+ of his primary group). X+ X+ *repquota* prints a summary of the limits that were set and inode/space usage for specified X+diff -Nura ../lizardfs-3.12.0.orig/doc/lizardfs-topology.cfg.5.txt ./doc/lizardfs-topology.cfg.5.txt X+--- ../lizardfs-3.12.0.orig/doc/lizardfs-topology.cfg.5.txt 1970-01-01 01:00:00.000000000 +0100 X++++ ./doc/lizardfs-topology.cfg.5.txt X+@@ -0,0 +1,64 @@ X++lizardfs-topology.cfg(5) X++======================== X++ X++== NAME X++ X++lizardfs-topology.cfg - LizardFS network topology definitions X++ X++== DESCRIPTION X++ X++The file *lizardfs-topology.cfg* contains assignments of IP addresses into network locations (usually X++switch numbers). This file is optional. If your network has one switch or decreasing traffic between X++switches is not necessary then leave this file empty. X++ X++== SYNTAX X++ X++Syntax is: X++ X++'ADDRESS' 'SWITCH-NUMBER' X++ X++Lines starting with *#* character are ignored. X++ X++'ADDRESS' can be specified in several forms: X++ X++- *** all addresses X++ X++- *n.n.n.n* single IP address X++ X++- *n.n.n.n/b* IP class specified by network address and bits number X++ X++- *n.n.n.n/m.m.m.m* IP class specified by network address and mask X++ X++- *f.f.f.f-t.t.t.t* IP range specified by from-to addresses (inclusive) X++ X++ X++'SWITCH-NUMBER' can be specified as any positive 32-bit numer. X++ X++== NOTES X++ X++If one IP belongs to more than one definition then last definition is used. X++ X++As for now distance between switches is constant. So distance between machines is calculated as: *0* X++when IP numbers are the same, *1* when IP numbers are different, but switch numbers are the same and X++*2* when switch numbers are different X++ X++Distances are used only to sort chunkservers during read and write operations. New chunks are still X++created randomly. Also rebalance routines do not take distances into account. X++ X++== COPYRIGHT X++ X++Copyright 2008-2009 Gemius SA, 2013-2015 Skytechnology sp. z o.o. X++ X++LizardFS is free software: you can redistribute it and/or modify it under the terms of the GNU X++General Public License as published by the Free Software Foundation, version 3. X++ X++LizardFS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even X++the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General X++Public License for more details. X++ X++You should have received a copy of the GNU General Public License along with LizardFS. If not, see X++. X++ X++== SEE ALSO X++ X++lizardfs-master(8), lizardfs-master.cfg(5) X+diff -Nura ../lizardfs-3.12.0.orig/doc/lizardfs.1.txt ./doc/lizardfs.1.txt X+--- ../lizardfs-3.12.0.orig/doc/lizardfs.1.txt 2017-12-20 10:59:37.000000000 +0100 X++++ ./doc/lizardfs.1.txt X+@@ -124,7 +124,7 @@ X+ X+ == SEE ALSO X+ X+-mfsmount(1), lizardfs-appendchunks(1), lizardfs-checkfile(1), lizardfs-deleattr(1), lizardfs-dirinfo(1), lizardfs-fileinfo(1), X++lizardfs-mount(1), lizardfs-appendchunks(1), lizardfs-checkfile(1), lizardfs-deleattr(1), lizardfs-dirinfo(1), lizardfs-fileinfo(1), X+ lizardfs-filerepair(1), lizardfs-geteattr(1), lizardfs-getgoal(1), lizardfs-gettrashtime(1), lizardfs-makesnapshot(1), X+ lizardfs-rgetgoal(1), lizardfs-rgettrashtime(1), lizardfs-rsetgoal(1), lizardfs-rsettrashtime(1), lizardfs-seteattr(1), X+ lizardfs-setgoal(1), lizardfs-settrashtime(1), lizardfs-rremove(1), lizardfs-repquota(1), lizardfs-setquota(1), moosefs(7) X+diff -Nura ../lizardfs-3.12.0.orig/doc/mfscgiserv.8.txt ./doc/mfscgiserv.8.txt X+--- ../lizardfs-3.12.0.orig/doc/mfscgiserv.8.txt 2017-12-20 10:59:37.000000000 +0100 X++++ ./doc/mfscgiserv.8.txt X+@@ -1,74 +0,0 @@ X+-mfscgiserv(8) X+-============= X+- X+-== NAME X+- X+-mfscgiserv - start HTTP/CGI server for Lizard File System monitoring X+- X+-== SYNOPSIS X+- X+-[verse] X+-*mfscgiserv* [*-H* 'BIND-HOST'] [*-P* 'BIND-PORT'] [*-R* 'ROOT-PATH'] X+- [*-D* 'DATA-PATH'] [*-t* 'LOCKTIMEOUT'] [*-f* [*-v*]] ['ACTION'] X+- X+-[verse] X+-*mfscgiserv* *-h* X+- X+-== DESCRIPTION X+- X+- ######################## ! DEPRECATION WARNING ! ######################### X+- # # X+- # mfscgiserv service is deprecated, please use lizardfs-cgiserv instead. # X+- # See manual entry lizardfs-cgiserver(8) for details. # X+- # # X+- ######################## ! DEPRECATION WARNING ! ######################### X+- X+-*mfscgiserv* is a very simple HTTP server capable of running CGI scripts for Lizard File System X+-monitoring. X+- X+-== OPTIONS X+- X+-*-h*:: X+-print usage information and exit X+- X+-*-H* 'BIND_HOST':: X+-local address to listen on (default: any) X+- X+-*-P* 'BIND_PORT':: X+-port to listen on (default: 9425) X+- X+-*-R* 'ROOT_PATH':: X+-local path to use as HTTP document root (default is CGIDIR set up at configure time) X+- X+-*-D* 'DATA_PATH':: X+-local path to store data, e.g. a lockfile (default is DATA_PATH set up at configure time) X+- X+-*-f*:: X+-run in foreground, don't daemonize X+- X+-*-v*:: X+-log requests on stderr X+- X+-*-t* 'LOCKTIMEOUT':: X+-how long to wait for lockfile (default is 60 seconds) X+- X+-'ACTION' X+-is the one of *start*, *stop*, *restart* or *test*. Default action is *restart*. X+- X+-== COPYRIGHT X+- X+-Copyright 2008-2009 Gemius SA, 2013-2015 Skytechnology sp. z o.o. X+- X+-LizardFS is free software: you can redistribute it and/or modify it under the terms of the GNU X+-General Public License as published by the Free Software Foundation, version 3. X+- X+-LizardFS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even X+-the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General X+-Public License for more details. X+- X+-You should have received a copy of the GNU General Public License along with LizardFS. If not, see X+-. X+- X+-== SEE ALSO X+- X+-moosefs(7) X+diff -Nura ../lizardfs-3.12.0.orig/doc/mfschunkserver.8.txt ./doc/mfschunkserver.8.txt X+--- ../lizardfs-3.12.0.orig/doc/mfschunkserver.8.txt 2017-12-20 10:59:37.000000000 +0100 X++++ ./doc/mfschunkserver.8.txt X+@@ -1,114 +0,0 @@ X+-mfschunkserver(8) X+-================= X+- X+-== NAME X+- X+-mfschunkserver - start, restart or stop Lizard File System chunkserver process X+- X+-== SYNOPSIS X+- X+-[verse] X+-*mfschunkserver* [*-f*] [*-c* 'CFGFILE'] [*-u*] [*-d*] [*-t* 'LOCKTIMEOUT'] ['ACTION'] X+- X+-[verse] X+-*mfschunkserver -s* [*-c* 'CFGFILE'] X+- X+-[verse] X+-*mfschunkserver -v* X+- X+-[verse] X+-*mfschunkserver -h* X+- X+- X+-== DESCRIPTION X+- X+-*mfschunkserver* is the data server of Lizard File System. Depending on parameters it can start, X+-restart or stop LizardFS chunkserver process. Without any options it starts LizardFS chunkserver, X+-killing previously run process if lock file exists. X+- X+-SIGHUP (or *reload* 'ACTION') forces *mfschunkserver* to reload all configuration files. X+- X+-Chunkserver periodically tests stored chunks (see *HDD_TEST_FREQ* option X+-in *mfschunkserver.cfg* manual). X+- X+-LizardFS master doesn't send metadata change logs to chunkserver and X+-expect at least one *mfsmetalogger* daemon to connect. X+- X+-Chunkserver scans attached disks in background. X+- X+-== OPTIONS X+- X+-*-v*:: X+-print version information and exit X+- X+-*-h*:: X+-print usage information and exit X+- X+-*-f*:: X+-(deprecated, use *start* action instead) X+-forcily run LizardFS chunkserver process, without trying to kill previous instance (this option X+-allows to run LizardFS chunkserver if stale PID file exists) X+- X+-*-s*:: X+-(deprecated, use *stop* action instead) X+-stop LizardFS chunkserver process X+- X+-*-c* 'CFGFILE':: X+-specify alternative path of configuration file (default is *mfschunkserver.cfg* in system X+-configuration directory) X+- X+-*-u*:: X+-log undefined configuration values (when default is assumed) X+- X+-*-d*:: X+-run in foreground, don't daemonize X+- X+-*-t* 'LOCKTIMEOUT':: X+-how long to wait for lockfile (default is 60 seconds) X+- X+-'ACTION' X+-is the one of *start*, *stop*, *restart*, *reload*, *test*, *isalive* or *kill*. Default action is X+-*restart*. X+- X+-== FILES X+- X+-*mfschunkserver.cfg*:: X+-configuration file for LizardFS chunkserver process; refer to *mfschunkserver.cfg*(5) manual for X+-defails X+- X+-*mfshdd.cfg*:: X+-list of directories (mountpoints) used for LizardFS storage (one per line; directory prefixed by *** X+-character causes given directory to be freed by replicating all data already stored there to another X+-locations) X+- X+-*mfschunkserver.lock*:: X+-PID file of running LizardFS chunkserver process X+- X+-*.mfschunkserver.lock*:: X+-lock file of running LizardFS chunkserver process X+-(created in data directory) X+- X+-*data.csstats*:: X+-Chunkserver charts state X+- X+-== REPORTING BUGS X+- X+-Report bugs to . X+- X+-== COPYRIGHT X+- X+-Copyright 2008-2009 Gemius SA, 2013-2015 Skytechnology sp. z o.o. X+- X+-LizardFS is free software: you can redistribute it and/or modify it under the terms of the GNU X+-General Public License as published by the Free Software Foundation, version 3. X+- X+-LizardFS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even X+-the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General X+-Public License for more details. X+- X+-You should have received a copy of the GNU General Public License along with LizardFS. If not, see X+-. X+- X+-== SEE ALSO X+- X+-mfsmaster(8), mfsmount(1), mfschunkserver.cfg(5), mfshdd.cfg(5), moosefs(7) X+diff -Nura ../lizardfs-3.12.0.orig/doc/mfschunkserver.cfg.5.txt ./doc/mfschunkserver.cfg.5.txt X+--- ../lizardfs-3.12.0.orig/doc/mfschunkserver.cfg.5.txt 2017-12-20 10:59:37.000000000 +0100 X++++ ./doc/mfschunkserver.cfg.5.txt X+@@ -1,153 +0,0 @@ X+-mfschunkserver.cfg(5) X+-===================== X+- X+-== NAME X+- X+-mfschunkserver.cfg - main configuration file for *mfschunkserver* X+- X+-== DESCRIPTION X+- X+-The file *mfschunkserver.cfg* contains configuration of LizardFS chunkserver process. X+- X+-== SYNTAX X+- X+-Syntax is: X+- X+-'OPTION' *=* 'VALUE':: X+-Lines starting with *#* character are ignored. X+- X+-== OPTIONS X+- X+-Configuration options: X+- X+-*DATA_PATH*:: X+-where to store files with usage statistics and daemon lock file X+- X+-*LABEL*:: X+-the label of this chunkserver (for tiering) X+- X+-*WORKING_USER*:: X+-user to run daemon as X+- X+-*WORKING_GROUP*:: X+-group to run daemon as (optional - if empty then default user group will be used) X+- X+-*SYSLOG_IDENT*:: X+-name of process to place in syslog messages (default is mfschunkserver) X+- X+-*LOCK_MEMORY*:: X+-whether to perform mlockall() to avoid swapping out mfschunkserver process (default is 0, i.e. no) X+- X+-*NICE_LEVEL*:: X+-nice level to run daemon with (default is -19 if possible; note: process must be started as root to X+-increase priority) X+- X+-*MASTER_HOST*:: X+-address of LizardFS master host to connect with (default is mfsmaster) X+- X+-*MASTER_PORT*:: X+-number of LizardFS master port to connect with (default is 9420) X+- X+-*MASTER_RECONNECTION_DELAY*:: X+-delay in seconds before trying to reconnect to the master server after disconnection (default is 5) X+- X+-*MASTER_TIMEOUT*:: X+-timeout (in seconds) for the master server connection (default is 60, minimum is 0.01) X+- X+-*BIND_HOST*:: X+-local address to use for connecting with the master server (default is ***, X+-i.e. default local address) X+- X+-*CSSERV_LISTEN_HOST*:: X+-IP address to listen on for client (mount) connections (*** means any) X+- X+-*CSSERV_LISTEN_PORT*:: X+-port to listen on for client (mount) connections (default is 9422) X+- X+-*CSSERV_TIMEOUT*:: X+-timeout (in seconds) for client (mount) connections (default is 5) X+- X+-*HDD_CONF_FILENAME*:: X+-alternative name of *mfshdd.cfg* file X+- X+-*HDD_LEAVE_SPACE_DEFAULT*:: X+-free space threshold to set volume as 100% utilized when there is less than given amount of free X+-space left (default is "4GiB"). This number is always added to the used disk space reported by X+-chunkserver. X+- X+-*HDD_TEST_FREQ*:: X+-chunk test period in seconds (default is 10) X+- X+-*HDD_ADVISE_NO_CACHE*:: X+-whether to remove each chunk from page when closing it to reduce cache pressure X+-generated by chunkserver (default is 0, i.e. no) X+- X+-*HDD_PUNCH_HOLES*:: X+-if enabled then chunkserver detects zero values in chunk data and frees X+-corresponding file blocks (decreasing file system usage). This option works only on Linux X+-with file systems supporting punching holes (XFS, ext4, Btrfs, tmpfs) X+- X+-*ENABLE_LOAD_FACTOR*:: X+-if enabled, chunkserver will send periodical reports of its I/O load to master, X+-which will be taken into consideration when picking chunkservers for I/O operations. X+- X+-*REPLICATION_BANDWIDTH_LIMIT_KBPS*:: X+-limit how many kilobytes can be replicated from other chunkservers to this chunkserver in every X+-second (by default undefined, i.e. no limits) X+- X+-*NR_OF_NETWORK_WORKERS*:: X+-number of threads which handle (in a round-robin manner) connections with clients (default is 1); X+-these threads are responsible for reading from sockets and coping data from internal buffers to X+-sockets X+- X+-*NR_OF_HDD_WORKERS_PER_NETWORK_WORKER*:: X+-number of threads that each network worker may use to do disk operations like opening chunks, X+-reading or writing them (default is 2) X+- X+-*READ_AHEAD_KB*:: X+-additional number of kilobytes which should be passed to posix_fadvise(POSIX_FADV_WILLNEED) X+-before reading data from a chunk (default is 0, i.e. use posix_fadvise only with the amount X+-of data that is really needed; the value is aligned down to 64 KiB) X+- X+-*MAX_READ_BEHIND_KB*:: X+-try to fix out-of-order read requests; the value tells how much of skipped data to read if an X+-offset of some read operation is greater than the offset where the previos operation finished X+-(default is 0, i.e. don't read any skipped data; the value is aligned down to 64 KiB) X+- X+-*CREATE_NEW_CHUNKS_IN_MOOSEFS_FORMAT*:: X+-whether to create new chunks in the MooseFS format (signature + * + *) or in X+-the newer interleaved format ([ ]*). (Default is 1, i.e. new chunks are created X+-in MooseFS format) X+- X+-*PERFORM_FSYNC*:: X+-call fsync() after a chunk is modified (default is 1, i.e. enabled) X+- X+-*REPLICATION_TOTAL_TIMEOUT_MS*:: X+-total timeout for single replication operation. Replications that take longer than that X+-are considered failed and are immediately aborted (default: 60000) X+- X+-*REPLICATION_CONNECTION_TIMEOUT_MS*:: X+-connection for single replication operation. If connecting to another chunkserver takes longer X+-than this timeout, the operation is considered failed and is immediately aborted (default: 1000) X+- X+-*REPLICATION_WAVE_TIMEOUT_MS*:: X+-*ADVANCED*:: timeout for single wave in replication. After this timeout, next wave X+-of read requests is sent to other chunkservers (default: 500) X+- X+-== COPYRIGHT X+- X+-Copyright 2008-2009 Gemius SA, 2013-2015 Skytechnology sp. z o.o. X+- X+-LizardFS is free software: you can redistribute it and/or modify it under the terms of the GNU X+-General Public License as published by the Free Software Foundation, version 3. X+- X+-LizardFS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even X+-the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General X+-Public License for more details. X+- X+-You should have received a copy of the GNU General Public License along with LizardFS. If not, see X+-. X+- X+-== SEE ALSO X+- X+-mfschunkserver(8), mfshdd.cfg(5) X+diff -Nura ../lizardfs-3.12.0.orig/doc/mfsexports.cfg.5.txt ./doc/mfsexports.cfg.5.txt X+--- ../lizardfs-3.12.0.orig/doc/mfsexports.cfg.5.txt 2017-12-20 10:59:37.000000000 +0100 X++++ ./doc/mfsexports.cfg.5.txt X+@@ -1,127 +0,0 @@ X+-mfsexports.cfg(5) X+-================= X+- X+-== NAME X+- X+-mfsexports.cfg - LizardFS access control for mfsmounts X+- X+-== DESCRIPTION X+- X+-The file *mfsexports.cfg* contains LizardFS access list for *mfsmount* X+-clients. X+- X+-== SYNTAX X+- X+-Syntax is: X+- X+-'ADDRESS' 'DIRECTORY' ['OPTIONS'] X+- X+-Lines starting with *#* character are ignored. X+- X+-'ADDRESS' can be specified in several forms: X+- X+-- *** all addresses X+- X+-- *n.n.n.n* single IP address X+- X+-- *n.n.n.n/b* IP class specified by network address and bits number X+- X+-- *n.n.n.n/m.m.m.m* IP class specified by network address and mask X+- X+-- *f.f.f.f-t.t.t.t* IP range specified by from-to addresses (inclusive) X+- X+-'DIRECTORY' could be */* or path relative to LizardFS root; special value *.* means MFSMETA companion X+-filesystem. X+- X+-== OPTIONS X+- X+-*ro*, *readonly*:: X+-export tree in read-only mode (default) X+- X+-*rw*, *readwrite*:: X+-export tree in read-write mode X+- X+-*ignoregid*:: X+-disable testing of group access at *mfsmaster* level (it's still done at *mfsmount* level) - in this X+-case "group" and "other" permissions are logically added; needed for supplementary groups to work X+-(*mfsmaster* receives only user primary group information) X+- X+-*dynamicip*:: X+-allows reconnecting of already authenticated client from any IP address (the default is to check IP X+-address on reconnect) X+- X+-*maproot=*'USER'[*:*'GROUP']:: X+-maps root (uid=0) accesses to given user and group (similarly to maproot option in NFS mounts); X+-'USER' and 'GROUP' can be given either as name or number; if no group is specified, 'USER''s primary X+-group is used. Names are resolved on *mfsmaster* side (see note below). X+- X+-*mapall=*'USER'[*:*'GROUP']:: X+-like above but maps all non privileged users (uid!=0) accesses to given user and group (see notes X+-below). X+- X+-*minversion=*'VER':: X+-rejects access from clients older than specified X+- X+-*mingoal=*'N', *maxgoal=*'N':: X+-specify range in which goal can be set by users X+- X+-*mintrashtime=*'TDUR', *maxtrashtime=*'TDUR':: X+-specify range in which trashtime can be set by users X+- X+-*password=*'PASS', *md5pass=*'MD5':: X+-requires password authentication in order to access specified resource X+- X+-*alldirs*:: X+-allows to mount any subdirectory of specified directory (similarly to NFS) X+- X+-*nonrootmeta*:: X+-allows non-root users to use filesystem mounted in the meta mode (option available only in this mode) X+- X+-Default options are: *ro,maproot=999:999*. X+- X+-== NOTES X+- X+-'USER' and 'GROUP' names (if not specified by explicit uid/gid number) are resolved on *mfsmaster* X+-host. X+- X+-TDUR can be specified as number without time unit (number of seconds) or combination of numbers with X+-time units. Time units are: *W*,*D*,*H*,*M*,*S*. Order is important - less significant time units X+-can't be defined before more significant time units. X+- X+-Option *mapall* works in LizardFS in different way than in NFS, because of using FUSE's X+-"default_permissions" option. When mapall option is used, users see all objects with uid equal to X+-mapped uid as their own and all other as root's objects. Similarly objects with gid equal to mapped X+-gid are seen as objects with current user's primary group and all other objects as objects with X+-group 0 (usually wheel). With *mapall* option set attribute cache in kernel is always turned off. X+- X+-== EXAMPLES X+- X+-- ** / ro* X+- X+-- *192.168.1.0/24 / rw* X+- X+-- *192.168.1.0/24 / rw,alldirs,maproot=0,password=passcode* X+- X+-- *10.0.0.0-10.0.0.5 /test rw,maproot=nobody,password=test* X+- X+-- *10.1.0.0/255.255.0.0 /public rw,mapall=1000:1000* X+- X+-- *10.2.0.0/16 / rw,alldirs,maproot=0,mintrashtime=2h30m,maxtrashtime=2w* X+- X+-== COPYRIGHT X+- X+-Copyright 2008-2009 Gemius SA, 2013-2015 Skytechnology sp. z o.o. X+- X+-LizardFS is free software: you can redistribute it and/or modify it under the terms of the GNU X+-General Public License as published by the Free Software Foundation, version 3. X+- X+-LizardFS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even X+-the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General X+-Public License for more details. X+- X+-You should have received a copy of the GNU General Public License along with LizardFS. If not, see X+-. X+- X+-== SEE ALSO X+- X+-mfsmaster(8), mfsmaster.cfg(5) X+diff -Nura ../lizardfs-3.12.0.orig/doc/mfsgoals.cfg.5.txt ./doc/mfsgoals.cfg.5.txt X+--- ../lizardfs-3.12.0.orig/doc/mfsgoals.cfg.5.txt 2017-12-20 10:59:37.000000000 +0100 X++++ ./doc/mfsgoals.cfg.5.txt X+@@ -1,121 +0,0 @@ X+-mfsgoals.cfg(5) X+-=============== X+- X+-== NAME X+- X+-mfsgoals.cfg - replication goals configuration file X+- X+-== DESCRIPTION X+- X+-The file *mfsgoals.cfg* contains definitions of the replication goals. X+- X+-== SYNTAX X+- X+-Syntax is: X+- X+-'id' 'name' : $'type' { 'label' ... } X+-'id' 'name' : 'label' ... X+- X+-The *#* character starts comments. X+- X+-== DETAILS X+- X+-There are 40 replication goals, with 'ids' between 1 and 40, inclusive. X+-Each file stored on the filesystem refers to some goal id and is X+-replicated according to the goal currently associated with this id. X+- X+-By default, goal 1 means one copy on any chunkserver, goal 2 means two X+-copies on any two chunkservers and so on, until 5 - which is the maximal X+-default number of copies. The purpose of mfsgoals.cfg is to override this X+-behavior, when desired. The file is a list of goal definitions, each X+-consisting of 'id', 'name' and a list of 'labels'. The maximal length X+-of this list is 40 labels. X+- X+-'id' indicates the goal id to be redefined. If some files are already X+-assigned this goal id, their effective goal will change. X+- X+-'name' is a human readable name used by the user interface tools X+-(mfssetgoal(1), mfsgetgoal(1)). 'name' can consist of up to 32 alphanumeric X+-characters: a-z, A-Z, 0-9, _. X+- X+-'type' specifies goal type - currently supported types are: X+- X+- - *std* - for each file using this goal and for each label, the system X+- will try to maintain a copy of the file on some chunkserver X+- with this label. X+- - **xor**N - for each file using this goal, the system will split the file X+- into N+1 parts (N ordinary + 1 parity). For reading, any N of X+- the parts are necessary. If labels are specified, parts will X+- be kept on chunkservers with these labels. Otherwise, default wildcard X+- labels will be used. N can be in range from 2 to 9. X+- - **ec**(K,M) - for each file using this goal, the system will split the file X+- into K + M parts (K data parts and M parity). For reading, any K of X+- the parts are necessary. If labels are specified, parts will X+- be kept on chunkservers with these labels. Otherwise, default wildcard X+- labels will be used. K can be in range from 2 to 32 and M from 1 to 32. X+- If the type is unspecified is is assumed to be *std*. X+- X+-The list of 'labels' is a list of chunkserver labels as defined in X+-mfschunkserver.cfg(5). 'label' can consist of up to 32 alphanumeric X+-characters: a-z, A-Z, 0-9, _. X+- X+- X+-One label may occur multiple times - in such case the system will create X+-one copy per each occurrence. X+-The special label _ means "a copy on any chunkserver". X+- X+-Note that changing the definition of a goal in mfsgoals.cfg affects all X+-files which currently use given goal id. X+- X+-== EXAMPLES X+- X+-Some example goal definitions: X+- X+-3 3 : _ _ _ # one of the default goals (three copies anywhere) X+- X+-8 not_important_file : _ # only one copy X+- X+-11 important_file : _ _ X+- X+-12 local_copy_on_mars : mars _ # at least one copy in the Martian datacenter X+- X+-13 cached_on_ssd : ssd _ X+- X+-14 very_important_file : _ _ _ _ X+- X+-15 default_xor3 : $xor3 X+- X+-16 fast_read : $xor2 { ssd ssd hdd } X+- X+-17 xor5 : $xor5 { hdd } # at least one part on hdd X+- X+-18 first_ec : $ec(3,1) X+- X+-19 ec32_ssd : $ec(3,2) { ssd ssd ssd ssd ssd } # all parts on ssd X+- X+-20 ec53_mixed : $ec(5,3) { hdd ssd hdd _ _ _ _ _ } # two parts on hdd and one part on ssd X+- X+-== SNAPSHOT FILES X+- X+-Snapshot shares data with the original file until the file receives X+-modification and diverges from the snapshotted version. X+-If some snapshot has different goal than its original file, any shared X+-data are stored according to the goal with higher 'id' of the two. X+- X+-== COPYRIGHT X+- X+-Copyright 2008-2009 Gemius SA, 2013-2015 Skytechnology sp. z o.o. X+- X+-LizardFS is free software: you can redistribute it and/or modify it under the terms of the GNU X+-General Public License as published by the Free Software Foundation, version 3. X+- X+-LizardFS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even X+-the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General X+-Public License for more details. X+- X+-You should have received a copy of the GNU General Public License along with LizardFS. If not, see X+-. X+- X+-== SEE ALSO X+- X+-mfsmaster.cfg(5) X+diff -Nura ../lizardfs-3.12.0.orig/doc/mfshdd.cfg.5.txt ./doc/mfshdd.cfg.5.txt X+--- ../lizardfs-3.12.0.orig/doc/mfshdd.cfg.5.txt 2017-12-20 10:59:37.000000000 +0100 X++++ ./doc/mfshdd.cfg.5.txt X+@@ -1,30 +0,0 @@ X+-mfshdd.cfg(5) X+-============= X+- X+-== NAME X+- X+-mfshdd.cfg - list of LizardFS storage directories for mfschunkserver X+- X+-== DESCRIPTION X+- X+-The file *mfshdd.cfg* contains list of directories (mountpoints) used for LizardFS storage (one per X+-line). Directory prefixed by *** character causes given directory to be freed by replicating all X+-data already stored there to another locations. Lines starting with *#* character are ignored. X+- X+-== COPYRIGHT X+- X+-Copyright 2008-2009 Gemius SA, 2013-2015 Skytechnology sp. z o.o. X+- X+-LizardFS is free software: you can redistribute it and/or modify it under the terms of the GNU X+-General Public License as published by the Free Software Foundation, version 3. X+- X+-LizardFS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even X+-the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General X+-Public License for more details. X+- X+-You should have received a copy of the GNU General Public License along with LizardFS. If not, see X+-. X+- X+-== SEE ALSO X+- X+-mfschunkserver(8), mfschunkserver.cfg(5) X+diff -Nura ../lizardfs-3.12.0.orig/doc/mfsmaster.8.txt ./doc/mfsmaster.8.txt X+--- ../lizardfs-3.12.0.orig/doc/mfsmaster.8.txt 2017-12-20 10:59:37.000000000 +0100 X++++ ./doc/mfsmaster.8.txt X+@@ -1,137 +0,0 @@ X+-mfsmaster(8) X+-============ X+- X+-== NAME X+- X+-mfsmaster - start, restart or stop Lizard File System metadata server process X+- X+-== SYNOPSIS X+- X+-[verse] X+-mfsmaster [*-f*] [*-c* 'CFGFILE'] [*-u*] [*-d*] [*-t* 'LOCKTIMEOUT'] ['ACTION'] X+- X+-[verse] X+-*mfsmaster -s* [*-c* 'CFGFILE'] X+- X+-[verse] X+-*mfsmaster -v* X+- X+-[verse] X+-*mfsmaster -h* X+- X+-== DESCRIPTION X+- X+-*mfsmaster* is the metadata server program of Lizard File System. Depending on parameters it can X+-start, restart or stop LizardFS metadata server process. Without any options it starts LizardFS X+-metadata server, killing previously run process if lock file exists. X+- X+-Metadata server can work in one of two modes (personalities): X+- X+-. master X+-. shadow X+- X+-If metadata server works with 'master' personality it acts as main metadata server X+-govering all file system metadata modifications. X+-If metadata server works with 'shadow' personality it acts as backup metadata server X+-ready for immediate deployment as new 'master' in case of current 'master' failure. X+-Shadow only accepts connections from lizardfs-admin, i.e. mfschunkserver, mfsmetalogger X+-and mfsmount (the client) are not allowed to connect to 'shadow' instance. X+- X+-Current metadata server personality is defined in metadata server configuration file X+-and can be changed on the fly from 'shadow' to 'master' by proper modification and reloading X+-of its configuration file. X+- X+-'Master' and 'shadow' are designed to run simultaneously in sync forever. It is very unlikely X+-but still (due to a memory corruption or a bug) possible that after some time their metadata X+-will somehow differ. Since version 2.5.2 metadata checksum is maintained both by 'master' X+-and 'shadow', in order to detect and fix possible metadata corruptions. In case mismatch is X+-detected 'shadow' asks 'master' to double check its metadata and dump its current snapshot. X+-After the metadata is dumped and the checksum in 'master' is recalculated shadow downloads X+-the new metadata snapshot, which should ensure that master and all shadows have exactly the X+-same metadata. X+- X+-SIGHUP (or 'reload' 'ACTION') forces *mfsmaster* to reload all configuration files. X+- X+-*-v*:: X+-print version information and exit X+- X+-*-h*:: X+-print usage information and exit X+- X+-*-f*:: X+-(deprecated, use *start* action instead) X+-forcily run LizardFS master process, without trying to kill X+-previous instance (this option allows to run LizardFS master if stale PID file exists) X+- X+-*-s*:: X+-(deprecated, use *stop* action instead) X+-stop LizardFS master process X+- X+-*-c* 'CFGFILE':: X+-specify alternative path of configuration file (default is *mfsmaster.cfg* in system configuration X+-directory) X+- X+-*-u*:: X+-log undefined configuration values (when default is assumed) X+- X+-*-d*:: X+-run in foreground, don't daemonize X+- X+-*-t* 'LOCKTIMEOUT':: X+-how long to wait for lockfile (default is 60 seconds) X+- X+-'ACTION':: X+-is the one of *start*, *stop*, *restart*, *reload*, *test*, *isalive* or *kill*. Default action is X+-*restart*. X+- X+-== FILES X+- X+-*mfsmaster.cfg*:: X+-configuration file for LizardFS master process (see *mfsmaster.cfg*(5) manual) X+- X+-*mfsexports.cfg*:: X+-LizardFS access control file (used with *mfsmount*`s` 1.6.0 or later, see X+-*mfsexports.cfg*(5) manual) X+- X+-*mfstopology.cfg*:: X+-Network topology definitions (see *mfstopology.cfg*(5) manual) X+- X+-*mfsmaster.lock*:: X+-PID file of running LizardFS master process X+- X+-*.mfsmaster.lock*:: X+-lock file of running LizardFS master process X+-(created in data directory) X+- X+-*metadata.mfs*, *metadata.mfs.back*:: X+-LizardFS filesystem metadata image X+- X+-*`changelog.*.mfs`*:: X+-LizardFS filesystem metadata change logs (merged into *metadata.mfs* once per hour) X+- X+-*data.stats*:: X+-LizardFS master charts state X+- X+-== REPORTING BUGS X+- X+-Report bugs to . X+- X+-== COPYRIGHT X+- X+-Copyright 2008-2009 Gemius SA, 2013-2015 Skytechnology sp. z o.o. X+- X+-LizardFS is free software: you can redistribute it and/or modify it under the terms of the GNU X+-General Public License as published by the Free Software Foundation, version 3. X+- X+-LizardFS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even X+-the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General X+-Public License for more details. X+- X+-You should have received a copy of the GNU General Public License along with LizardFS. If not, see X+-. X+- X+-== SEE ALSO X+- X+-mfsmetarestore(8), mfschunkserver(8), mfsmount(1), X+-mfsmaster.cfg(5), mfsexports.cfg(5), mfstopology.cfg(5), X+-moosefs(7) X+diff -Nura ../lizardfs-3.12.0.orig/doc/mfsmaster.cfg.5.txt ./doc/mfsmaster.cfg.5.txt X+--- ../lizardfs-3.12.0.orig/doc/mfsmaster.cfg.5.txt 2017-12-20 10:59:37.000000000 +0100 X++++ ./doc/mfsmaster.cfg.5.txt X+@@ -1,291 +0,0 @@ X+-mfsmaster.cfg(5) X+-================ X+- X+-== NAME X+- X+-mfsmaster.cfg - main configuration file for mfsmaster X+- X+-== DESCRIPTION X+- X+-The file *mfsmaster.cfg* contains configuration of LizardFS metadata server process. X+- X+-== SYNTAX X+- X+-Syntax is: X+- X+-'OPTION' *=* 'VALUE' X+- X+-Lines starting with *#* character are ignored. X+- X+-== OPTIONS X+- X+-Configuration options: X+- X+-*PERSONALITY*:: X+-Current 'personality' of this instance of metadata server. Valid values are 'master', 'shadow' X+-and 'ha-cluster-managed'. If installation is managed by an HA cluster the only valid value is X+-'ha-cluster-managed', otherwise the only valid values are 'master' and 'shadow', in which case X+-only one metadata server in LizardFS shall have 'master' personality. + X+-PERSONALITY = 'master' + X+-means that this instance of metadata server acts as main metadata server X+-govering all file system metadata modifications. + X+-PERSONALITY = 'shadow' + X+-means that this instance of metadata server acts as backup metadata server X+-ready for immediate deployment as new 'master' in case of current 'master' failure. + X+-Metadata server personality can be changed at any moment as long as one changes personality from X+-'shadow' to 'master', changing personality the other way around is forbidden. + X+-PERSONALITY = 'ha-cluster-managed' + X+-means that this instance is managed by HA cluster, server runs in 'shadow' mode as long as its not remotly promoted to 'master'. X+- X+-*DATA_PATH*:: X+-where to store metadata files and lock file X+- X+-*WORKING_USER*:: X+-user to run daemon as X+- X+-*WORKING_GROUP*:: X+-group to run daemon as (optional - if empty then default user group will be used) X+- X+-*SYSLOG_IDENT*:: X+-name of process to place in syslog messages (default is mfsmaster) X+- X+-*LOCK_MEMORY*:: X+-whether to perform mlockall() to avoid swapping out mfsmaster process (default is 0, i.e. no) X+- X+-*NICE_LEVEL*:: X+-nice level to run daemon with (default is -19 if possible; note: process must be started as root to X+-increase priority) X+- X+-*EXPORTS_FILENAME*:: X+-alternative name of *mfsexports.cfg* file X+- X+-*TOPOLOGY_FILENAME*:: X+-alternative name of *mfstopology.cfg* file X+- X+-*CUSTOM_GOALS_FILENAME*:: X+-alternative name of *mfsgoals.cfg* file X+- X+-*PREFER_LOCAL_CHUNKSERVER*:: X+-If a client mountpoint has a local chunkserver, and a given chunk happens to X+-reside locally, then mfsmaster will list the local chunkserver first. X+-However, when the local client mount is issuing many read(s)/write(s), to many X+-local chunks, these requests can overload the local chunkserver and disk X+-subsystem. Setting this to 0(the default is 1) means that remote chunkservers X+-will be considered as equivalent to the local chunkserver. + X+-This is useful when the network is faster than the disk, and when there is X+-high-IO load on the client mountpoints. X+- X+-*BACK_LOGS*:: X+-number of metadata change log files (default is 50) X+- X+-*BACK_META_KEEP_PREVIOUS*:: X+-number of previous metadata files to be kept (default is 1) X+- X+-*AUTO_RECOVERY*:: X+-when this option is set (equals 1) master will try to recover metadata from changelog when it X+-is being started after a crash; otherwise it will refuse to start and 'mfsmetarestore' should be X+-used to recover the metadata (default is 0) X+- X+-*REPLICATIONS_DELAY_INIT*:: X+-DEPRECATED - see *OPERATIONS_DELAY_INIT* X+- X+-*REPLICATIONS_DELAY_DISCONNECT*:: X+-DEPRECATED - see *OPERATIONS_DELAY_DISCONNECT* X+- X+-*OPERATIONS_DELAY_INIT*:: X+-initial delay in seconds before starting chunk operations (default is 300) X+- X+-*OPERATIONS_DELAY_DISCONNECT*:: X+-chunk operations delay in seconds after chunkserver disconnection (default is 3600) X+- X+-*MATOML_LISTEN_HOST*:: X+-IP address to listen on for metalogger connections (*** means any) X+- X+-*MATOML_LISTEN_PORT*:: X+-port to listen on for metalogger connections (default is 9419) X+- X+-*MATOML_LOG_PRESERVE_SECONDS*:: X+-how many seconds of change logs have to be preserved in memory (default is 600; note: logs are X+-stored in blocks of 5k lines, so sometimes real number of seconds may be little bigger; zero X+-disables extra logs storage) X+- X+-*MATOCS_LISTEN_HOST*:: X+-IP address to listen on for chunkserver connections (*** means any) X+- X+-*MATOCS_LISTEN_PORT*:: X+-port to listen on for chunkserver connections (default is 9420) X+- X+-*MATOCL_LISTEN_HOST*:: X+-IP address to listen on for client (mount) connections (*** means any) X+- X+-*MATOCL_LISTEN_PORT*:: X+-port to listen on for client (mount) connections (default is 9421) X+- X+-*MATOTS_LISTEN_HOST*:: X+-IP address to listen on for tapeserver connections (*** means any) X+- X+-*MATOTS_LISTEN_PORT*:: X+-Port to listen on for tapeserver connections (default is 9424) X+- X+-*CHUNKS_LOOP_MAX_CPS*:: X+-Chunks loop shouldn't check more chunks per seconds than given number (default is 100000) X+- X+-*CHUNKS_LOOP_MIN_TIME*:: X+-Chunks loop will check all chunks in specified time (default is 300) unless *CHUNKS_LOOP_MAX_CPS* X+-will force slower execution. X+- X+-*CHUNKS_LOOP_PERIOD*:: X+-Time in milliseconds between chunks loop execution (default is 1000). X+- X+-*CHUNKS_LOOP_MAX_CPU*:: X+-Hard limit on CPU usage by chunks loop (percentage value, default is 60). X+- X+-*CHUNKS_SOFT_DEL_LIMIT*:: X+-Soft maximum number of chunks to delete on one chunkserver (default is 10) X+- X+-*CHUNKS_HARD_DEL_LIMIT*:: X+-Hard maximum number of chunks to delete on one chunkserver (default is 25) X+- X+-*CHUNKS_WRITE_REP_LIMIT*:: X+-Maximum number of chunks to replicate to one chunkserver (default is 2) X+- X+-*CHUNKS_READ_REP_LIMIT*:: X+-Maximum number of chunks to replicate from one chunkserver (default is 10) X+- X+-*ENDANGERED_CHUNKS_PRIORITY*:: X+-Percentage of endangered chunks that should be replicated with high priority. X+-Example: when set to 0.2, up to 20% of chunks served in one turn would be extracted X+-from endangered priority queue. X+-When set to 1 (max), no other chunks would be processed as long as there are X+-any endangered chunks in the queue (not advised) X+-(default is 0, i.e. there is no overhead for prioritizing endangered chunks). X+- X+-*ENDANGERED_CHUNKS_MAX_CAPACITY*:: X+-Max capacity of endangered chunks queue. This value can limit memory usage of master server X+-if there are lots of endangered chunks in the system. X+-This value is ignored if ENDANGERED_CHUNKS_PRIORITY is set to 0. X+-(default is 1Mi, i.e. no more than 1Mi chunks will be kept in a queue). X+- X+-*ACCEPTABLE_DIFFERENCE*:: X+-A maximum difference between disk usage on chunkservers that doesn't trigger chunk rebalancing X+-(default is 0.1, i.e. 10%). X+- X+-*CHUNKS_REBALANCING_BETWEEN_LABELS*:: X+-When balancing disk usage, allow moving chunks between servers with different labels X+-(default is 0, i.e. chunks will be moved only between servers with the same label). X+- X+-*REJECT_OLD_CLIENTS*:: X+-Reject **mfsmount**s older than 1.6.0 (0 or 1, default is 0). Note that *mfsexports* access control X+-is NOT used for those old clients. X+- X+-*GLOBALIOLIMITS_FILENAME*:: X+-Configuration of global I/O limits (default is no I/O limiting) X+- X+-*GLOBALIOLIMITS_RENEGOTIATION_PERIOD_SECONDS*:: X+-How often mountpoints will request bandwidth allocations under constant, predictable load X+-(default is 0.1) X+- X+-*GLOBALIOLIMITS_ACCUMULATE_MS*:: X+-After inactivity, no waiting is required to transfer the amount of data equivalent to normal X+-data flow over the period of that many milliseconds (default is 250) X+- X+-*METADATA_CHECKSUM_INTERVAL*:: X+-how often metadata checksum shall be sent to backup servers (default is: every 50 metadata updates) X+- X+-*METADATA_CHECKSUM_RECALCULATION_SPEED*:: X+-how fast should metadata be recalculated in background (default : 100 objects per function call) X+- X+-*DISABLE_METADATA_CHECKSUM_VERIFICATION*:: X+-should checksum verification be disabled while applying changelog X+- X+-*NO_ATIME*:: X+-when this option is set to 1 inode access time is not updated on every access, otherwise X+-(when set to 0) it is updated (default is 0) X+- X+-*METADATA_SAVE_REQUEST_MIN_PERIOD*:: X+-minimal time in seconds between metadata dumps caused by requests from shadow masters X+-(default is 1800) X+- X+-*SESSION_SUSTAIN_TIME*:: X+-Time in seconds for which client session data (e.g. list of open files) should be sustained X+-in the master server after connection with the client was lost. X+-Values between 60 and 604800 (one week) are accepted. (default is 86400) X+- X+-*USE_BDB_FOR_NAME_STORAGE*:: X+-When this option is set to 1 Berkley DB is used for storing file/directory names X+-in file (DATA_PATH/name_storage.db). By default all strings are kept in system memory. X+-(default is 0) X+- X+-*BDB_NAME_STORAGE_CACHE_SIZE*:: X+-Size of memory cache (in MB) for file/directory names used by Berkeley DB storage. X+-(default is 10) X+- X+-*AVOID_SAME_IP_CHUNKSERVERS*:: X+-When this option is set to 1, process of selecting chunkservers for chunks will try to avoid X+-using those that share the same ip. (default is 0) X+- X+-*REDUNDANCY_LEVEL*:: X+-minimum number of required redundant chunk parts that can be lost before chunk becomes endangered X+-(default is 0) X+- X+-*SNAPSHOT_INITIAL_BATCH_SIZE*:: X+-This option can be used to specify initial number of snapshotted nodes that will be atomically cloned X+-before enqueuing the task for execution in fixed-sized batches. (default is 1000) X+- X+-*SNAPSHOT_INITIAL_BATCH_SIZE_LIMIT*:: X+-This option specifies the maximum initial batch size set for snapshot request. (default is 10000) X+- X+-*FILE_TEST_LOOP_MIN_TIME* X+-Test files loop will try to check all files in specified time in seconds (default is 3600). X+-It's possible for the loop to take more time if the master server is busy or the machine X+-doesn't have enough processing power to make all the needed calculations. X+- X+-Options below are mandatory for all Shadow instances: X+- X+-*MASTER_HOST*:: X+-address of the host running LizardFS metadata server that currently acts as 'master' X+- X+-*MASTER_PORT*:: X+-port number where LizardFS metadata server currently running as 'master' listens for connections X+-from 'shadow's and metaloggers (default is 9420) X+- X+-*MASTER_RECONNECTION_DELAY*:: X+-delay in seconds before trying to reconnect to metadata server after disconnection (default is 1) X+- X+-*MASTER_TIMEOUT*:: X+-timeout (in seconds) for metadata server connections (default is 60) X+- X+-*LOAD_FACTOR_PENALTY*:: X+-When set, percentage of load will be added to chunkserver disk usage to determine most fitting X+-chunkserver. Heavy loaded chunkservers will be picked for operations less frequently. X+-(default is 0, correct values are in range from 0 to 0.5) X+- X+-== NOTES X+- X+-Chunks in master are tested in loop. Speed (or frequency) is regulated by two options X+-*CHUNKS_LOOP_MIN_TIME* and *CHUNKS_LOOP_MAX_CPS*. First defines minimal time of the loop and second X+-maximal number of chunk tests per second. Typically at the beginning, when number of chunks is X+-small, time is constant, regulated by *CHUNK_LOOP_MIN_TIME*, but when number of chunks became bigger X+-then time of loop can increase according to *CHUNKS_LOOP_MAX_CPS*. X+- X+-Deletion limits are defined as 'soft' and 'hard' limit. When number of chunks to delete increases X+-from loop to loop then current limit can be temporary increased above soft limit, but never above X+-hard limit. X+- X+-== COPYRIGHT X+- X+-Copyright 2008-2009 Gemius SA, 2013-2017 Skytechnology sp. z o.o. X+- X+-LizardFS is free software: you can redistribute it and/or modify it under the terms of the GNU X+-General Public License as published by the Free Software Foundation, version 3. X+- X+-LizardFS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even X+-the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General X+-Public License for more details. X+- X+-You should have received a copy of the GNU General Public License along with LizardFS. If not, see X+-. X+- X+-== SEE ALSO X+- X+-mfsmaster(8), mfsexports.cfg(5), mfstopology.cfg(5) X+diff -Nura ../lizardfs-3.12.0.orig/doc/mfsmetadump.8.txt ./doc/mfsmetadump.8.txt X+--- ../lizardfs-3.12.0.orig/doc/mfsmetadump.8.txt 2017-12-20 10:59:37.000000000 +0100 X++++ ./doc/mfsmetadump.8.txt X+@@ -1,20 +0,0 @@ X+-mfsmetadump(8) X+-============== X+- X+-== NAME X+- X+-mfsmetadump - a networking, distributed, highly available file system X+- X+-== SYNOPSIS X+- X+-[verse] X+-*mfsmetadump* 'metadata_file'... X+- X+-== DESCRIPTION X+- X+-*mfsmetadump* X+-dumps file system metadata into specified file. X+- X+-== SEE ALSO X+- X+-mfstools(1) X+diff -Nura ../lizardfs-3.12.0.orig/doc/mfsmetalogger.8.txt ./doc/mfsmetalogger.8.txt X+--- ../lizardfs-3.12.0.orig/doc/mfsmetalogger.8.txt 2017-12-20 10:59:37.000000000 +0100 X++++ ./doc/mfsmetalogger.8.txt X+@@ -1,95 +0,0 @@ X+-mfsmetalogger(8) X+-================ X+- X+-== NAME X+- X+-mfsmetalogger - start, restart or stop Lizard File System metalogger process X+- X+-== SYNOPSIS X+- X+-[verse] X+-*mfsmetalogger* [*-f*] [*-c* 'CFGFILE'] [*-u*] [*-d*] [*-t* 'LOCKTIMEOUT'] ['ACTION'] X+- X+-[verse] X+-*mfsmetalogger -s* [*-c* 'CFGFILE'] X+- X+-[verse] X+-*mfsmetalogger -v* X+- X+-[verse] X+-*mfsmetalogger -h* X+- X+-== DESCRIPTION X+- X+-*mfsmetalogger* is the metadata replication server of Lizard File System. Depending on parameters it X+-can start, restart or stop LizardFS metalogger process. Without any options it starts LizardFS X+-metalogger, killing previously run process if lock file exists. X+- X+-SIGHUP (or 'reload' 'ACTION') forces *mfsmetalogger* to reload all configuration files. X+- X+-*-v*:: X+-print version information and exit X+- X+-*-h*:: X+-print usage information and exit X+- X+-*-c* 'CFGFILE':: X+-specify alternative path of configuration file (default is *mfsmetalogger.cfg* in system X+-configuration directory) X+- X+-*-u*:: X+-log undefined configuration values (when default is assumed) X+- X+-*-d*:: X+-run in foreground, don't daemonize X+- X+-*-t* 'LOCKTIMEOUT':: X+-how long to wait for lockfile (default is 60 seconds) X+- X+-'ACTION' X+-is the one of *start*, *stop*, *restart*, *reload*, *test*, *isalive* or *kill*. Default action is X+-*restart*. X+- X+-== FILES X+- X+-*mfsmetalogger.cfg*:: X+-configuration file for LizardFS metalogger process; refer to *mfsmetalogger.cfg*(5) manual for X+-defails X+- X+-*mfsmetalogger.lock*:: X+-PID file of running LizardFS metalogger process X+- X+-*.mfsmetalogger.lock*:: X+-lock file of running LizardFS metalogger process X+-(created in data directory) X+- X+-*changelog_ml.***.mfs*:: X+-LizardFS filesystem metadata change logs (backup of master change log files) X+- X+-*metadata.ml.mfs.back*:: X+-Latest copy of complete metadata.mfs.back file from LizardFS master. X+- X+-*sessions.ml.mfs*:: X+-Latest copy of sessions.mfs file from LizardFS master. X+- X+-== REPORTING BUGS X+- X+-Report bugs to . X+- X+-== COPYRIGHT X+- X+-Copyright 2008-2009 Gemius SA, 2013-2015 Skytechnology sp. z o.o. X+- X+-LizardFS is free software: you can redistribute it and/or modify it under the terms of the GNU X+-General Public License as published by the Free Software Foundation, version 3. X+- X+-LizardFS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even X+-the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General X+-Public License for more details. X+- X+-You should have received a copy of the GNU General Public License along with LizardFS. If not, see X+-. X+- X+-== SEE ALSO X+- X+-mfsmaster(8), mfsmetalogger.cfg(5), moosefs(7) X+diff -Nura ../lizardfs-3.12.0.orig/doc/mfsmetalogger.cfg.5.txt ./doc/mfsmetalogger.cfg.5.txt X+--- ../lizardfs-3.12.0.orig/doc/mfsmetalogger.cfg.5.txt 2017-12-20 10:59:37.000000000 +0100 X++++ ./doc/mfsmetalogger.cfg.5.txt X+@@ -1,79 +0,0 @@ X+-mfsmetalogger.cfg(5) X+-==================== X+- X+-== NAME X+- X+-mfsmetalogger.cfg - configuration file for mfsmetalogger X+- X+-== DESCRIPTION X+- X+-The file *mfsmetalogger.cfg* contains configuration of LizardFS metalogger process. X+- X+-== SYNTAX X+- X+-Syntax is: X+-'OPTION' *=* 'VALUE' X+- X+-Lines starting with *#* character are ignored. X+- X+-== OPTIONS X+- X+-Configuration options: X+- X+-*DATA_PATH*:: X+-where to store metadata files X+- X+-*WORKING_USER*:: X+-user to run daemon as X+- X+-*WORKING_GROUP*:: X+-group to run daemon as (optional - if empty then default user group will be used) X+- X+-*SYSLOG_IDENT*:: X+-name of process to place in syslog messages (default is mfsmetalogger) X+- X+-*LOCK_MEMORY*:: X+-whether to perform mlockall() to avoid swapping out mfsmetalogger process (default is 0, i.e. no) X+- X+-*NICE_LEVEL*:: X+-nice level to run daemon with (default is -19 if possible; note: process must be started as root to X+-increase priority) X+- X+-*BACK_LOGS*:: X+-number of metadata change log files (default is 50) X+- X+-*BACK_META_KEEP_PREVIOUS*:: X+-number of previous metadata files to be kept (default is 3) X+- X+-*META_DOWNLOAD_FREQ*:: X+-metadata download frequency in hours (default is 24, at most *BACK_LOGS*/2) X+- X+-*MASTER_HOST*:: X+-address of LizardFS master host to connect with (default is mfsmaster) X+- X+-*MASTER_PORT*:: X+-number of LizardFS master port to connect with (default is 9419) X+- X+-*MASTER_RECONNECTION_DELAY*:: X+-delay in seconds before trying to reconnect to master after disconnection (default is 30) X+- X+-*MASTER_TIMEOUT*:: X+-timeout (in seconds) for master connections (default is 60) X+- X+-== COPYRIGHT X+- X+-Copyright 2008-2009 Gemius SA, 2013-2015 Skytechnology sp. z o.o. X+- X+-LizardFS is free software: you can redistribute it and/or modify it under the terms of the GNU X+-General Public License as published by the Free Software Foundation, version 3. X+- X+-LizardFS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even X+-the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General X+-Public License for more details. X+- X+-You should have received a copy of the GNU General Public License along with LizardFS. If not, see X+-. X+- X+-== SEE ALSO X+- X+-mfsmetalogger(8) X+diff -Nura ../lizardfs-3.12.0.orig/doc/mfsmetarestore.8.txt ./doc/mfsmetarestore.8.txt X+--- ../lizardfs-3.12.0.orig/doc/mfsmetarestore.8.txt 2017-12-20 10:59:37.000000000 +0100 X++++ ./doc/mfsmetarestore.8.txt X+@@ -1,94 +0,0 @@ X+-mfsmetarestore(8) X+-================= X+- X+-== NAME X+- X+-mfsmetarestore - replay LizardFS metadata change logs or dump LizardFS metadata image X+- X+-== SYNOPSIS X+- X+-[verse] X+-*mfsmetarestore* [*-z*] *-m* 'OLDMETADATAFILE' *-o* 'NEWMETADATAFILE' ['CHANGELOGFILE'...] X+- X+-[verse] X+-*mfsmetarestore* *-m* 'METADATAFILE' X+- X+-[verse] X+-*mfsmetarestore* [*-z*] *-a* [*-d* 'DIRECTORY'] X+- X+-[verse] X+-*mfsmetarestore* *-g* *-d* 'DIRECTORY' X+- X+-[verse] X+-*mfsmetarestore -v* X+- X+-[verse] X+-*mfsmetarestore -?* X+- X+-== DESCRIPTION X+- X+-When *mfsmetarestore* is called with both *-m* and *-o* options, it replays given 'CHANGELOGFILEs' X+-on 'OLDMETADATAFILE' and writes result to 'NEWMETADATAFILE'. Multiple change log files can be given. X+- X+-*mfsmetarestore* with just *-m* 'METADATAFILE' option dumps LizardFS metadata image file in human X+-readable form. X+- X+-*mfsmetarestore* called with -a option automatically performs all operations needed to merge change X+-log files. Master data directory can be specified using -d 'DIRECTORY' option. X+- X+-*mfsmetarestore* -g with path to metadata files, prints latest metadata version that can be restored from disk. X+-Prints 0 if metadata files are corrupted. X+- X+-*-v*:: X+-print version information and exit X+- X+-*-?*:: X+-print version information and exit X+- X+-*-a*:: X+-autorestore mode (see above) X+- X+-*-d* 'DATAPATH':: X+-master data directory (for autorestore mode) X+- X+-*-m* 'METADATAFILE':: X+-specify input metadata image file X+- X+-*-o* 'NEWMETADATAFILE':: X+-specify output metadata image file X+- X+-*-z*:: X+-ignore metadata checksum inconsistency while applying changelogs X+- X+-== FILES X+- X+-*metadata.mfs*:: X+-Lizard File System metadata image as read by *mfsmaster* process X+- X+-*metadata.mfs.back*:: X+-Lizard File System metadata image as left by killed or crashed *mfsmaster* process X+- X+-*changelog.***.mfs*:: X+-Lizard File System metadata change logs X+- X+-== REPORTING BUGS X+- X+-Report bugs to . X+- X+-== COPYRIGHT X+- X+-Copyright 2008-2009 Gemius SA, 2013-2015 Skytechnology sp. z o.o. X+- X+-LizardFS is free software: you can redistribute it and/or modify it under the terms of the GNU X+-General Public License as published by the Free Software Foundation, version 3. X+- X+-LizardFS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even X+-the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General X+-Public License for more details. X+- X+-You should have received a copy of the GNU General Public License along with LizardFS. If not, see X+-. X+- X+-== SEE ALSO X+- X+-mfsmaster(8), moosefs(7) X+diff -Nura ../lizardfs-3.12.0.orig/doc/mfsmount.1.txt ./doc/mfsmount.1.txt X+--- ../lizardfs-3.12.0.orig/doc/mfsmount.1.txt 2017-12-20 10:59:37.000000000 +0100 X++++ ./doc/mfsmount.1.txt X+@@ -1,267 +0,0 @@ X+-mfsmount(1) X+-=========== X+- X+-== NAME X+- X+-mfsmount - mount Lizard File System X+- X+-== SYNOPSIS X+- X+-[verse] X+-*mfsmount* 'mountpoint' [*-d*] [*-f*] [*-s*] [*-m*] [*-n*] [*-p*] X+- [*-H* 'HOST'] [*-P* 'PORT'] [*-S* 'PATH'] [*-o* 'opt'[,'opt']...] X+- X+-[verse] X+-*mfsmount* *-h*|*--help* X+- X+-[verse] X+-*mfsmount* *-V*|*--version* X+- X+-== DESCRIPTION X+- X+-Mount Lizard File System. X+- X+-General options: X+- X+-*-h*, *--help*:: X+-display help and exit X+- X+-*-V*:: X+-display version information and exit X+- X+-FUSE options: X+- X+-*-d*, *-o debug*:: X+-enable debug mode (implies *-f*) X+- X+-*-f*:: X+-foreground operation X+- X+-*-s*:: X+-disable multi-threaded operation X+- X+-LizardFS options: X+- X+-*-c* 'CFGFILE', *-o mfscfgfile=*'CFGFILE':: X+-loads file with additional mount options X+- X+-*-m*, *--meta*, *-o mfsmeta*:: X+-mount MFSMETA companion filesystem instead of primary LizardFS X+- X+-*-n*:: X+-omit default mount options (*-o allow_other,default_permissions*) X+- X+-*-p*, *-o askpassword*:: X+-prompt for password (interactive version of *-o mfspassword=*'PASS') X+- X+-*-H* 'HOST', *-o mfsmaster=*'HOST':: X+-connect with LizardFS master on 'HOST' (default is mfsmaster) X+- X+-*-P* 'PORT', *-o mfsport=*'PORT':: X+-connect with LizardFS master on 'PORT' (default is 9421) X+- X+-*-B* 'HOST', *-o mfsbind=*'HOST':: X+-local address to use for connecting with master instead of default one X+- X+-*-S* 'PATH', *-o mfssubfolder=*'PATH':: X+-mount specified LizardFS directory (default is /, i.e. whole filesystem) X+- X+-*-o enablefilelocks=*[0,1]:: X+-enables/disables global file locking (disabled by default) X+- X+-*-o mfspassword=*'PASSWORD':: X+-authenticate to LizardFS master with 'PASSWORD' X+- X+-*-o mfsmd5pass=*'MD5':: X+-authenticate to LizardFS master using directly given 'MD5' (only if *mfspassword* option is not X+-specified) X+- X+-*-o mfsdelayedinit*:: X+-connection with master is done in background - with this option mount can be run without network X+-(good for being run from fstab / init scripts etc.) X+- X+-*-o mfsacl*:: X+-enable ACL support (disabled by default) X+- X+-*-o mfsaclcacheto=*'SEC':: X+-set ACL cache timeout in seconds (default: 1.0) X+- X+-*-o mfsaclcachesize=*'N':: X+-define ACL cache size in number of entries (0: no cache; default: 1000) X+- X+-*-o mfsrwlock=*'0|1':: X+-when set to 1, parallel reads from the same descriptor are performed (default: 1) X+- X+-*-o mfsmkdircopysgid=*'N':: X+-sgid bit should be copied during mkdir operation (on linux default: 1, otherwise: 0) X+- X+-*-o mfssugidclearmode=*'SMODE':: X+-set sugid clear mode (see below) X+- X+-*-o mfsdebug*:: X+-print some LizardFS-specific debugging information X+- X+-*-o mfscachemode=*'CACHEMODE':: X+-set cache mode (see *DATA CACHE MODES*; default is AUTO) X+- X+-*-o mfscachefiles*:: X+-(deprecated) preserve file data in cache (equivalent to *-o mfscachemode=*'YES') X+- X+-*-o mfsattrcacheto=*'SEC':: X+-set attributes cache timeout in seconds (default: 1.0) X+- X+-*-o mfsentrycacheto=*'SEC':: X+-set file entry cache timeout in seconds (default: 0.0, i.e. no cache) X+- X+-*-o mfsdirentrycacheto=*'SEC':: X+-set directory entry cache timeout in seconds (default: 1.0) X+- X+-*-o mfswritecachesize=*'N':: X+-specify write cache size in MiB (in range: 16..2048 - default: 128) X+- X+-*-o mfscacheperinodepercentage=*'N':: X+-specify what part of the write cache non occupied by other inodes can a single inode occupy X+-(measured in %). X+-E.g. When N=75 and the inode X uses 10 MiB, and all other inodes use 20 MiB out of 100 MiB cache, X+-X can use 50 MiB more (since 75% of 80 MiB is 60 MiB). X+-Default: 25. X+- X+-*-o mfschunkserverreadto=*'MSEC':: X+-set timeout for whole communication with a chunkserver during read operation in milliseconds (default: 2000) X+- X+-*-o mfschunkserverwriteto=*'MSEC':: X+-set chunkserver response timeout during write operation in milliseconds (default: 5000) X+- X+-*-o mfschunkserverrtt=*'MSEC':: X+-set timeout after which SYN packet is considered lost during the first retry of connecting a chunkserver X+-(default: 200) X+- X+-*-o mfschunkserverconnectreadto=*'MSEC':: X+-set timeout for connecting with chunkservers during read operation in milliseconds (default: 2000) X+- X+-*-o mfschunkserverwavereadto=*'MSEC':: X+-set timeout for executing each wave of a read operation in milliseconds (default: 500) X+- X+-*-o mfschunkservertotalreadto=*'MSEC':: X+-set timeout for the whole communication with chunkservers during a read operation in milliseconds (default: 2000) X+- X+-*-o cacheexpirationtime=*'MSEC':: X+-set timeout for read cache entries to be considered valid in milliseconds (0 disables cache) (default: 300) X+- X+-*-o readaheadmaxwindowsize=*'KB':: X+-set max value of readahead window per single descriptor in kibibytes (default: 16384) X+- X+-*-o mfsrlimitnofile=*'N':: X+-try to change limit of simultaneously opened file descriptors on startup X+-(default: 100000) X+- X+-*-o mfsnice=*'LEVEL':: X+-try to change nice level to specified value on startup (default: -19) X+- X+-*-o mfswriteworkers=*'N':: X+-define number of write workers (default: 10) X+- X+-*-o mfswritewindowsize=*'N':: X+-define write window size (in blocks) for each chunk (default: 15) X+- X+-*-o mfsmemlock*:: X+-try to lock memory (must be enabled at build time) X+- X+-*-o mfsdonotrememberpassword*:: X+-do not remember password in memory - more secure, but when session is lost then new session is X+-created without password X+- X+-*-o mfsioretries=*'N':: X+-specify number of retries before I/O error is returned (default: 30) X+- X+-*-o mfsreportreservedperiod=*'N':: X+-specify interval of reporting reserved inodes in seconds (default: 60) X+- X+-*-o mfsiolimits=*'PATH':: X+-specify local I/O limiting configuration file (default: no I/O limiting) X+- X+-General mount options (see *mount*(8) manual): X+- X+-*-o rw*|*-o ro*:: X+-Mount file-system in read-write (default) or read-only mode respectively. X+- X+-*-o suid*|*-o nosuid*:: X+-Enable or disable suid/sgid attributes to work. X+- X+-*-o dev*|*-o nodev*:: X+-Enable or disable character or block special device files interpretation. X+- X+-*-o exec*|*-o noexec*:: X+-Allow or disallow execution of binaries. X+- X+-*-o symlinkcachetimeout=*'N':: X+-Set timeout value for symlink cache timeout in seconds. Default value is 3600. X+- X+-*-o bandwidthoveruse=*'N':: X+-Define ratio of allowed bandwidth overuse when fetching data. Default value is 1.0. X+-This option is effective only with N+M goals (xors and erasure codes). X+- X+-== DATA CACHE MODES X+- X+-There are three cache modes: *NO*, *YES* and *AUTO*. Default option is *AUTO* and you shuldn't X+-change it unless you really know what you are doing. In *AUTO* mode data cache is managed X+-automatically by mfsmaster. X+- X+-*NO*,*NONE* or *NEVER*:: X+-never allow files data to be kept in cache (safest but can reduce efficiency) X+- X+-*YES* or *ALWAYS*:: X+-always allow files data to be kept in cache (dangerous) X+- X+-*AUTO*:: X+-file cache is managed by mfsmaster automatically (should be very safe and efficient) X+- X+-== SUGID CLEAR MODE X+- X+-SMODE can be set to: X+- X+- - *NEVER* - MFS will not change suid and sgid bit on chown X+- X+- - *ALWAYS* - clear suid and sgid on every chown - safest operation X+- X+- - *OSX* - standard behavior in OS X and Solaris (chown made by unprivileged user clear suid X+- and sgid) X+- X+- - *BSD* - standard behavior in BSD systems (like in OSX, but only when something is really X+- changed) X+- X+- - *EXT* - standard behavior in most file systems on Linux (directories not changed, X+- others: suid cleared always, sgid only when group exec bit is set) X+- X+- - *XFS* - standard behavior in XFS on Linux (like EXT but directories are changed X+- by unprivileged users) X+- X+-SMODE extra info: X+- X+-btrfs,ext2,ext3,ext4,hfs[+],jfs,ntfs and reiserfs on Linux work as 'EXT'. X+- X+-Only xfs on Linux works a little different. Beware that there is a strange X+-operation - chown(-1,-1) which is usually converted by a kernel into something X+-like 'chmod ug-s', and therefore can't be controlled by MFS as 'chown' X+- X+-== REPORTING BUGS X+- X+-Report bugs to . X+- X+-== COPYRIGHT X+- X+-Copyright 2008-2009 Gemius SA, 2013-2015 Skytechnology sp. z o.o. X+- X+-LizardFS is free software: you can redistribute it and/or modify it under the terms of the GNU X+-General Public License as published by the Free Software Foundation, version 3. X+- X+-LizardFS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even X+-the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General X+-Public License for more details. X+- X+-You should have received a copy of the GNU General Public License along with LizardFS. If not, see X+-. X+- X+-== SEE ALSO X+- X+-mfsmaster(8), mfstools(1), moosefs(7), mount(8) X+diff -Nura ../lizardfs-3.12.0.orig/doc/mfsmount.cfg.5.txt ./doc/mfsmount.cfg.5.txt X+--- ../lizardfs-3.12.0.orig/doc/mfsmount.cfg.5.txt 2017-12-20 10:59:37.000000000 +0100 X++++ ./doc/mfsmount.cfg.5.txt X+@@ -1,62 +0,0 @@ X+-mfsmount.cfg(5) X+-=============== X+- X+-== NAME X+- X+-mfsmount.cfg - configuration file for the mfsmount command X+- X+-== SYNTAX X+- X+-OPTION,OPTION,OPTION,... X+- X+-OPTION X+- X+-PATH X+- X+-The *#* character starts comments. X+- X+-== DESCRIPTION X+- X+-The *mfsmount.cfg* file defines the default mountpoint and the default mfsmount X+-specific mount options for the mfsmount command. Options can be either stated X+-in one line as a comma separated list of options, or by giving one option per X+-line. Options not mfsmount specific will be ignored. X+- X+-The default mount point should be listed on a separate line, giving the full X+-path. Lines starting with the *#* character are ignored. X+- X+-=== EXAMPLES X+- X+- # X+- # Default Options X+- # X+- mfsmaster=192.168.1.1 X+- mfspassword=changeme X+- # X+- # Default mount point X+- # X+- /mnt/lizardfs X+- X+- X+-=== REPORTING BUGS X+- X+-Report bugs to . X+- X+-=== COPYRIGHT X+- X+-2016 Skytechnology Sp. z o.o. X+- X+-LizardFS is free software: you can redistribute it and/or modify it under the X+-terms of the GNU General Public License as published by the Free Software X+-Foundation, version 3. X+- X+-LizardFS is distributed in the hope that it will be useful, but WITHOUT ANY X+-WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR X+-A PARTICULAR PURPOSE. See the GNU General Public License for more details. X+- X+-You should have received a copy of the GNU General Public License along with X+-LizardFS. If not, see . X+- X+-== SEE ALSO X+- X+-mfsmount(1) lizardfs(7) X+diff -Nura ../lizardfs-3.12.0.orig/doc/mfsrestoremaster.8.txt ./doc/mfsrestoremaster.8.txt X+--- ../lizardfs-3.12.0.orig/doc/mfsrestoremaster.8.txt 2017-12-20 10:59:37.000000000 +0100 X++++ ./doc/mfsrestoremaster.8.txt X+@@ -1,30 +0,0 @@ X+-mfsrestoremaster(8) X+-=================== X+- X+-== NAME X+- X+-mfsrestoremaster - a networking, distributed, highly available file system X+- X+-== SYNOPSIS X+- X+-[verse] X+-*mfsrestoremaster* '' '[]' X+- X+-** - network interface to reconfigure. X+-** - mfs configuration directory to use (default: /etc/mfs). X+- X+-== DESCRIPTION X+- X+-*mfsmetadump* X+-This scripts automates starting spare master server on a metalogger machine. X+-It performs the following steps: X+- X+- * verify basic sanity of configuration files X+- * update metadata image with data from metalogger changelogs X+- * set master's IP address on given network interface X+- * start the master server X+- X+-== SEE ALSO X+- X+-mfstools(1) X+- X+diff -Nura ../lizardfs-3.12.0.orig/doc/mfstools.1 ./doc/mfstools.1 X+--- ../lizardfs-3.12.0.orig/doc/mfstools.1 2017-12-20 10:59:37.000000000 +0100 X++++ ./doc/mfstools.1 X+@@ -1,187 +0,0 @@ X+-.TH MFSTOOLS "1" "July 2009" "MooseFS 1.6.0" X+-.SH NAME X+-mfstools \- perform MooseFS\-specific operations X+-.SH SYNOPSIS X+-.B mfsgetgoal X+-[\fB-r\fP] [\fB-n\fP|\fB-h\fP|\fB-H\fP] \fIOBJECT\fP... X+-.PP X+-.B mfsrgetgoal X+-[\fB-n\fP|\fB-h\fP|\fB-H\fP] \fIOBJECT\fP... X+-.PP X+-.B mfssetgoal X+-[\fB-r\fP] [\fB-n\fP|\fB-h\fP|\fB-H\fP] \fBName\fP \fIOBJECT\fP... X+-.PP X+-.B mfssetquota X+-[\fB-r\fP] [\fB-n\fP|\fB-h\fP|\fB-H\fP] [\fB+\fP|\fB-\fP]N \fITODO(alek)\fP... X+-.PP X+-.B mfsrepquota X+-[\fB-r\fP] [\fB-n\fP|\fB-h\fP|\fB-H\fP] [\fB+\fP|\fB-\fP]N \fITODO(alek)\fP... X+-.PP X+-.B mfsrsetgoal X+-[\fB-n\fP|\fB-h\fP|\fB-H\fP] [\fB+\fP|\fB-\fP]N \fIOBJECT\fP... X+-.PP X+-.B mfsgettrashtime X+-[\fB-r\fP] [\fB-n\fP|\fB-h\fP|\fB-H\fP] \fIOBJECT\fP... X+-.PP X+-.B mfsrgettrashtime X+-[\fB-n\fP|\fB-h\fP|\fB-H\fP] \fIOBJECT\fP... X+-.PP X+-.B mfssettrashtime X+-[\fB-r\fP] [\fB-n\fP|\fB-h\fP|\fB-H\fP] [\fB+\fP|\fB-\fP]SECONDS \fIOBJECT\fP... X+-.PP X+-.B mfsrsettrashtime X+-[\fB-n\fP|\fB-h\fP|\fB-H\fP] [\fB+\fP|\fB-\fP]SECONDS \fIOBJECT\fP... X+-.PP X+-.B mfsgeteattr X+-[\fB-r\fP] [\fB-n\fP|\fB-h\fP|\fB-H\fP] \fIOBJECT\fP... X+-.PP X+-.B mfsseteattr X+-[\fB-r\fP] [\fB-n\fP|\fB-h\fP|\fB-H\fP] \fB-f\fP \fIATTRNAME\fP [\fB-f\fP \fIATTRNAME\fP ...] \fIOBJECT\fP... X+-.PP X+-.B mfsdeleattr X+-[\fB-r\fP] [\fB-n\fP|\fB-h\fP|\fB-H\fP] \fB-f\fP \fIATTRNAME\fP [\fB-f\fP \fIATTRNAME\fP ...] \fIOBJECT\fP... X+-.PP X+-.B mfscheckfile X+-\fIFILE\fP... X+-.PP X+-.B mfsfileinfo X+-\fIFILE\fP... X+-.PP X+-.B mfsdirinfo X+-[\fB-n\fP|\fB-h\fP|\fB-H\fP] \fIOBJECT\fP... X+-.PP X+-.B mfsfilerepair X+-[\fB-n\fP|\fB-h\fP|\fB-H\fP] \fIFILE\fP... X+-.PP X+-.B mfsappendchunks X+-\fISNAPSHOT_FILE\fP \fIOBJECT\fP... X+-.PP X+-.B mfsmakesnapshot X+-[\fB-o\fP] \fISOURCE\fP... \fIDESTINATION\fP X+-.PP X+-.SH DESCRIPTION X+-\fBmfsgetgoal\fP and \fBmfssetgoal\fP operate on object's \fIgoal\fP value. X+-\fBmfsgetgoal\fP prints current \fIgoal\fP value of given object(s). X+-\fB-r\fP option enables recursive mode, which works as usual for every X+-given file, but for every given directory additionally prints current X+-\fIgoal\fP value of all contained objects (files and directories). X+-\fBmfssetgoal\fP changes current \fIgoal\fP value of given object(s). X+-\fB-r\fP option enables recursive mode. X+-These tools can be used on any file, directory or deleted (\fItrash\fP) file. X+-.PP X+-\fBmfsrgetgoal\fP and \fBmfsrsetgoal\fP are deprecated aliases for X+-\fBmfsgetgoal -r\fP and \fBmfssetgoal -r\fP respectively. X+-.PP X+-\fBmfsgettrashtime\fP and \fBmfssettrashtime\fP operate on object's X+-\fItrashtime\fP value, i.e. the number of seconds the file is preserved in X+-special \fItrash\fP directory before it's finally removed from filesystem. X+-\fITrashtime\fP must be non\-negative integer value. X+-\fBmfsgettrashtime\fP prints current \fItrashtime\fP value of given object(s). X+-\fB-r\fP option enables recursive mode, which works as usual for every given X+-file, but for every given directory additionally prints current \fItrashtime\fP X+-value of all contained objects (files and directories). X+-\fBmfssettrashtime\fP changes current \fItrashtime\fP value of given object(s). X+-If new value is specified in \fB+\fP\fIN\fP form, \fItrashtime\fP value is X+-increased to \fIN\fP for objects with lower \fItrashtime\fP value and unchanged X+-for the rest. Similarly, if new value is specified as \fB\-\fP\fIN\fP, X+-\fItrashtime\fP value is decreased to \fIN\fP for objects with higher X+-\fItrashtime\fP value and unchanged for the rest. \fB-r\fP option enables X+-recursive mode. X+-These tools can be used on any file, directory or deleted (\fItrash\fP) file. X+-.PP X+-\fBmfsrgettrashtime\fP and \fBmfsrsettrashtime\fP are deprecated aliases for X+-\fBmfsgettrashtime -r\fP and \fBmfssettrashtime -r\fP respectively. X+-.PP X+-\fBmfsgeteattr\fP, \fBmfsseteattr\fP and \fBmfsdeleattr\fP X+-tools are used to get, set or delete some extra attributes. Attributes are X+-described below. X+-.PP X+-\fBmfscheckfile\fP checks and prints number of chunks and number of chunk X+-copies belonging to specified file(s). X+-It can be used on any file, included deleted (\fItrash\fP). X+-.PP X+-\fBmfsfileinfo\fP prints location (\fIchunkserver\fP host and port) of each X+-chunk copy belonging to specified file(s). X+-It can be used on any file, included deleted (\fItrash\fP). X+-.PP X+-\fBmfsdirinfo\fP is extended, MooseFS-specific equivalent of \fBdu -s\fP X+-command. It prints summary for each specified object (single file or X+-directory tree). X+-.PP X+-\fBmfsfilerepair\fP deals with broken files (those which cause I/O errors on X+-read operations) to make them partially readable. In case of missing chunk X+-it fills missing parts of file with zeros; in case of chunk version mismatch X+-it sets chunk version known to \fBmfsmaster\fP to highest one found on X+-chunkservers. Note: because in the second case content mismatch can occur in X+-chunks with the same version, it's advised to make a copy (not a snapshot!) X+-and delete original file after "repairing". X+-.PP X+-\fBmfsappendchunks\fP (equivalent of \fBmfssnapshot\fP from MooseFS 1.5) X+-appends a lazy copy of specified file(s) to specified snapshot file ("lazy" X+-means that creation of new chunks is delayed to the moment one copy is X+-modified). X+-If multiple files are given, they are merged into one target file in the way X+-that each file begins at \fIchunk\fP (64MB) boundary; padding space is left X+-empty. X+-.PP X+-\fBmfsmakesnapshots\fP makes a "real" snapshot (lazy copy, like in case of X+-\fBmfsappendchunks\fP) of some object(s) or subtree (similarly to \fBcp -r\fP X+-command). It's atomic with respect to each \fISOURCE\fP argument separately. X+-If \fIDESTINATION\fP points to already existing file, error will be reported X+-unless \fB-o\fP (overwrite) option is given. Note: if \fISOURCE\fP is X+-a directory, it's copied as a whole; but if it's followed by trailing slash, X+-only directory content is copied. X+-.SH GENERAL OPTIONS X+-Most of \fBmfstools\fP use \fB-n\fP, \fB-h\fP and \fB-H\fP options to select X+-format of printed numbers. \fB-n\fP causes to print exact numbers, \fB-h\fP X+-uses binary prefixes (Ki, Mi, Gi as 2^10, 2^20 etc.) while \fB-H\fP uses SI X+-prefixes (k, M, G as 10^3, 10^6 etc.). X+-The same can be achieved by setting X+-\fBMFSHRFORMAT\fP environment variable to: \fB0\fP (exact numbers), \fB1\fP X+-or \fBh\fP (binary prefixes), \fB2\fP or \fBH\fP (SI prefixes), \fB3\fP or X+-\fBh+\fP (exact numbers and binary prefixes), \fB4\fP or \fBH+\fP (exact X+-numbers and SI prefixes). The default is to print just exact numbers. X+-.SH EXTRA ATTRIBUTES X+-\fBnoowner\fP This flag means, X+-that particular object belongs to current user (\fIuid\fP and \fIgid\fP are equal X+-to \fIuid\fP and \fIgid\fP values of accessing process). Only root (\fIuid\fP=0) X+-sees the real \fIuid\fP and \fIgid\fP. X+-.PP X+-\fBnoattrcache\fP This flag means, that standard file attributes such as uid, gid, X+-mode, length and so on won't be stored in kernel cache. In MooseFS 1.5 this was the X+-only behaviour, and mfsmount always prevented attributes from being stored in X+-kernel cache, but in MooseFS 1.6 attributes can be cached, so in very rare ocassions X+-it could be useful to turn it off. X+-.PP X+-\fBnoentrycache\fP This flag is similar to above. It prevents directory entries X+-from being cached in kernel. X+-.SH INHERITANCE X+-When new object is created in MooseFS, attributes such as goal, trashtime and extra X+-attributes are inherited from parent directory. So if you set i.e. "noowner" X+-attribute and goal to 3 in a directory then every new object created in X+-this directory will have goal set to 3 and "noowner" flag set. A newly created X+-object inherits always the current set of its parent's attributes. Changing a X+-directory attribute does not affect its already created children. To change X+-an attribute for a directory and all of its children use "-r" option. X+-.SH NOTES X+-\fBmfstools\fP require MooseFS (\fBmfsmaster\fP and \fBmfsmount\fP) >= 1.6.0 to X+-work on read-only filesystem. X+-.SH "REPORTING BUGS" X+-Report bugs to . X+-.SH COPYRIGHT X+-Copyright 2008-2009 Gemius SA, 2013 Skytechnology sp. z o.o.. X+- X+-LizardFS is free software: you can redistribute it and/or modify X+-it under the terms of the GNU General Public License as published by X+-the Free Software Foundation, version 3. X+- X+-LizardFS is distributed in the hope that it will be useful, X+-but WITHOUT ANY WARRANTY; without even the implied warranty of X+-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the X+-GNU General Public License for more details. X+- X+-You should have received a copy of the GNU General Public License X+-along with LizardFS If not, see . X+-.SH "SEE ALSO" X+-.BR mfsmount (8), X+-.BR moosefs (7) X+diff -Nura ../lizardfs-3.12.0.orig/doc/mfstopology.cfg.5.txt ./doc/mfstopology.cfg.5.txt X+--- ../lizardfs-3.12.0.orig/doc/mfstopology.cfg.5.txt 2017-12-20 10:59:37.000000000 +0100 X++++ ./doc/mfstopology.cfg.5.txt X+@@ -1,64 +0,0 @@ X+-mfstopology.cfg(5) X+-================== X+- X+-== NAME X+- X+-mfstopology.cfg - LizardFS network topology definitions X+- X+-== DESCRIPTION X+- X+-The file *mfstopology.cfg* contains assignments of IP addresses into network locations (usually X+-switch numbers). This file is optional. If your network has one switch or decreasing traffic between X+-switches is not necessary then leave this file empty. X+- X+-== SYNTAX X+- X+-Syntax is: X+- X+-'ADDRESS' 'SWITCH-NUMBER' X+- X+-Lines starting with *#* character are ignored. X+- X+-'ADDRESS' can be specified in several forms: X+- X+-- *** all addresses X+- X+-- *n.n.n.n* single IP address X+- X+-- *n.n.n.n/b* IP class specified by network address and bits number X+- X+-- *n.n.n.n/m.m.m.m* IP class specified by network address and mask X+- X+-- *f.f.f.f-t.t.t.t* IP range specified by from-to addresses (inclusive) X+- X+- X+-'SWITCH-NUMBER' can be specified as any positive 32-bit numer. X+- X+-== NOTES X+- X+-If one IP belongs to more than one definition then last definition is used. X+- X+-As for now distance between switches is constant. So distance between machines is calculated as: *0* X+-when IP numbers are the same, *1* when IP numbers are different, but switch numbers are the same and X+-*2* when switch numbers are different X+- X+-Distances are used only to sort chunkservers during read and write operations. New chunks are still X+-created randomly. Also rebalance routines do not take distances into account. X+- X+-== COPYRIGHT X+- X+-Copyright 2008-2009 Gemius SA, 2013-2015 Skytechnology sp. z o.o. X+- X+-LizardFS is free software: you can redistribute it and/or modify it under the terms of the GNU X+-General Public License as published by the Free Software Foundation, version 3. X+- X+-LizardFS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even X+-the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General X+-Public License for more details. X+- X+-You should have received a copy of the GNU General Public License along with LizardFS. If not, see X+-. X+- X+-== SEE ALSO X+- X+-mfsmaster(8), mfsmaster.cfg(5) X+diff -Nura ../lizardfs-3.12.0.orig/doc/moosefs.7.txt ./doc/moosefs.7.txt X+--- ../lizardfs-3.12.0.orig/doc/moosefs.7.txt 2017-12-20 10:59:37.000000000 +0100 X++++ ./doc/moosefs.7.txt X+@@ -47,10 +47,10 @@ X+ themselves (if a certain file is supposed to exist in more than one copy). X+ X+ - metadata backup servers - any number of servers, all of which store metadata changelogs and X+- periodically downloading base metadata file; it's easy to run mfsmaster process on such machine when X++ periodically downloading base metadata file; it's easy to run lizardfs-master process on such machine when X+ primary master stops working. X+ X+- - client computers referring to LizardFS stored files - any number of machines with working mfsmount X++ - client computers referring to LizardFS stored files - any number of machines with working lizardfs-mount X+ process that communicates with the managing server to receive and modify file information and with X+ chunkservers to exchange actual file data. X+ X+@@ -84,4 +84,4 @@ X+ X+ == SEE ALSO X+ X+-mfschunkserver(8), mfsmaster(8), mfsmetalogger(8), mfsmount(1), mfstools(1), lizardfs-admin(8) X++lizardfs-chunkserver(8), lizardfs-master(8), lizardfs-metalogger(8), lizardfs-mount(1), mfstools(1), lizardfs-admin(8) X--- rpm/lizardfs.spec.orig 2017-12-20 09:59:37 UTC X+++ rpm/lizardfs.spec X@@ -18,7 +18,7 @@ BuildRequires: systemd X %endif X BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) X X-%define liz_project mfs X+%define liz_project lizardfs X %define liz_group %{liz_project} X %define liz_user %{liz_project} X %define liz_datadir %{_localstatedir}/lib/%{liz_project} X@@ -79,7 +79,7 @@ Requires: fuse-libs X Requires: bash-completion X X %description client X-LizardFS client: mfsmount and mfstools. X+LizardFS client: lizardfs-mount and lizardfs-tools. X X %package lib-client X Summary: LizardFS client C/C++ library X@@ -321,27 +321,25 @@ rm -rf $RPM_BUILD_ROOT X %files master X %defattr(644,root,root,755) X %doc NEWS README.md UPGRADE X-%attr(755,root,root) %{_sbindir}/mfsmaster X-%attr(755,root,root) %{_sbindir}/mfsrestoremaster X-%attr(755,root,root) %{_sbindir}/mfsmetadump X-%attr(755,root,root) %{_sbindir}/mfsmetarestore X+%attr(755,root,root) %{_sbindir}/lizardfs-master X+%attr(755,root,root) %{_sbindir}/lizardfs-restoremaster X+%attr(755,root,root) %{_sbindir}/lizardfs-metadump X+%attr(755,root,root) %{_sbindir}/lizardfs-metarestore X %attr(755,%{liz_user},%{liz_group}) %dir %{liz_datadir} X-%{_mandir}/man5/mfsexports.cfg.5* X-%{_mandir}/man5/mfstopology.cfg.5* X-%{_mandir}/man5/mfsgoals.cfg.5* X-%{_mandir}/man5/mfsmaster.cfg.5* X+%{_mandir}/man5/lizardfs-exports.cfg.5* X+%{_mandir}/man5/lizardfs-topology.cfg.5* X+%{_mandir}/man5/lizardfs-goals.cfg.5* X+%{_mandir}/man5/lizardfs-master.cfg.5* X %{_mandir}/man5/globaliolimits.cfg.5* X-%{_mandir}/man7/mfs.7* X-%{_mandir}/man7/moosefs.7* X %{_mandir}/man7/lizardfs.7* X-%{_mandir}/man8/mfsmaster.8* X-%{_mandir}/man8/mfsmetadump.8* X-%{_mandir}/man8/mfsmetarestore.8* X-%{_mandir}/man8/mfsrestoremaster.8* X-%{liz_confdir}/mfsexports.cfg.dist X-%{liz_confdir}/mfstopology.cfg.dist X-%{liz_confdir}/mfsgoals.cfg.dist X-%{liz_confdir}/mfsmaster.cfg.dist X+%{_mandir}/man8/lizardfs-master.8* X+%{_mandir}/man8/lizardfs-metadump.8* X+%{_mandir}/man8/lizardfs-metarestore.8* X+%{_mandir}/man8/lizardfs-restoremaster.8* X+%{liz_confdir}/lizardfs-exports.cfg.dist X+%{liz_confdir}/lizardfs-topology.cfg.dist X+%{liz_confdir}/lizardfs-goals.cfg.dist X+%{liz_confdir}/lizardfs-master.cfg.dist X %{liz_confdir}/globaliolimits.cfg.dist X %attr(644,root,root) %{liz_datadir}/metadata.mfs.empty X %if "%{distro}" == "el6" X@@ -354,11 +352,11 @@ rm -rf $RPM_BUILD_ROOT X %files metalogger X %defattr(644,root,root,755) X %doc NEWS README.md UPGRADE X-%attr(755,root,root) %{_sbindir}/mfsmetalogger X+%attr(755,root,root) %{_sbindir}/lizardfs-metalogger X %attr(755,%{liz_user},%{liz_group}) %dir %{liz_datadir} X-%{_mandir}/man5/mfsmetalogger.cfg.5* X-%{_mandir}/man8/mfsmetalogger.8* X-%{liz_confdir}/mfsmetalogger.cfg.dist X+%{_mandir}/man5/lizardfs-metalogger.cfg.5* X+%{_mandir}/man8/lizardfs-metalogger.8* X+%{liz_confdir}/lizardfs-metalogger.cfg.dist X %if "%{distro}" == "el6" X %attr(754,root,root) %{_initrddir}/lizardfs-metalogger X %endif X@@ -369,13 +367,13 @@ rm -rf $RPM_BUILD_ROOT X %files chunkserver X %defattr(644,root,root,755) X %doc NEWS README.md UPGRADE X-%attr(755,root,root) %{_sbindir}/mfschunkserver X+%attr(755,root,root) %{_sbindir}/lizardfs-chunkserver X %attr(755,%{liz_user},%{liz_group}) %dir %{liz_datadir} X-%{_mandir}/man5/mfschunkserver.cfg.5* X-%{_mandir}/man5/mfshdd.cfg.5* X-%{_mandir}/man8/mfschunkserver.8* X-%{liz_confdir}/mfschunkserver.cfg.dist X-%{liz_confdir}/mfshdd.cfg.dist X+%{_mandir}/man5/lizardfs-chunkserver.cfg.5* X+%{_mandir}/man5/lizardfs-hdd.cfg.5* X+%{_mandir}/man8/lizardfs-chunkserver.8* X+%{liz_confdir}/lizardfs-chunkserver.cfg.dist X+%{liz_confdir}/lizardfs-hdd.cfg.dist X %if "%{distro}" == "el6" X %attr(754,root,root) %{_initrddir}/lizardfs-chunkserver X %endif X@@ -387,27 +385,27 @@ rm -rf $RPM_BUILD_ROOT X %defattr(644,root,root,755) X %doc NEWS README.md UPGRADE X %attr(755,root,root) %{_bindir}/lizardfs X-%attr(755,root,root) %{_bindir}/mfsmount X+%attr(755,root,root) %{_bindir}/lizardfs-mount X %attr(755,root,root) %{_bindir}/mfstools.sh X-%{_bindir}/mfsappendchunks X-%{_bindir}/mfscheckfile X-%{_bindir}/mfsdeleattr X-%{_bindir}/mfsdirinfo X-%{_bindir}/mfsfileinfo X-%{_bindir}/mfsfilerepair X-%{_bindir}/mfsgeteattr X-%{_bindir}/mfsgetgoal X-%{_bindir}/mfsgettrashtime X-%{_bindir}/mfsmakesnapshot X-%{_bindir}/mfsrepquota X-%{_bindir}/mfsrgetgoal X-%{_bindir}/mfsrgettrashtime X-%{_bindir}/mfsrsetgoal X-%{_bindir}/mfsrsettrashtime X-%{_bindir}/mfsseteattr X-%{_bindir}/mfssetgoal X-%{_bindir}/mfssetquota X-%{_bindir}/mfssettrashtime X+%{_bindir}/lizardfs-appendchunks X+%{_bindir}/lizardfs-checkfile X+%{_bindir}/lizardfs-deleattr X+%{_bindir}/lizardfs-dirinfo X+%{_bindir}/lizardfs-fileinfo X+%{_bindir}/lizardfs-filerepair X+%{_bindir}/lizardfs-geteattr X+%{_bindir}/lizardfs-getgoal X+%{_bindir}/lizardfs-gettrashtime X+%{_bindir}/lizardfs-makesnapshot X+%{_bindir}/lizardfs-repquota X+%{_bindir}/lizardfs-rgetgoal X+%{_bindir}/lizardfs-rgettrashtime X+%{_bindir}/lizardfs-rsetgoal X+%{_bindir}/lizardfs-rsettrashtime X+%{_bindir}/lizardfs-seteattr X+%{_bindir}/lizardfs-setgoal X+%{_bindir}/lizardfs-setquota X+%{_bindir}/lizardfs-settrashtime X %{_mandir}/man1/lizardfs-appendchunks.1* X %{_mandir}/man1/lizardfs-checkfile.1* X %{_mandir}/man1/lizardfs-deleattr.1* X@@ -430,11 +428,9 @@ rm -rf $RPM_BUILD_ROOT X %{_mandir}/man1/lizardfs-rremove.1* X %{_mandir}/man1/lizardfs.1* X %{_mandir}/man5/iolimits.cfg.5* X-%{_mandir}/man7/mfs.7* X-%{_mandir}/man7/moosefs.7* X-%{_mandir}/man1/mfsmount.1* X-%{_mandir}/man5/mfsmount.cfg.5* X-%{liz_confdir}/mfsmount.cfg.dist X+%{_mandir}/man1/lizardfs-mount.1* X+%{_mandir}/man5/lizardfs-mount.cfg.5* X+%{liz_confdir}/lizardfs-mount.cfg.dist X %{liz_confdir}/iolimits.cfg.dist X %{_sysconfdir}/bash_completion.d/lizardfs X X@@ -468,9 +464,9 @@ rm -rf $RPM_BUILD_ROOT X %files cgiserv X %defattr(644,root,root,755) X %attr(755,root,root) %{_sbindir}/lizardfs-cgiserver X-%attr(755,root,root) %{_sbindir}/mfscgiserv X+%attr(755,root,root) %{_sbindir}/lizardfs-cgiserv X %{_mandir}/man8/lizardfs-cgiserver.8* X-%{_mandir}/man8/mfscgiserv.8* X+%{_mandir}/man8/lizardfs-cgiserv.8* X %if "%{distro}" == "el6" X %attr(754,root,root) %{_initrddir}/lizardfs-cgiserv X %endif X--- src/chunkserver/CMakeLists.txt.orig 2017-12-20 09:59:37 UTC X+++ src/chunkserver/CMakeLists.txt X@@ -1,6 +1,6 @@ X include_directories(${CMAKE_CURRENT_SOURCE_DIR}) X add_definitions(-DLIZARDFS_MAX_FILES=10000) X-add_definitions(-DAPPNAME=mfschunkserver) X+add_definitions(-DAPPNAME=lizardfs-chunkserver) X X collect_sources(CHUNKSERVER) X add_library(chunkserver ${CHUNKSERVER_SOURCES}) X@@ -8,11 +8,11 @@ target_link_libraries(chunkserver lzfspr X create_unittest(chunkserver ${CHUNKSERVER_TESTS}) X link_unittest(chunkserver chunkserver mfscommon) X X-add_executable(mfschunkserver ${MAIN_SRC}) X-target_link_libraries(mfschunkserver chunkserver ${PAM_LIBRARIES}) X+add_executable(lizardfs-chunkserver ${MAIN_SRC}) X+target_link_libraries(lizardfs-chunkserver chunkserver ${PAM_LIBRARIES}) X X if(SYSTEMD_FOUND) X- target_link_libraries(mfschunkserver ${SYSTEMD_LIBRARIES}) X+ target_link_libraries(lizardfs-chunkserver ${SYSTEMD_LIBRARIES}) X endif() X X-install(TARGETS mfschunkserver RUNTIME DESTINATION ${SBIN_SUBDIR}) X+install(TARGETS lizardfs-chunkserver RUNTIME DESTINATION ${SBIN_SUBDIR}) X--- src/chunkserver/hddspacemgr.cc.orig 2017-12-20 09:59:37 UTC X+++ src/chunkserver/hddspacemgr.cc X@@ -3652,12 +3652,12 @@ static void hdd_folders_reinit(void) { X cstream_t fd; X std::string hddfname; X X- hddfname = cfg_get("HDD_CONF_FILENAME", ETC_PATH "/mfshdd.cfg"); X+ hddfname = cfg_get("HDD_CONF_FILENAME", ETC_PATH "/lizardfs-hdd.cfg"); X fd.reset(fopen(hddfname.c_str(),"r")); X if (!fd) { X throw InitializeException("can't open hdd config file " + hddfname +": " + X strerr(errno) + " - new file can be created using " + X- ETC_PATH "/mfshdd.cfg.dist"); X+ ETC_PATH "/lizardfs-hdd.dist"); X } X lzfs_pretty_syslog(LOG_INFO, "hdd configuration file %s opened", hddfname.c_str()); X X--- src/data/CMakeLists.txt.orig 2017-12-20 09:59:37 UTC X+++ src/data/CMakeLists.txt X@@ -1,18 +1,21 @@ X-configure_file(mfsmaster.cfg.in mfsmaster.cfg) X-configure_file(mfschunkserver.cfg.in mfschunkserver.cfg) X-configure_file(mfsmetalogger.cfg.in mfsmetalogger.cfg) X+configure_file(lizardfs-master.cfg.in lizardfs-master.cfg) X+configure_file(lizardfs-chunkserver.cfg.in lizardfs-chunkserver.cfg) X+configure_file(lizardfs-metalogger.cfg.in lizardfs-metalogger.cfg) X configure_file(postinst.in postinst) X+configure_file(lizardfs-compatibility.sh.in lizardfs-compatibility.sh @ONLY) X set(POSTINST_SCRIPT ${CMAKE_CURRENT_BINARY_DIR}/postinst PARENT_SCOPE) X install(FILES metadata.mfs DESTINATION ${DATA_SUBDIR} RENAME metadata.mfs.empty) X-install(FILES mfsexports.cfg DESTINATION ${ETC_SUBDIR} RENAME mfsexports.cfg.dist) X-install(FILES mfsgoals.cfg DESTINATION ${ETC_SUBDIR} RENAME mfsgoals.cfg.dist) X-install(FILES mfshdd.cfg DESTINATION ${ETC_SUBDIR} RENAME mfshdd.cfg.dist) X-install(FILES mfsmount.cfg DESTINATION ${ETC_SUBDIR} RENAME mfsmount.cfg.dist) X-install(FILES mfstopology.cfg DESTINATION ${ETC_SUBDIR} RENAME mfstopology.cfg.dist) X+install(FILES lizardfs-exports.cfg DESTINATION ${ETC_SUBDIR} RENAME lizardfs-exports.cfg.dist) X+install(FILES lizardfs-goals.cfg DESTINATION ${ETC_SUBDIR} RENAME lizardfs-goals.cfg.dist) X+install(FILES lizardfs-hdd.cfg DESTINATION ${ETC_SUBDIR} RENAME lizardfs-hdd.cfg.dist) X+install(FILES lizardfs-mount.cfg DESTINATION ${ETC_SUBDIR} RENAME lizardfs-mount.cfg.dist) X+install(FILES lizardfs-topology.cfg DESTINATION ${ETC_SUBDIR} RENAME lizardfs-topology.cfg.dist) X install(FILES globaliolimits.cfg DESTINATION ${ETC_SUBDIR} RENAME globaliolimits.cfg.dist) X install(FILES iolimits.cfg DESTINATION ${ETC_SUBDIR} RENAME iolimits.cfg.dist) X-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/mfsmaster.cfg DESTINATION ${ETC_SUBDIR} RENAME mfsmaster.cfg.dist) X-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/mfschunkserver.cfg DESTINATION ${ETC_SUBDIR} RENAME mfschunkserver.cfg.dist) X-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/mfsmetalogger.cfg DESTINATION ${ETC_SUBDIR} RENAME mfsmetalogger.cfg.dist) X+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/lizardfs-master.cfg DESTINATION ${ETC_SUBDIR} RENAME lizardfs-master.cfg.dist) X+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/lizardfs-chunkserver.cfg DESTINATION ${ETC_SUBDIR} RENAME lizardfs-chunkserver.cfg.dist) X+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/lizardfs-metalogger.cfg DESTINATION ${ETC_SUBDIR} RENAME lizardfs-metalogger.cfg.dist) X X+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/lizardfs-compatibility.sh DESTINATION ${BIN_SUBDIR}) X install(FILES lizardfs.completion DESTINATION etc/bash_completion.d RENAME lizardfs) X+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/lizardfs-compatibility.sh PERMISSIONS OWNER_EXECUTE OWNER_WRITE OWNER_READ DESTINATION ${BIN_SUBDIR}) X--- src/data/lizardfs-chunkserver.cfg.in.orig 2018-01-27 00:18:17 UTC X+++ src/data/lizardfs-chunkserver.cfg.in X@@ -0,0 +1,146 @@ X+# lizardfs-chunkserver.cfg(5) X+ X+## The label of this chunkserver (for tiering) X+# LABEL = _ X+ X+## User to run daemon as. X+# WORKING_USER = @DEFAULT_USER@ X+ X+## Group to run daemon as (if empty then default user group will be used). X+# WORKING_GROUP = @DEFAULT_GROUP@ X+ X+## Name of process to place in syslog messages (default is lizardfs-chunkserver) X+# SYSLOG_IDENT = lizardfs-chunkserver X+ X+## Whether to perform mlockall() to avoid swapping out lizardfs-chunkserver. X+## process, boolean (0 means "no"). X+## (Default: 0) X+# LOCK_MEMORY = 0 X+ X+## Nice level to run daemon with (default is -19 if possible). X+# NICE_LEVEL = -19 X+ X+## Where to store data files and daemon lock file: X+## (Default: @DATA_PATH@) X+# DATA_PATH = @DATA_PATH@ X+ X+## Delay in seconds before reconnection attempt to the master server after X+## disconnection. X+## (Default: 5) X+# MASTER_RECONNECTION_DELAY = 5 X+ X+## Local address to use for connecting with the master server. X+# BIND_HOST = * X+ X+## LizardFS master host to connect to. X+## (Default: mfsmaster) X+# MASTER_HOST = mfsmaster X+ X+## Master port to connect to (Default: 9420): X+# MASTER_PORT = 9420 X+ X+## Timeout (in seconds) for the master server connection (minimum is 0.01). X+## (Default: 60) X+# MASTER_TIMEOUT = 60 X+ X+## IP address to listen on for client (lizardfs-mount) connections: X+# CSSERV_LISTEN_HOST = * X+ X+## Port to listen for client (lizardfs-mount) connections. X+## (Default: 9422) X+# CSSERV_LISTEN_PORT = 9422 X+ X+# NR_OF_NETWORK_WORKERS = 1 X+# NR_OF_HDD_WORKERS_PER_NETWORK_WORKER = 2 X+# BGJOBSCNT_PER_NETWORK_WORKER = 1000 X+ X+# READ_AHEAD_KB = 0 X+# MAX_READ_BEHIND_KB = 0 X+ X+## Name of volume configuration file. X+## (Default: @ETC_PATH@/lizardfs-hdd.cfg) X+# HDD_CONF_FILENAME = @ETC_PATH@/lizardfs-hdd.cfg X+ X+## Free space threshold to set volume as 100% utilized when there is less than given amount of free X+## space left. This number is always added to the used disk space reported by chunkserver. X+## (Default: 4GiB) X+# HDD_LEAVE_SPACE_DEFAULT = 4GiB X+ X+## Chunk test period in seconds. X+## (Default: 10) X+# HDD_TEST_FREQ = 10 X+ X+## Whether to remove each chunk from page when closing it to reduce cache pressure X+## generated by chunkserver, boolean (0 means "no"). X+## (Default: 0) X+# HDD_ADVISE_NO_CACHE = 0 X+ X+## If enabled then chunkserver detects zero values in chunk data and frees X+## corresponding file blocks (decreasing file system usage). X+## This option works only on Linux X+## with file systems supporting punching holes (XFS, ext4, Btrfs, tmpfs). X+## (Default : 0) X+# HDD_PUNCH_HOLES = 1 X+ X+## If enabled, chunkserver will send periodical reports of its I/O load to master, X+## which will be taken into consideration when picking chunkservers for I/O operations. X+## (Default : 0) X+# ENABLE_LOAD_FACTOR = 0 X+ X+## Limit how many kilobytes can be replicated from other chunkservers to X+## this chunkserver in every second (by default undefined, i.e. no limits) X+# REPLICATION_BANDWIDTH_LIMIT_KBPS = 8192 X+ X+## Number of threads which handle (in a round-robin manner) connections X+## with clients; these threads are responsible for reading from X+## sockets and coping data from internal buffers to sockets. X+## (Default: 1) X+# NR_OF_NETWORK_WORKERS = 1 X+ X+## Number of threads that each network worker may use to do disk operations X+## like opening chunks, reading or writing them X+## (Default: 20) X+# NR_OF_HDD_WORKERS_PER_NETWORK_WORKER = 20 X+ X+## additional number of kilobytes which should be passed to X+## posix_fadvise(POSIX_FADV_WILLNEED) before reading data from a chunk X+## (Default: 0), i.e. use posix_fadvise only with the amount of data that is X+## really needed; the value is aligned down to 64 KiB. X+# READ_AHEAD_KB = 0 X+ X+## Try to fix out-of-order read requests; the value tells how much of X+## skipped data to read if an offset of some read operation is greater than X+## the offset where the previos operation finished X+## (Default: 0), i.e. don't read any skipped data; the value is aligned down to 64 KiB. X+# MAX_READ_BEHIND_KB = 0 X+ X+## Whether to create new chunks in the MooseFS format X+## (signature + * + *) X+## or in the newer interleaved format X+## ([ ]*). X+## (Default: 1), i.e. new chunks are created in MooseFS format. X+# CREATE_NEW_CHUNKS_IN_MOOSEFS_FORMAT = 1 X+ X+## Call fsync() after a chunk is modified X+## (Default: 1), i.e. enabled. X+#PERFORM_FSYNC = 1 X+ X+ X+## deprecated, to be removed. X+# BACK_LOGS = 50 X+# CSSERV_TIMEOUT = 5 X+ X+## Replication bandwidth limit X+# REPLICATION_BANDWIDTH_LIMIT_KBPS = 102400 X+ X+## Total timeout for single replication operation. Replications that take longer than that X+## are considered failed and are immediately aborted. X+# REPLICATION_TOTAL_TIMEOUT_MS = 60000 X+ X+## Connection for single replication operation. If connecting to another chunkserver takes longer X+## than this timeout, the operation is considered failed and is immediately aborted. X+# REPLICATION_CONNECTION_TIMEOUT_MS = 1000 X+ X+## [ADVANCED] Timeout for single wave in replication. After this timeout, next wave X+## of read requests is sent to other chunkservers. X+# REPLICATION_WAVE_TIMEOUT_MS = 500 X--- src/data/lizardfs-compatibility.sh.in.orig 2018-01-27 00:18:17 UTC X+++ src/data/lizardfs-compatibility.sh.in X@@ -0,0 +1,120 @@ X+#!/usr/bin/env bash X+ X+LEGACY_USER=mfs X+LEGACY_DATA_PATH=$(dirname @DATA_PATH@)/mfs X+LEGACY_ETC_PATH=$(dirname @ETC_PATH@)/mfs X+ X+[ "$1" = "auto" ] X+auto_mode=$? X+ X+ask_user() { X+ if [ $auto_mode -ne 0 ]; then X+ dialog --title "$1" --yesno "$2" 7 60 X+ response=$? X+ else X+ response=0 X+ fi X+ return $response X+} X+ X+for binary in mfsmaster mfschunkserver mfsmount mfsmetarestore mfsmetalogger; do X+ if pgrep $binary &> /dev/null; then X+ echo "Binary $binary is running, please stop it before running compatibility script" X+ exit 1 X+ fi X+done X+ X+# Make user ids compatible X+ask_user "Update user" "Do you want to update user from mfs to lizardfs?" X+response=$? X+ X+if [ $response -eq 0 ]; then X+ legacy_uid=$(id -u $LEGACY_USER) X+ if [ $legacy_uid ]; then X+ echo mfs user with id $legacy_uid exists, adding @DEFAULT_USER@ with the same id X+ if ! getent passwd @DEFAULT_USER@ &> /dev/null; then X+ adduser -o -u $legacy_uid --quiet --system --group --no-create-home --home "@DATA_PATH@" @DEFAULT_USER@ X+ fi X+ elif ! getent passwd @DEFAULT_USER@ &> /dev/null; then X+ adduser --quiet --system --group --no-create-home --home "@DATA_PATH@" @DEFAULT_USER@ X+ fi X+fi X+sleep 1 X+# Make configuration files compatible (copy old configs if no new configs are here) X+ask_user "Update configuration files" "Do you want to update configuration files to @ETC_PATH@?" X+response=$? X+ X+if [ $response -eq 0 ]; then X+ if [ -d $LEGACY_ETC_PATH ]; then X+ cd $LEGACY_ETC_PATH X+ echo $LEGACY_ETC_PATH exists, copying configuration files X+ for config_file in mfs*.cfg; do X+ config_postfix=${config_file##mfs} X+ if [ -f @ETC_PATH@/lizardfs-${config_postfix} ]; then X+ echo Skipping @ETC_PATH@/lizardfs-${config_postfix} as it exists X+ else X+ echo cp $LEGACY_ETC_PATH/mfs${config_postfix} @ETC_PATH@/lizardfs-${config_postfix} X+ cp $LEGACY_ETC_PATH/mfs${config_postfix} @ETC_PATH@/lizardfs-${config_postfix} X+ fi X+ done X+ fi X+fi X+sleep 1 X+# Make metadata directory compatible (create symlinks if necessary and generate warnings) X+ask_user "Update metadata dir" "Do you want to update metadata directory to @DATA_PATH@?" X+response=$? X+ X+if [ $response -eq 0 ]; then X+ if grep @LEGACY_DATA_PATH /etc/fstab; then X+ echo WARNING: Legacy data path seems to have an entry in fstab. Files will most likely \ X+ be symlinked from there to @DATA_PATH@. Update it later to avoid trouble. X+ fi X+ if mount | grep @LEGACY_DATA_PATH; then X+ echo WARNING: Legacy data path seems to be mounted somewhere. Files will most likely \ X+ be symlinked from there to @DATA_PATH@. Update it later to avoid trouble. X+ fi X+ X+ if [ -d $LEGACY_DATA_PATH ]; then X+ if [ ! -f $DATA_PATH/metadata.mfs ]; then X+ echo $DATA_PATH/metadata.mfs does not exist X+ if [ -f $LEGACY_DATA_PATH/metadata.mfs ]; then X+ echo Creating symlinks from existing $LEGACY_DATA_PATH/ metadata directory, update it later! X+ for metadata_file in $LEGACY_DATA_PATH/*.mfs $LEGACY_DATA_PATH/*.mfs.[0-9]*; do X+ echo ln -s $metadata_file @DATA_PATH@/ X+ ln -s $metadata_file @DATA_PATH@/ X+ done X+ fi X+ fi X+ fi X+fi X+sleep 1 X+# Make binaries compatible X+ask_user "Update binaries" "Do you want to update binaries to lizardfs- prefix?" X+response=$? X+ X+if [ $response -eq 0 ]; then X+ cd @SBIN_PATH@ X+ for binary in mfs{chunkserver,master,metadump,metalogger,metarestore}; do X+ cat <<-EOF > $binary X+ #!/bin/bash X+ warning_msg="You are trying to use a DEPRECATED binary that starts with mfs ($binary). \ X+ Please use lizardfs-${binary##mfs} command instead! Redirecting to new binary..." X+ echo \$warning_msg X+ logger \$warning_msg X+ lizardfs-${binary##mfs} \$@ X+ EOF X+ done X+ X+ cd @BIN_PATH@ X+ binary=mfsmount X+ cat <<-EOF > $binary X+ #!/bin/bash X+ warning_msg="You are trying to use a DEPRECATED binary that starts with mfs ($binary). \ X+ Please use lizardfs-${binary##mfs} command instead! Redirecting to new binary..." X+ echo \$warning_msg X+ logger \$warning_msg X+ lizardfs-${binary##mfs} \$@ X+ EOF X+fi X+ X+exit 0 X--- src/data/lizardfs-exports.cfg.orig 2018-01-27 00:18:17 UTC X+++ src/data/lizardfs-exports.cfg X@@ -0,0 +1,68 @@ X+# lizardfs-exports.cfg(5) X+# Allow everything but "meta". X+* / rw,alldirs,maproot=0 X+ X+# Allow "meta". X+* . rw X+ X+# Line format: X+# [ip range] [path] [options] X+# ip range: X+# * = any ip (same as 0.0.0.0/0) X+# A.B.C.D = given ip address X+# A.B.C.D-E.F.G.H = range of ip addresses X+# A.B.C.D/BITS = A.B.C.D network with BITS ones in netmask X+# A.B.C.D/E.F.G.H = A.B.C.D network with E.F.G.H netmask X+# path: X+# . = special 'path' that means 'meta' X+# /... = path in mfs structure X+# options: X+# ro/rw/readonly/readwrite = meaning is obvious X+# alldirs = any subdirectored can be mounted as root X+# dynamicip = ip is tested only during first authentication, then client can use the same session id from any ip X+# ignoregid = group id (gid) is not tested - important when you want to use auxilinary groups X+# allcanchangequota = non-root users are allowed to change quotas X+# nomasterpermcheck = disable permission checks in master server X+# maproot=UID[:GID] = treat all root (user with uid equal to zero) operations as operations done by user with uid equal to UID and gid equal to GID (or default gid of this user) X+# mapall=UID[:GID} = like above but for all operations (for both options UID and/or GID can be specified as username or groupname existing on master machine) X+# password=TEXT = force authentication using given password X+# md5pass=MD5 = like above, but with password defined as it's MD5 hash (MD5 specified as 128-bit hexadecimal number) X+# minversion=VERS = allow only clients with version number equal or greater than VERS (VERS can be specified as X or X.Y or X.Y.Z) X+# mingoal=N = do not allow to set goal below N (N should be a number from '1' to '20') X+# maxgoal=N = do not allow to set goal above N (N as above) X+# mintrashtime=TIMEDURATION = do not allow to set trashtime below TIMEDURATION (TIMEDURATION can be specified as number of seconds or combination of elements #W,#D,#H,#M,#S with given order) X+# maxtrashtime=TIMEDURATION = do not allow to set trashtime above TIMEDURATION (TIMEDURATION can be specified as above) X+# X+# Defaults: X+# readonly,maproot=999:999,mingoal=1,maxgoal=20,mintrashtime=0,maxtrashtime=4294967295 X+# X+# TIMEDURATION examples: X+# 2H = 2 hours X+# 4h30M = 4 hours and 30 minutes (time units are case insensitive) X+# 12w = 12 weeks X+# 86400 = 86400 seconds = 1 day X+# 11d13h46m40s = 1000000 seconds (defined in a little strage way as 11 days, 13 hours, 46 minutes and 40 seconds) X+# 48H = 48 hours = 2 days (it is allowed to use any positive number with any time unit as long as calculated number of seconds do not overrun 4294967295) X+# 30m12h = wrong definition (minutes before hours) X+# 30m12 = wrong definition (12 without unit definition - only one, alone number is allowed without unit definition) X+# 50000d = wrong definition (calculated number of seconds is 4320000000 which is greater than 4294967295) X+ X+# Some examples: X+ X+# Users from any IP can mount root directory as a read-only file system. Local roots are mapped as users with uid:gid = 999:999. X+#* / ro X+ X+# Users from IP 192.168.1.0-192.168.1.255 can mount root directory as a standard read/write file system. Local roots are mapped as users with uid:gid = 999:999. X+#192.168.1.0/24 / rw X+ X+# Users from IP 192.168.1.0-192.168.1.255 when give password 'passcode' can mount any subdirectory as a standard read/write file system. Local roots are left unmapped. X+#192.168.1.0/24 / rw,alldirs,maproot=0,password=passcode X+ X+# Users from IP 10.0.0.0-10.0.0.5 when give password 'test' can mount 'test' subdirectory as a standard read/write file system. Local roots are mapped as 'nobody' users (usually uid=65534). X+#10.0.0.0-10.0.0.5 /test rw,maproot=nobody,password=test X+ X+# Users from IP 10.1.0.0-10.1.255.255 can mount 'public' subdirectory as a standard read/write file system. All users are mapped as users with uid:gid = 1000:1000. X+#10.1.0.0/255.255.0.0 /public rw,mapall=1000:1000 X+ X+# Users from IP 10.2.0.0-10.2.255.255 can mount everything, but can't decrease trash time below 2 hours and 30 minutes and above 2 weeks X+#10.2.0.0/16 / rw,alldirs,maproot=0,mintrashtime=2h30m,maxtrashtime=2w X--- src/data/lizardfs-goals.cfg.orig 2018-01-27 00:18:17 UTC X+++ src/data/lizardfs-goals.cfg X@@ -0,0 +1,32 @@ X+# lizardfs-goals.cfg(5) X+# An example of configuration of goals. It contains the default values. X+ X+1 1 : _ X+2 2 : _ _ X+3 3 : _ _ _ X+4 4 : _ _ _ _ X+5 5 : _ _ _ _ _ X+ X+# (...) X+ X+# 20 20 : _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ X+ X+# Defaults (min(goal_id, 5) standard copies) are assumed for unspecified goals. X+# Custom goals can be defined with or without labels. X+# X+# EXAMPLES: X+# X+# 3 3 : _ _ _ # one of the default goals (three copies anywhere) X+# 8 not_important_file : _ # only one copy X+# 11 important_file : _ _ X+# 12 local_copy_on_mars : mars _ # at least one copy in the Martian datacenter X+# 13 cached_on_ssd : ssd _ X+# 14 very_important_file : _ _ _ _ X+# 15 default_xor3 : $xor3 X+# 16 fast_read : $xor2 { ssd ssd hdd } X+# 17 xor5 : $xor5 { hdd } # at least one part on hdd X+# 14 min_two_locations: _ locationA locationB # one copy in A, one in B, third anywhere X+# 15 fast_access : ssd _ _ # one copy on ssd, two additional on any drives X+# 16 two_manufacturers: WD HT # one on WD disk, one on HT disk X+# 17 default_ec : $ec(5,2) # erasure code with 5 data parts and 2 parity parts X+# 18 wide_ec : $ec(17,9) { ssd ssd } # erasure code 17+9 with at least two parts on ssd X--- src/data/lizardfs-hdd.cfg.orig 2018-01-27 00:18:17 UTC X+++ src/data/lizardfs-hdd.cfg X@@ -0,0 +1,8 @@ X+# lizardfs-hdd.cfg(5) X+# mount points of HDD drives X+# X+#/mnt/hd1 X+#/mnt/hd2 X+#etc. X+# The following mount point is marked for removal with '*': X+#*/mnt/hd3 X--- src/data/lizardfs-master.cfg.in.orig 2018-01-27 00:18:17 UTC X+++ src/data/lizardfs-master.cfg.in X@@ -0,0 +1,282 @@ X+# lizardfs-master.cfg(5) X+ X+## Personality of this instance of metadata server ('master' or 'shadow'). X+## 'master' means that this instance of metadata server acts as main X+## metadata server govering all file system metadata modifications. X+## 'shadow' means that this instance of metadata server acts as backup X+## metadata server ready for immediate deployment as new 'master' in case X+## of current 'master' failure. X+## Only one metadata server in LizardFS shall have 'master' personality. X+# PERSONALITY = master X+ X+## Password for administrative connections and commands. X+# ADMIN_PASSWORD = X+ X+## User to run daemon as. X+# WORKING_USER = @DEFAULT_USER@ X+ X+## Group to run daemon as (if empty then default user group will be used). X+# WORKING_GROUP = @DEFAULT_GROUP@ X+ X+## Name of process to place in syslog messages. X+## (Default: lizardfs-master) X+# SYSLOG_IDENT = lizardfs-master X+ X+## Whether to perform "mlockall()" to avoid swapping out lizardfs-master process, X+## boolean value (0 or 1). X+## (Default: 0) X+# LOCK_MEMORY = 0 X+ X+## Nice level to run daemon with, when possible to set. X+## (Default: -19) X+# NICE_LEVEL = -19 X+ X+## Path to lizardfs-exports.cfg file X+## (Default: @ETC_PATH@/lizardfs-exports.cfg) X+# EXPORTS_FILENAME = @ETC_PATH@/lizardfs-exports.cfg X+ X+## Path to lizardfs-topology.cfg file X+## (Default: @ETC_PATH@/lizardfs-topology.cfg) X+# TOPOLOGY_FILENAME = @ETC_PATH@/lizardfs-topology.cfg X+ X+## Path to lizardfs-goals.cfg file X+## (Default: @ETC_PATH@/lizardfs-goals.cfg) X+# CUSTOM_GOALS_FILENAME = @ETC_PATH@/lizardfs-goals.cfg X+ X+## Location for metadata files. X+## (Default: @DATA_PATH@) X+# DATA_PATH = @DATA_PATH@ X+ X+## If set, servers with the same IP address will be treated X+## as their topology distance is 0. X+## (Default: 1) X+# PREFER_LOCAL_CHUNKSERVER = 1 X+ X+## When this option is set (equals 1) master will try to recover metadata X+## from changelog when it is being started after a crash; otherwise it will X+## refuse to start and 'lizardfs-metarestore' should be used to recover the metadata. X+## (Default: 0) X+# AUTO_RECOVERY = 0 X+ X+## Number of metadata change log files. X+## (Default: 50) X+# BACK_LOGS = 50 X+ X+## Number of previous metadata files to be kept. X+## (Default: 1) X+# BACK_META_KEEP_PREVIOUS = 1 X+ X+## Initial delay in seconds before starting chunk operations. X+## (Default: 300) X+# OPERATIONS_DELAY_INIT = 300 X+ X+## Chunk operations delay in seconds after chunkserver disconnection. X+## (Default: 3600) X+# OPERATIONS_DELAY_DISCONNECT = 3600 X+ X+## IP address to listen on for metalogger connections (* means any). X+# MATOML_LISTEN_HOST = * X+ X+## Port to listen on for metalogger connections. X+## (Default: 9419) X+# MATOML_LISTEN_PORT = 9419 X+ X+## How many seconds of change logs to be preserved in memory. X+## Note: logs are stored in blocks of 5k lines, so sometimes real number of X+## seconds may be little bigger; zero disables extra logs storage. X+## (Default: 600) X+# MATOML_LOG_PRESERVE_SECONDS = 600 X+ X+## IP address to listen on for chunkserver connections (* means any). X+# MATOCS_LISTEN_HOST = * X+ X+## Port to listen on for chunkserver connections X+## (Default: 9420) X+# MATOCS_LISTEN_PORT = 9420 X+ X+## IP address to listen on for client (mount) connections (* means any). X+# MATOCL_LISTEN_HOST = * X+ X+## Port to listen on for client (mount) connections X+## (Default: 9421). X+# MATOCL_LISTEN_PORT = 9421 X+ X+## IP address to listen on for tapeserver connections (* means any). X+# MATOTS_LISTEN_HOST = * X+ X+## Port to listen on for tapeserver connections X+## (Default: 9424) X+# MATOTS_LISTEN_PORT = 9424 X+ X+## Chunks loop shouldn't check more chunks per seconds than given number. X+## (Default: 100000) X+# CHUNKS_LOOP_MAX_CPS = 100000 X+ X+## Chunks loop will check all chunks in specified time (in seconds) unless X+## CHUNKS_LOOP_MAX_CPS will force slower execution. X+## (Default: 300) X+# CHUNKS_LOOP_MIN_TIME = 300 X+ X+## Time in milliseconds between chunks loop execution. X+## (Default: 1000) X+# CHUNKS_LOOP_PERIOD = 1000 X+ X+## Hard limit on CPU usage by chunks loop (percentage). X+## (Default: 60) X+# CHUNKS_LOOP_MAX_CPU = 60 X+ X+## Soft maximum number of chunks to delete on one chunkserver. X+## (Default: 10) X+# CHUNKS_SOFT_DEL_LIMIT = 10 X+ X+## Hard maximum number of chunks to delete on one chunkserver. X+## (Default: 25) X+# CHUNKS_HARD_DEL_LIMIT = 25 X+ X+## Maximum number of chunks to replicate to one chunkserver. X+## (Default: 2) X+# CHUNKS_WRITE_REP_LIMIT = 2 X+ X+## Maximum number of chunks to replicate from one chunkserver X+## (Default: 10) X+# CHUNKS_READ_REP_LIMIT = 10 X+ X+## Percentage of endangered chunks that should be replicated with high priority. X+## Example: when set to 0.2, up to 20% of chunks served in one turn would be extracted X+## from endangered priority queue. X+## When set to 1 (max), no other chunks would be processed as long as there are X+## any endangered chunks in the queue (not advised) X+## (Default: 0), i.e. there is no overhead for prioritizing endangered chunks. X+# ENDANGERED_CHUNKS_PRIORITY = 0 X+ X+## Max capacity of endangered chunks queue. This value can limit memory X+## usage of master server if there are lots of endangered chunks in the X+## system. This value is ignored if ENDANGERED_CHUNKS_PRIORITY is set to 0. X+## (Default: 1Mi), i.e. no more than 1Mi chunks will be kept in a queue. X+# ENDANGERED_CHUNKS_MAX_CAPACITY = 1Mi X+ X+## A maximum difference between disk usage on chunkservers that doesn't trigger X+## chunk rebalancing. Value is fraction of one (i.e. 0.1 is 10%). X+## (Default: 0.1) X+# ACCEPTABLE_DIFFERENCE = 0.1 X+ X+## When balancing disk usage, allow moving chunks between servers with X+## different labels. Value is boolean i.e. '0' means that chunks will be X+## moved only between servers with the same label. X+## (Default: 0) X+# CHUNKS_REBALANCING_BETWEEN_LABELS = 0 X+ X+## Interval of freeing inodes being unused for longer than 24 hours in seconds. X+## (Default: 60) X+# FREE_INODES_PERIOD = 60 X+ X+## Whether to update inode access time on every access, X+## boolean value (0 or 1) X+## (Default: 0) X+# NO_ATIME = 0 X+ X+## Time in seconds for which client session data (e.g. list of open files) should be X+## sustained in the master server after connection with the client was lost. X+## Values between 60 and 604800 (one week) are accepted. X+## (Default: 86400) X+# SESSION_SUSTAIN_TIME = 86400 X+ X+## Reject lizardfs-mounts older than 1.6.0 (Boolean, 0 or 1). X+## Note that lizardfs-exports access control is NOT used for those old clients. X+## (Default is 0) X+# REJECT_OLD_CLIENTS = 0 X+ X+# GLOBALIOLIMITS_FILENAME = @ETC_PATH@/globaliolimits.cfg X+ X+## How often mountpoints will request bandwidth allocations under constant, X+## predictable load. X+## (Default: 0.1) X+# GLOBALIOLIMITS_RENEGOTIATION_PERIOD_SECONDS = 0.1 X+ X+## After inactivity, no waiting is required to transfer the amount of data X+## equivalent to normal data flow over the period of that many milliseconds. X+## (Default: 250) X+# GLOBALIOLIMITS_ACCUMULATE_MS = 250 X+ X+# MFSMETARESTORE_PATH = @SBIN_PATH@/lizardfs-metarestore X+ X+## Delay in seconds before trying to reconnect to metadata server X+## after disconnection. X+## Mandatory for "shadow" instance. X+## (Default: 5) X+# MASTER_RECONNECTION_DELAY = 5 X+ X+## Address of the host running LizardFS metadata server that currently X+## acts as master. X+## Mandatory for "shadow" instance. X+# MASTER_HOST = mfsmaster X+ X+## Port number where LizardFS metadata server currently running as master X+## listens for connections from shadow's and metaloggers. X+## Mandatory for "shadow" instance. X+## (Default: 9419) X+# MASTER_PORT = 9419 X+ X+## Timeout (in seconds) for metadata server connections; X+## Mandatory for "shadow" instance. X+## (Default: 60) X+# MASTER_TIMEOUT = 60 X+ X+## How often metadata checksum shall be sent to backup servers, every N metadata updates. X+## (Default: 50) X+# METADATA_CHECKSUM_INTERVAL = 50 X+ X+## How fast should metadata be recalculated in background, N objects per function call. X+## (Default: 100) X+# METADATA_CHECKSUM_RECALCULATION_SPEED = 100 X+ X+## Should checksum verification be disabled while applying changelog, boolean. X+## (Default: 0) X+# DISABLE_METADATA_CHECKSUM_VERIFICATION = 0 X+ X+## Minimal time in seconds between metadata dumps caused by requests from shadow masters. X+## (Default: 1800) X+# METADATA_SAVE_REQUEST_MIN_PERIOD = 1800 X+ X+# deprecated: X+# CHUNKS_DEL_LIMIT - use CHUNKS_SOFT_DEL_LIMIT instead X+ X+## Use Berkley DB for file/directory name storage (Boolean, 0 or 1). X+## By default system memory is used for storing file/directory names. X+## With this option enabled Berkeley DB is used for storing X+## names in file (@DATA_PATH@/name_storage.db) X+## (Default: 0) X+# USE_BDB_FOR_NAME_STORAGE = 1 X+ X+## Size of memory cache (in MB) for file/directory names used X+## by Berkeley DB storage. X+## (Default: 10) X+# BDB_NAME_STORAGE_CACHE_SIZE = 10 X+ X+## When this option is set to 1, process of selecting chunkservers for chunks X+## will try to avoid using those that share the same ip. X+## (Default: 0) X+# AVOID_SAME_IP_CHUNKSERVERS = 0 X+ X+## When set, percentage of load will be added to chunkserver disk usage to determine most fitting X+## chunkserver. Heavy loaded chunkservers will be picked for operations less frequently. X+## (Default: 0, Valid range: [0, 0.5]) X+# LOAD_FACTOR_PENALTY = 0 X+ X+## Minimum number of required redundant chunk parts that can be lost before X+## chunk becomes endangered X+## (Default: 0) X+# REDUNDANCY_LEVEL = 0 X+ X+## This option can be used to specify initial number of snapshotted nodes that will be atomically X+## cloned before enqueuing the task for execution in fixed-sized batches. X+## (Default: 1000) X+# SNAPSHOT_INITIAL_BATCH_SIZE = 1000 X+ X+## This option specifies the maximum initial batch size set for snapshot request. X+## (Default: 10000) X+# SNAPSHOT_INITIAL_BATCH_SIZE_LIMIT = 10000 X+ X+## Test files loop will try to check all files in specified time (in seconds). X+## (Default: 3600) X+# FILE_TEST_LOOP_MIN_TIME = 3600 X--- src/data/lizardfs-metalogger.cfg.in.orig 2018-01-27 00:18:17 UTC X+++ src/data/lizardfs-metalogger.cfg.in X@@ -0,0 +1,51 @@ X+# lizardfs-metalogger.cfg(5) X+ X+## User to run daemon as. X+# WORKING_USER = @DEFAULT_USER@ X+ X+## Group to run daemon as (if empty then default user group will be used). X+# WORKING_GROUP = @DEFAULT_GROUP@ X+ X+## Name of process to place in syslog messages. X+## (Default: lizardfs-metalogger) X+# SYSLOG_IDENT = lizardfs-metalogger X+ X+## Whether to perform "mlockall()" to avoid swapping out lizardfs-metalogger X+## process, boolean. X+## (Default: 0) X+# LOCK_MEMORY = 0 X+ X+## Nice level to run daemon with, when possible to set. X+## (Default: -19) X+# NICE_LEVEL = -19 X+ X+## Location where to store metadata files. X+# DATA_PATH = @DATA_PATH@ X+ X+## Number of metadata change log files. X+## (Default: 50) X+# BACK_LOGS = 50 X+ X+## Number of previous metadata files to be kept. X+## (Default: 3) X+# BACK_META_KEEP_PREVIOUS = 3 X+ X+## Metadata download frequency in hours, at most BACK_LOGS/2. X+## (Default: 24) X+# META_DOWNLOAD_FREQ = 24 X+ X+## Delay in seconds before trying to reconnect to master after disconnection. X+## (Default: 5) X+# MASTER_RECONNECTION_DELAY = 5 X+ X+## Address (or hostname) of LizardFS master host to connect with. X+## (Default: mfsmaster) X+# MASTER_HOST = mfsmaster X+ X+## Port number of LizardFS master to connect with. X+## (Default: 9419) X+# MASTER_PORT = 9419 X+ X+## Timeout (in seconds) for master connections. X+## (Default: 60) X+# MASTER_TIMEOUT = 60 X--- src/data/lizardfs-mount.cfg.orig 2018-01-27 00:18:17 UTC X+++ src/data/lizardfs-mount.cfg X@@ -0,0 +1,16 @@ X+# The optional lizardfs-mount.cfg file can be used to specify defaults for lizardfs-mount. X+# Default mount options can be specified on one line separated by commas or X+# over several lines. X+# X+# Examples: X+# X+# mfsmaster=192.168.1.1,mfsport=9421 X+# mfsmaster=192.168.1.1 X+# mfspassword=secret X+# X+# The default mount point can also be set. The default mount point must begin X+# with a "/" and be a fully qualified path. X+# X+# Example: X+# X+# /mnt/mfs X--- src/data/lizardfs-topology.cfg.orig 2018-01-27 00:18:17 UTC X+++ src/data/lizardfs-topology.cfg X@@ -0,0 +1,32 @@ X+# lizardfs-topology.cfg(5) X+ X+# Server groups can be specified per line with full ip addresses or with X+# netmasks in the following manner: X+# X+# ip_numbers rack_id X+# X+# Bear in mind that each line adds new information about the topology. X+ X+# Here is an example: X+# ip addresses can be defined as a network class with number of significant bits X+# 192.168.1.0/24 1 X+# X+# ip addresses can be defined as a range of ip addresses X+# 192.168.2.0-192.168.2.255 2 X+# X+# ip address blocks can be defined as a network class with network mask X+# 192.168.3.0/255.255.255.0 3 X+# X+# or as a single ip address X+# 192.168.1.1 4 X+# 192.168.2.1 4 X+# 192.168.3.1 4 X+ X+# After the above definitions MooseFS knows that: X+# rack/group 1 has machines with ip numbers 192.168.1.0 and 192.168.1.2-192.168.1.255 X+# rack/group 2 has machines with ip numbers 192.168.2.0 and 192.168.2.2-192.168.2.255 X+# rack/group 3 has machines with ip numbers 192.168.3.0 and 192.168.3.2-192.168.3.255 X+# rack/group 4 has machines with ip numbers 192.168.1.1,192.168.2.1 and 192.168.3.1 X+ X+# For chunkservers and mounts connecting to the mfs-master that have not been X+# defined in a group, group 0 will be used. X-# REPLICATION_WAVE_TIMEOUT_MS = 500 X-#10.2.0.0/16 / rw,alldirs,maproot=0,mintrashtime=2h30m,maxtrashtime=2w X-# 18 wide_ec : $ec(17,9) { ssd ssd } # erasure code 17+9 with at least two parts on ssd X-#*/mnt/hd3 X-# FILE_TEST_LOOP_MIN_TIME = 3600 X-# MASTER_TIMEOUT = 60 X-# /mnt/mfs X-# defined in a group, group 0 will be used. X--- src/master/CMakeLists.txt.orig 2017-12-20 09:59:37 UTC X+++ src/master/CMakeLists.txt X@@ -1,5 +1,5 @@ X include_directories(${CMAKE_CURRENT_SOURCE_DIR}) X-add_definitions(-DAPPNAME=mfsmaster) X+add_definitions(-DAPPNAME=lizardfs-master) X X collect_sources(MASTER) X X@@ -18,12 +18,12 @@ endif() X create_unittest(master ${MASTER_TESTS}) X link_unittest(master master mfscommon) X X-add_executable(mfsmaster ${MAIN_SRC}) X-target_link_libraries(mfsmaster master ${PAM_LIBRARIES}) X+add_executable(lizardfs-master ${MAIN_SRC}) X+target_link_libraries(lizardfs-master master ${PAM_LIBRARIES}) X if(SYSTEMD_FOUND) X- target_link_libraries(mfsmaster ${SYSTEMD_LIBRARIES}) X+ target_link_libraries(lizardfs-master ${SYSTEMD_LIBRARIES}) X endif() X-install(TARGETS mfsmaster RUNTIME DESTINATION ${SBIN_SUBDIR}) X+install(TARGETS lizardfs-master RUNTIME DESTINATION ${SBIN_SUBDIR}) X X configure_file(mfsrestoremaster.in mfsrestoremaster @ONLY) X install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/mfsrestoremaster DESTINATION ${SBIN_SUBDIR}) X--- src/master/exports.cc.orig 2017-12-20 09:59:37 UTC X+++ src/master/exports.cc X@@ -593,7 +593,7 @@ int exports_parseuidgid(char *maproot,ui X if (*eptr!=0) { // not only digits - treat it as a groupname X getgrnam_r(gptr+1,&grp,pwgrbuff,16384,&grrec); X if (grrec==NULL) { X- lzfs_pretty_syslog(LOG_WARNING,"mfsexports/maproot: can't find group named '%s' defined in line: %" PRIu32,gptr+1,lineno); X+ lzfs_pretty_syslog(LOG_WARNING,"lizardfs-exports/maproot: can't find group named '%s' defined in line: %" PRIu32,gptr+1,lineno); X return -1; X } X gid = grrec->gr_gid; X@@ -615,7 +615,7 @@ int exports_parseuidgid(char *maproot,ui X if (*eptr!=0) { // not only digits - treat it as a username X getpwnam_r(uptr,&pwd,pwgrbuff,16384,&pwrec); X if (pwrec==NULL) { X- lzfs_pretty_syslog(LOG_WARNING,"mfsexports/maproot: can't find user named '%s' defined in line: %" PRIu32,uptr,lineno); X+ lzfs_pretty_syslog(LOG_WARNING,"lizardfs-exports/maproot: can't find user named '%s' defined in line: %" PRIu32,uptr,lineno); X return -1; X } X *ruid = pwrec->pw_uid; X@@ -632,7 +632,7 @@ int exports_parseuidgid(char *maproot,ui X } else { X getpwuid_r(uid,&pwd,pwgrbuff,16384,&pwrec); X if (pwrec==NULL) { X- lzfs_pretty_syslog(LOG_WARNING,"mfsexports/maproot: can't determine gid, because can't find user with uid %" PRIu32 " defined in line: %" PRIu32,uid,lineno); X+ lzfs_pretty_syslog(LOG_WARNING,"lizardfs-exports/maproot: can't determine gid, because can't find user with uid %" PRIu32 " defined in line: %" PRIu32,uid,lineno); X return -1; X } X *ruid = pwrec->pw_uid; X@@ -767,53 +767,53 @@ int exports_parseoptions(char *opts,uint X } X arec->needpassword=1; X } else { X- lzfs_pretty_syslog(LOG_WARNING,"mfsexports: incorrect md5pass definition (%s) in line: %" PRIu32,p,lineno); X+ lzfs_pretty_syslog(LOG_WARNING,"lizardfs-exports: incorrect md5pass definition (%s) in line: %" PRIu32,p,lineno); X return -1; X } X } else if (strncmp(p,"minversion=",11)==0) { X o=1; X if (exports_parseversion(p+11,&arec->minversion)<0) { X- lzfs_pretty_syslog(LOG_WARNING,"mfsexports: incorrect minversion definition (%s) in line: %" PRIu32,p,lineno); X+ lzfs_pretty_syslog(LOG_WARNING,"lizardfs-exports: incorrect minversion definition (%s) in line: %" PRIu32,p,lineno); X return -1; X } X } else if (strncmp(p,"mingoal=",8)==0) { X o=1; X if (exports_parsegoal(p+8,&arec->mingoal)<0) { X- lzfs_pretty_syslog(LOG_WARNING,"mfsexports: incorrect mingoal definition (%s) in line: %" PRIu32,p,lineno); X+ lzfs_pretty_syslog(LOG_WARNING,"lizardfs-exports: incorrect mingoal definition (%s) in line: %" PRIu32,p,lineno); X return -1; X } X if (arec->mingoal>arec->maxgoal) { X- lzfs_pretty_syslog(LOG_WARNING,"mfsexports: mingoal>maxgoal in definition (%s) in line: %" PRIu32,p,lineno); X+ lzfs_pretty_syslog(LOG_WARNING,"lizardfs-exports: mingoal>maxgoal in definition (%s) in line: %" PRIu32,p,lineno); X return -1; X } X } else if (strncmp(p,"maxgoal=",8)==0) { X o=1; X if (exports_parsegoal(p+8,&arec->maxgoal)<0) { X- lzfs_pretty_syslog(LOG_WARNING,"mfsexports: incorrect maxgoal definition (%s) in line: %" PRIu32,p,lineno); X+ lzfs_pretty_syslog(LOG_WARNING,"lizardfs-exports: incorrect maxgoal definition (%s) in line: %" PRIu32,p,lineno); X return -1; X } X if (arec->mingoal>arec->maxgoal) { X- lzfs_pretty_syslog(LOG_WARNING,"mfsexports: maxgoalmintrashtime>arec->maxtrashtime) { X- lzfs_pretty_syslog(LOG_WARNING,"mfsexports: mintrashtime>maxtrashtime in definition (%s) in line: %" PRIu32,p,lineno); X+ lzfs_pretty_syslog(LOG_WARNING,"lizardfs-exports: mintrashtime>maxtrashtime in definition (%s) in line: %" PRIu32,p,lineno); X return -1; X } X } else if (strncmp(p,"maxtrashtime=",13)==0) { X o=1; X if (exports_parsetime(p+13,&arec->maxtrashtime)<0) { X- lzfs_pretty_syslog(LOG_WARNING,"mfsexports: incorrect maxtrashtime definition (%s) in line: %" PRIu32,p,lineno); X+ lzfs_pretty_syslog(LOG_WARNING,"lizardfs-exports: incorrect maxtrashtime definition (%s) in line: %" PRIu32,p,lineno); X return -1; X } X if (arec->mintrashtime>arec->maxtrashtime) { X- lzfs_pretty_syslog(LOG_WARNING,"mfsexports: maxtrashtimefromip,&arec->toip)<0) { X- lzfs_pretty_syslog(LOG_WARNING,"mfsexports: incorrect ip/network definition in line: %" PRIu32,lineno); X+ lzfs_pretty_syslog(LOG_WARNING,"lizardfs-exports: incorrect ip/network definition in line: %" PRIu32,lineno); X return -1; X } X X@@ -954,7 +954,7 @@ void exports_loadexports(void) { X if (errno==ENOENT) { X throw InitializeException( X std::string("exports configuration file (") + ExportsFileName + ") not found" X- " - please create one (you can copy " ETC_PATH "/mfsexports.cfg.dist" X+ " - please create one (you can copy " ETC_PATH "/lizardfs-exports.cfg.dist" X " to get a base configuration)"); X } else { X throw InitializeException( X@@ -1003,7 +1003,7 @@ void exports_load(void) { X if (ExportsFileName) { X free(ExportsFileName); X } X- ExportsFileName = cfg_getstr("EXPORTS_FILENAME", ETC_PATH "/mfsexports.cfg"); X+ ExportsFileName = cfg_getstr("EXPORTS_FILENAME", ETC_PATH "/lizardfs-exports.cfg"); X exports_loadexports(); X } X X--- src/master/filesystem.cc.orig 2017-12-20 09:59:37 UTC X+++ src/master/filesystem.cc X@@ -265,7 +265,7 @@ static void fs_read_goal_config_file() { X cfg_getstring("CUSTOM_GOALS_FILENAME", ""); X if (goalConfigFile.empty()) { X // file is not specified X- const char *defaultGoalConfigFile = ETC_PATH "/mfsgoals.cfg"; X+ const char *defaultGoalConfigFile = ETC_PATH "/lizardfs-goals.cfg"; X if (access(defaultGoalConfigFile, F_OK) == 0) { X // the default file exists - use it X goalConfigFile = defaultGoalConfigFile; X@@ -307,7 +307,7 @@ static void fs_read_config_file() { X gChecksumBackgroundUpdater.setSpeedLimit( X cfg_getint32("METADATA_CHECKSUM_RECALCULATION_SPEED", 100)); X metadataDumper.setMetarestorePath( X- cfg_get("MFSMETARESTORE_PATH", std::string(SBIN_PATH "/mfsmetarestore"))); X+ cfg_get("MFSMETARESTORE_PATH", std::string(SBIN_PATH "/lizardfs-metarestore"))); X metadataDumper.setUseMetarestore(cfg_getint32("MAGIC_PREFER_BACKGROUND_DUMP", 0)); X X // Set deprecated values first, then override them if newer version is found X@@ -356,7 +356,7 @@ int fs_init(bool doLoad) { X } catch (const LockfileException& e) { X if (e.reason() == LockfileException::Reason::kStaleLock) { X throw LockfileException( X- std::string(e.what()) + ", consider running `mfsmetarestore -a' to fix problems with your datadir.", X+ std::string(e.what()) + ", consider running `lizardfs-metarestore -a' to fix problems with your datadir.", X LockfileException::Reason::kStaleLock); X } X throw; X--- src/master/filesystem_store.cc.orig 2017-12-20 09:59:37 UTC X+++ src/master/filesystem_store.cc X@@ -358,7 +358,7 @@ int fs_loadedge(FILE *fd, int ignoreflag X parent_id = SPECIAL_INODE_ROOT; X } else { X lzfs_pretty_syslog(LOG_ERR, X- "use mfsmetarestore (option -i) to attach this " X+ "use lizardfs-metarestore (option -i) to attach this " X "node to root dir\n"); X return -1; X } X@@ -386,7 +386,7 @@ int fs_loadedge(FILE *fd, int ignoreflag X parent_id = SPECIAL_INODE_ROOT; X } else { X lzfs_pretty_syslog(LOG_ERR, X- "use mfsmetarestore (option -i) to attach this " X+ "use lizardfs-metarestore (option -i) to attach this " X "node to root dir\n"); X return -1; X } X@@ -762,7 +762,7 @@ int fs_checknodes(int ignoreflag) { X } X } else { X lzfs_pretty_syslog(LOG_ERR, X- "use mfsmetarestore (option -i) to " X+ "use lizardfs-metarestore (option -i) to " X "attach this node to root dir\n"); X return -1; X } X@@ -1371,7 +1371,7 @@ void fs_load_changelogs() { X throw InitializeException( X "changelog " + fullFileName + X " inconsistent, " X- "use mfsmetarestore to recover the filesystem; " X+ "use lizardfs-metarestore to recover the filesystem; " X "current fs version: " + X std::to_string(fs_getversion()) + X ", first change in the file: " + X@@ -1603,7 +1603,7 @@ uint8_t fs_storeall(MetadataDumper::Dump X } X } X if (child) { X- printf("OK\n"); // give mfsmetarestore another chance X+ printf("OK\n"); // give lizardfs-metarestore another chance X exit(0); X } X fs_broadcast_metadata_saved(status); X--- src/master/matoclserv.cc.orig 2017-12-20 09:59:37 UTC X+++ src/master/matoclserv.cc X@@ -5004,7 +5004,7 @@ void matoclserv_gotpacket(matoclserventr X matoclserv_liz_cserv_list(eptr, data, length); X break; X default: X- lzfs_pretty_syslog(LOG_NOTICE,"main master server module: got unknown message from mfsmount (type:%" PRIu32 ")",type); X+ lzfs_pretty_syslog(LOG_NOTICE,"main master server module: got unknown message from client (type:%" PRIu32 ")",type); X eptr->mode=KILL; X } X } else if (eptr->registered == ClientState::kOldTools) { // old mfstools X--- src/master/topology.cc.orig 2017-12-20 09:59:37 UTC X+++ src/master/topology.cc X@@ -328,13 +328,13 @@ int topology_parseline(char *line,uint32 X p++; X } X if (*p==0 || *p=='\r' || *p=='\n') { X- lzfs_pretty_syslog(LOG_WARNING,"mfstopology: incomplete definition in line: %" PRIu32,lineno); X+ lzfs_pretty_syslog(LOG_WARNING,"lizardfs-topology: incomplete definition in line: %" PRIu32,lineno); X return -1; X } X *p=0; X p++; X if (topology_parsenet(net,fip,tip)<0) { X- lzfs_pretty_syslog(LOG_WARNING,"mfstopology: incorrect ip/network definition in line: %" PRIu32,lineno); X+ lzfs_pretty_syslog(LOG_WARNING,"lizardfs-topology: incorrect ip/network definition in line: %" PRIu32,lineno); X return -1; X } X X@@ -343,7 +343,7 @@ int topology_parseline(char *line,uint32 X } X X if (*p<'0' || *p>'9') { X- lzfs_pretty_syslog(LOG_WARNING,"mfstopology: incorrect rack id in line: %" PRIu32,lineno); X+ lzfs_pretty_syslog(LOG_WARNING,"lizardfs-topology: incorrect rack id in line: %" PRIu32,lineno); X return -1; X } X X@@ -354,7 +354,7 @@ int topology_parseline(char *line,uint32 X } X X if (*p && *p!='\r' && *p!='\n' && *p!='#') { X- lzfs_pretty_syslog(LOG_WARNING,"mfstopology: garbage found at the end of line: %" PRIu32,lineno); X+ lzfs_pretty_syslog(LOG_WARNING,"lizardfs-topology: garbage found at the end of line: %" PRIu32,lineno); X return -1; X } X return 0; X@@ -433,7 +433,7 @@ void topology_reload(void) { X if (TopologyFileName) { X free(TopologyFileName); X } X- TopologyFileName = cfg_getstr("TOPOLOGY_FILENAME", ETC_PATH "/mfstopology.cfg"); X+ TopologyFileName = cfg_getstr("TOPOLOGY_FILENAME", ETC_PATH "/lizardfs-topology.cfg"); X topology_load(); X X gPreferLocalChunkserver = cfg_getnum("PREFER_LOCAL_CHUNKSERVER", 1); X--- src/metadump/CMakeLists.txt.orig 2017-12-20 09:59:37 UTC X+++ src/metadump/CMakeLists.txt X@@ -1,6 +1,6 @@ X include_directories(${CMAKE_CURRENT_SOURCE_DIR}) X X aux_source_directory(. METADUMP_SOURCES) X-add_executable(mfsmetadump ${METADUMP_SOURCES}) X-target_link_libraries(mfsmetadump) X-install(TARGETS mfsmetadump RUNTIME DESTINATION ${SBIN_SUBDIR}) X+add_executable(lizardfs-metadump ${METADUMP_SOURCES}) X+target_link_libraries(lizardfs-metadump) X+install(TARGETS lizardfs-metadump RUNTIME DESTINATION ${SBIN_SUBDIR}) X--- src/metalogger/CMakeLists.txt.orig 2017-12-20 09:59:37 UTC X+++ src/metalogger/CMakeLists.txt X@@ -1,6 +1,6 @@ X include_directories(${CMAKE_CURRENT_SOURCE_DIR}) X add_definitions(-DMETALOGGER) X-add_definitions(-DAPPNAME=mfsmetalogger) X+add_definitions(-DAPPNAME=lizardfs-metalogger) X X collect_sources(METALOGGER) X X@@ -9,9 +9,9 @@ target_link_libraries(metalogger mfscomm X X create_unittest(metalogger ${METALOGGER_TESTS}) X X-add_executable(mfsmetalogger ${MAIN_SRC}) X-target_link_libraries(mfsmetalogger metalogger ${PAM_LIBRARIES}) X+add_executable(lizardfs-metalogger ${MAIN_SRC}) X+target_link_libraries(lizardfs-metalogger metalogger ${PAM_LIBRARIES}) X if(SYSTEMD_FOUND) X- target_link_libraries(mfsmetalogger ${SYSTEMD_LIBRARIES}) X+ target_link_libraries(lizardfs-metalogger ${SYSTEMD_LIBRARIES}) X endif() X-install(TARGETS mfsmetalogger RUNTIME DESTINATION ${SBIN_SUBDIR}) X+install(TARGETS lizardfs-metalogger RUNTIME DESTINATION ${SBIN_SUBDIR}) X--- src/metarestore/CMakeLists.txt.orig 2017-12-20 09:59:37 UTC X+++ src/metarestore/CMakeLists.txt X@@ -1,6 +1,6 @@ X include_directories(${CMAKE_CURRENT_SOURCE_DIR} ../master) X add_definitions(-DMETARESTORE) X-add_definitions(-DAPPNAME=mfsmetarestore) X+add_definitions(-DAPPNAME=lizardfs-metarestore) X X collect_sources(METARESTORE) X X@@ -24,6 +24,6 @@ endif() X X create_unittest(metarestore ${METARESTORE_TESTS}) X X-add_executable(mfsmetarestore ${METARESTORE_MAIN}) X-target_link_libraries(mfsmetarestore metarestore mfscommon ${PAM_LIBRARIES}) X-install(TARGETS mfsmetarestore RUNTIME DESTINATION ${SBIN_SUBDIR}) X+add_executable(lizardfs-metarestore ${METARESTORE_MAIN}) X+target_link_libraries(lizardfs-metarestore metarestore mfscommon ${PAM_LIBRARIES}) X+install(TARGETS lizardfs-metarestore RUNTIME DESTINATION ${SBIN_SUBDIR}) X--- src/mount/fuse/CMakeLists.txt.orig 2017-12-20 09:59:37 UTC X+++ src/mount/fuse/CMakeLists.txt X@@ -1,6 +1,6 @@ X include_directories(${CMAKE_CURRENT_SOURCE_DIR}) X X-add_definitions(-DAPPNAME=mfsmount) X+add_definitions(-DAPPNAME=lizardfs-mount) X X collect_sources(MOUNT_FUSE) X X@@ -10,7 +10,7 @@ target_link_libraries(mount_fuse mount m X add_definitions(-DFUSE_USE_VERSION=26) X add_definitions(${FUSE_CFLAGS_OTHER}) X include_directories(${FUSE_INCLUDE_DIR}) X-add_executable(mfsmount ${MOUNT_FUSE_MAIN}) X-target_link_libraries(mfsmount mount_fuse ${FUSE_LIBRARY}) X-install(TARGETS mfsmount RUNTIME DESTINATION ${BIN_SUBDIR}) X+add_executable(lizardfs-mount ${MOUNT_FUSE_MAIN}) X+target_link_libraries(lizardfs-mount mount_fuse ${FUSE_LIBRARY}) X+install(TARGETS lizardfs-mount RUNTIME DESTINATION ${BIN_SUBDIR}) X X--- src/mount/fuse/main.cc.orig 2017-12-20 09:59:37 UTC X+++ src/mount/fuse/main.cc X@@ -531,7 +531,7 @@ int main(int argc, char *argv[]) try { X } X X if (gCustomCfg==0) { X- mfs_opt_parse_cfg_file(ETC_PATH "/mfsmount.cfg",1,&defaultargs); X+ mfs_opt_parse_cfg_file(ETC_PATH "/lizardfs-mount.cfg",1,&defaultargs); X } X X if (fuse_opt_parse(&defaultargs, &gMountOptions, gMfsOptsStage2, mfs_opt_proc_stage2)<0) { X--- src/mount/fuse/mount_config.cc.orig 2017-12-20 09:59:37 UTC X+++ src/mount/fuse/mount_config.cc X@@ -125,7 +125,7 @@ void usage(const char *progname) { X " -S PATH equivalent to '-o mfssubfolder=PATH'\n" X " -p --password similar to '-o mfspassword=PASSWORD', but show prompt and ask user for password\n" X " -n --nostdopts do not add standard LizardFS mount options: '-o " DEFAULT_OPTIONS ",fsname=MFS'\n" X-" -o mfscfgfile=CFGFILE load some mount options from external file (if not specified then use default file: " ETC_PATH "/mfsmount.cfg)\n" X+" -o mfscfgfile=CFGFILE load some mount options from external file (if not specified then use default file: " ETC_PATH "/lizardfs-mount.cfg)\n" X " -o mfsdebug print some debugging information\n" X " -o mfsmeta mount meta filesystem (trash etc.)\n" X " -o mfsdelayedinit connection with master is done in background - with this option mount can be run without network (good for being run from fstab / init scripts etc.)\n" X--- tests/test_suites/ShortSystemTests/test_admin_save_metadata.sh.orig 2018-01-27 00:18:17 UTC X+++ tests/test_suites/ShortSystemTests/test_admin_save_metadata.sh X@@ -10,12 +10,12 @@ CHUNKSERVERS=1 \ X setup_local_empty_lizardfs info X port=${lizardfs_info_[matocl]} X X-# Instead of real mfsmetarestore, provide a program which hangs forever to slow down metadata dumps X+# Instead of real lizardfs-metarestore, provide a program which hangs forever to slow down metadata dumps X cat > "$TEMP_DIR/metarestore.sh" << END X #!/usr/bin/env bash X touch "$TEMP_DIR/dump_started" X sleep 4 X-mfsmetarestore "\$@" || exit $? X+lizardfs-metarestore "\$@" || exit $? X touch "$TEMP_DIR/dump_finished" X END X chmod +x "$TEMP_DIR/metarestore.sh" X--- tests/test_suites/ShortSystemTests/test_auto_metarestore.sh.orig 2018-01-27 00:18:17 UTC X+++ tests/test_suites/ShortSystemTests/test_auto_metarestore.sh X@@ -34,7 +34,7 @@ verify_recovery() { X ( X export MESSAGE="$MESSAGE (from$filelist)" X echo "$MESSAGE" X- assertlocal_success mfsmetarestore -d "${info[master_data_path]}" -a X+ assertlocal_success lizardfs-metarestore -d "${info[master_data_path]}" -a X assertlocal_success lizardfs_master_daemon start X expect_equals 100 $(ls "${info[mount0]}" | wc -l) X expect_success lizardfs_master_daemon kill X--- tests/test_suites/ShortSystemTests/test_auto_recovery_metarestore_while_starting.sh.orig 2018-01-27 00:18:17 UTC X+++ tests/test_suites/ShortSystemTests/test_auto_recovery_metarestore_while_starting.sh X@@ -16,7 +16,7 @@ assert_eventually 'test -e "${info[maste X sleep 1 X X # Try restoring metadata. This should fail, because master holds the lock. X-expect_failure mfsmetarestore -a -d "${info[master_data_path]}" X+expect_failure lizardfs-metarestore -a -d "${info[master_data_path]}" X X # Expect that the master server still applies the changelog. X expect_failure lizardfs-probe info localhost "${info[matocl]}" X--- tests/test_suites/ShortSystemTests/test_auto_recovery_start_during_metarestore.sh.orig 2018-01-27 00:18:17 UTC X+++ tests/test_suites/ShortSystemTests/test_auto_recovery_start_during_metarestore.sh X@@ -9,14 +9,14 @@ lizardfs_master_daemon stop X assert_equals 1 $(metadata_get_version "${info[master_data_path]}/metadata.mfs") X generate_changelog > "${info[master_data_path]}/changelog.mfs" X X-# Start mfsmetarestore in background and wait until it starts to apply X+# Start lizardfs-metarestore in background and wait until it starts to apply X # the changelog. This process will then last for a couple of seconds. X-mfsmetarestore -a -d "${info[master_data_path]}" & X+lizardfs-metarestore -a -d "${info[master_data_path]}" & X assert_eventually 'test -e "${info[master_data_path]}/metadata.mfs.lock"' X sleep 1 X X-# Try to start the master server. This should fail, because mfsmetarestore holds the lock. X+# Try to start the master server. This should fail, because lizardfs-metarestore holds the lock. X expect_failure lizardfs_master_daemon start X X-# Expect that mfsmetarestore still applies the changelog X+# Expect that lizardfs-metarestore still applies the changelog X expect_equals 1 $(metadata_get_version "${info[master_data_path]}/metadata.mfs") X--- tests/test_suites/ShortSystemTests/test_cs_failure_during_xor_read.sh.orig 2018-01-27 00:18:17 UTC X+++ tests/test_suites/ShortSystemTests/test_cs_failure_during_xor_read.sh X@@ -31,7 +31,6 @@ port=${info[chunkserver${csid}_port]} X X # Limit data transfer from this chunkserver X start_proxy $port $((port + 1000)) X-lizardfs_chunkserver_daemon $csid stop X LD_PRELOAD="$LIZARDFS_ROOT/lib/libredirect_bind.so" lizardfs_chunkserver_daemon $csid start X lizardfs_wait_for_all_ready_chunkservers X X--- tests/test_suites/ShortSystemTests/test_master_stop_during_dumping.sh.orig 2018-01-27 00:18:17 UTC X+++ tests/test_suites/ShortSystemTests/test_master_stop_during_dumping.sh X@@ -8,7 +8,7 @@ cat > $TEMP_DIR/restore.sh << END X #!/usr/bin/env bash X touch $TEMP_DIR/dump_started X sleep 5 X-mfsmetarestore "\$@" X+lizardfs-metarestore "\$@" X END X X chmod +x $TEMP_DIR/restore.sh X--- tests/test_suites/ShortSystemTests/test_metadata_dump.sh.orig 2018-01-27 00:18:17 UTC X+++ tests/test_suites/ShortSystemTests/test_metadata_dump.sh X@@ -14,7 +14,7 @@ CHUNKSERVERS=3 \ X # 'metaout_tmp' is used to ensure 'metaout' is complete when "created" X cat > $TEMP_DIR/metarestore_ok.sh << END X #!/usr/bin/env bash X-mfsmetarestore "\$@" | tee $TEMP_DIR/metaout_tmp X+lizardfs-metarestore "\$@" | tee $TEMP_DIR/metaout_tmp X ret="\${PIPESTATUS[0]}" X mv $TEMP_DIR/metaout_tmp $TEMP_DIR/metaout X exit "\$ret" X@@ -22,7 +22,7 @@ END X X cat > $TEMP_DIR/metarestore_wrong_checksum.sh << END X #!/usr/bin/env bash X-mfsmetarestore "\$@" -k 0 | tee $TEMP_DIR/metaout_tmp X+lizardfs-metarestore "\$@" -k 0 | tee $TEMP_DIR/metaout_tmp X ret="\${PIPESTATUS[0]}" X mv $TEMP_DIR/metaout_tmp $TEMP_DIR/metaout X exit "\$ret" X@@ -80,7 +80,7 @@ function check() { X assert_file_exists changelog.mfs.1 X last_change=$(tail -1 changelog.mfs.1 | cut -d : -f 1) X assert_success test -n "$last_change" X- assert_equals $((last_change+1)) "$(mfsmetadump metadata.mfs | awk 'NR==2{print $6}')" X+ assert_equals $((last_change+1)) "$(lizardfs-metadump metadata.mfs | awk 'NR==2{print $6}')" X if ((backup_copies < 5)); then X backup_copies=$((backup_copies + 1)) X fi X--- tests/test_suites/ShortSystemTests/test_metadata_file_lock.sh.orig 2018-01-27 00:18:17 UTC X+++ tests/test_suites/ShortSystemTests/test_metadata_file_lock.sh X@@ -7,11 +7,11 @@ USE_RAMDISK=YES \ X touch "${info[mount0]}/file"{1..5} X X # Verify if metarestore fails (metadata is locked by the running master server) X-assert_failure mfsmetarestore -a -d "${info[master_data_path]}" X+assert_failure lizardfs-metarestore -a -d "${info[master_data_path]}" X X # Kill the master server and retry -- should succeed; recreate the master server then X assert_success lizardfs_master_daemon kill X-assert_success mfsmetarestore -a -d "${info[master_data_path]}" X+assert_success lizardfs-metarestore -a -d "${info[master_data_path]}" X assert_success lizardfs_master_daemon start X X # Modify shadow master to use the same data dir as the primary master server X--- tests/test_suites/ShortSystemTests/test_metadata_recovery.sh.orig 2018-01-27 00:18:17 UTC X+++ tests/test_suites/ShortSystemTests/test_metadata_recovery.sh X@@ -39,7 +39,7 @@ cd X lizardfs_master_daemon kill X # leave only files written by metalogger X rm ${info[master_data_path]}/{changelog,metadata,sessions}.* X-mfsmetarestore -a -d "${info[master_data_path]}" X+lizardfs-metarestore -a -d "${info[master_data_path]}" X lizardfs_master_daemon start X X # check restored filesystem X--- tests/test_suites/ShortSystemTests/test_metarestore_autorecovery_metadata_version.sh.orig 2018-01-27 00:18:17 UTC X+++ tests/test_suites/ShortSystemTests/test_metarestore_autorecovery_metadata_version.sh X@@ -13,7 +13,7 @@ done X X # Test fresh metadata + changelogs X latest_metadata_version=$(lizardfs_probe_master metadataserver-status | cut -f3) X-on_disk_metadata_version=$(mfsmetarestore -g -d "${info[master_data_path]}") X+on_disk_metadata_version=$(lizardfs-metarestore -g -d "${info[master_data_path]}") X assert_equals "$latest_metadata_version" "$on_disk_metadata_version" X X # Create more metadata X@@ -23,7 +23,7 @@ FILE_SIZE=1K assert_success file-generat X # Test old metadata + changelogs X latest_metadata_version=$(lizardfs_probe_master metadataserver-status | cut -f3) X lizardfs_master_daemon kill X-on_disk_metadata_version=$(mfsmetarestore -g -d "${info[master_data_path]}") X+on_disk_metadata_version=$(lizardfs-metarestore -g -d "${info[master_data_path]}") X assert_equals "$latest_metadata_version" "$on_disk_metadata_version" X assert_success lizardfs_master_daemon start -o auto-recovery X assert_equals "$(lizardfs_probe_master metadataserver-status | cut -f3)" "$on_disk_metadata_version" X@@ -37,17 +37,17 @@ mv "${info[master_data_path]}"/metadata. X mv "${info[master_data_path]}"/changelog.mfs.1 "${info[master_data_path]}"/changelog.mfs X mv "${info[master_data_path]}"/changelog.mfs.2 "${info[master_data_path]}"/changelog.mfs.2.tmp X X-on_disk_metadata_version=$(mfsmetarestore -g -d "${info[master_data_path]}") X+on_disk_metadata_version=$(lizardfs-metarestore -g -d "${info[master_data_path]}") X assert_equals "0" "$on_disk_metadata_version" X X # Test with changelog and metadata missing (but we should still be able to load old version) X mv "${info[master_data_path]}"/changelog.mfs.2.tmp "${info[master_data_path]}"/changelog.mfs.2 X-on_disk_metadata_version=$(mfsmetarestore -g -d "${info[master_data_path]}") X+on_disk_metadata_version=$(lizardfs-metarestore -g -d "${info[master_data_path]}") X assert_success lizardfs_master_daemon start -o auto-recovery X assert_equals "$(lizardfs_probe_master metadataserver-status | cut -f3)" "$on_disk_metadata_version" X X-# Test mfsmetarestore on clean installation X+# Test lizardfs-metarestore on clean installation X assert_success lizardfs_master_daemon kill X echo "MFSM NEW" > "${info[master_data_path]}"/metadata.mfs X-on_disk_metadata_version=$(mfsmetarestore -g -d "${info[master_data_path]}") X+on_disk_metadata_version=$(lizardfs-metarestore -g -d "${info[master_data_path]}") X assert_equals "1" "$on_disk_metadata_version" X--- tests/test_suites/ShortSystemTests/test_metarestore_disable_metadata_checksum_verification.sh.orig 2018-01-27 00:18:17 UTC X+++ tests/test_suites/ShortSystemTests/test_metarestore_disable_metadata_checksum_verification.sh X@@ -14,6 +14,6 @@ cd X lizardfs_master_daemon kill X sed -i -e 's/: ./: /' "$changelog_file" # Remove first digit from all timestamps (subtract 37 years) X X-# Make sure ordinary mfsmetarestore fails, and with disabled checksums succeeds. X-assert_failure mfsmetarestore -a -d "${info[master_data_path]}" X-assert_success mfsmetarestore -z -a -d "${info[master_data_path]}" X+# Make sure ordinary lizardfs-metarestore fails, and with disabled checksums succeeds. X+assert_failure lizardfs-metarestore -a -d "${info[master_data_path]}" X+assert_success lizardfs-metarestore -z -a -d "${info[master_data_path]}" X--- tests/test_suites/ShortSystemTests/test_shadow_connects_during_dumping.sh.orig 2018-01-27 00:18:17 UTC X+++ tests/test_suites/ShortSystemTests/test_shadow_connects_during_dumping.sh X@@ -8,7 +8,7 @@ CHUNKSERVERS=1 \ X MASTER_EXTRA_CONFIG="$master_cfg" \ X setup_local_empty_lizardfs info X X-# Instead of real mfsmetarestore, provide a program which hangs forever to slow down metadata dumps X+# Instead of real lizardfs-metarestore, provide a program which hangs forever to slow down metadata dumps X cat > "$TEMP_DIR/metarestore.sh" << END X #!/usr/bin/env bash X touch "$TEMP_DIR/dump_started" X--- tests/test_suites/ShortSystemTests/test_shadow_promotion_during_dumping.sh.orig 2018-01-27 00:18:17 UTC X+++ tests/test_suites/ShortSystemTests/test_shadow_promotion_during_dumping.sh X@@ -10,12 +10,12 @@ CHUNKSERVERS=1 \ X MASTER_EXTRA_CONFIG="$master_cfg" \ X setup_local_empty_lizardfs info X X-# Instead of real mfsmetarestore, provide a program which hangs forever to slow down metadata dumps X+# Instead of real lizardfs-metarestore, provide a program which hangs forever to slow down metadata dumps X cat > "$TEMP_DIR/metarestore.sh" << END X #!/usr/bin/env bash X touch "$TEMP_DIR/dump_started" X sleep 30 # Long enough to do the test, short enough to be able to terminate memcheck within 60s X-mfsmetarestore "\$@" X+lizardfs-metarestore "\$@" X touch "$TEMP_DIR/dump_finished" X END X chmod +x "$TEMP_DIR/metarestore.sh" X--- tests/tools/config.sh.orig 2018-01-27 00:18:17 UTC X+++ tests/tools/config.sh X@@ -39,8 +39,8 @@ fi X # This function shold be called just after test_fail is able to work X check_configuration() { X for prog in \ X- $LIZARDFS_ROOT/sbin/{mfsmaster,mfschunkserver} \ X- $LIZARDFS_ROOT/bin/{mfsmount,lizardfs} \ X+ $LIZARDFS_ROOT/sbin/{lizardfs-master,lizardfs-chunkserver} \ X+ $LIZARDFS_ROOT/bin/{lizardfs-mount,lizardfs} \ X $LIZARDFS_ROOT/bin/file-generate \ X $LIZARDFS_ROOT/bin/file-validate X do X--- tests/tools/lizardfs.sh.orig 2018-01-27 00:18:17 UTC X+++ tests/tools/lizardfs.sh X@@ -119,12 +119,12 @@ setup_local_empty_lizardfs() { X lizardfs_chunkserver_daemon() { X local id=$1 X shift X- mfschunkserver -c "${lizardfs_info_[chunkserver${id}_cfg]}" "$@" | cat X+ lizardfs-chunkserver -c "${lizardfs_info_[chunkserver${id}_cfg]}" "$@" | cat X return ${PIPESTATUS[0]} X } X X lizardfs_master_daemon() { X- mfsmaster -c "${lizardfs_info_[master${lizardfs_info_[current_master]}_cfg]}" "$@" | cat X+ lizardfs-master -c "${lizardfs_info_[master${lizardfs_info_[current_master]}_cfg]}" "$@" | cat X return ${PIPESTATUS[0]} X } X X@@ -132,13 +132,13 @@ lizardfs_master_daemon() { X lizardfs_master_n() { X local id=$1 X shift X- mfsmaster -c "${lizardfs_info_[master${id}_cfg]}" "$@" | cat X+ lizardfs-master -c "${lizardfs_info_[master${id}_cfg]}" "$@" | cat X return ${PIPESTATUS[0]} X } X X # lizardfs_metalogger_daemon start|stop|restart|kill|tests|isalive|... X lizardfs_metalogger_daemon() { X- mfsmetalogger -c "${lizardfs_info_[metalogger_cfg]}" "$@" | cat X+ lizardfs-metalogger -c "${lizardfs_info_[metalogger_cfg]}" "$@" | cat X return ${PIPESTATUS[0]} X } X X@@ -439,7 +439,7 @@ add_chunkserver_() { X grep CREATE_NEW_CHUNKS_IN_MOOSEFS_FORMAT "$chunkserver_cfg" || \ X chunkserver_chunk_format_cfg_ $chunkserver_id >> "$chunkserver_cfg" X mkdir -p "$chunkserver_data_path" X- mfschunkserver -c "$chunkserver_cfg" start X+ lizardfs-chunkserver -c "$chunkserver_cfg" start X X lizardfs_info_[chunkserver${chunkserver_id}_port]=$csserv_port X lizardfs_info_[chunkserver${chunkserver_id}_cfg]=$chunkserver_cfg X@@ -487,11 +487,11 @@ add_mount_() { X fuse_options="" X for fuse_option in $(echo ${FUSE_EXTRA_CONFIG-} | tr '|' '\n'); do X fuse_option_name=$(echo $fuse_option | cut -f1 -d'=') X- mfsmount --help |& grep " -o ${fuse_option_name}[ =]" > /dev/null \ X+ lizardfs-mount --help |& grep " -o ${fuse_option_name}[ =]" > /dev/null \ X || test_fail "Your libfuse doesn't support $fuse_option_name flag" X fuse_options+="-o $fuse_option " X done X- local call="${command_prefix} mfsmount -o big_writes -c ${mount_cfg} ${mount_dir} ${fuse_options}" X+ local call="${command_prefix} lizardfs-mount -o big_writes -c ${mount_cfg} ${mount_dir} ${fuse_options}" X lizardfs_info_[mntcall$mount_id]=$call X do_mount_ ${mount_id} X } X@@ -590,7 +590,7 @@ lizardfs_admin_shadow() { X # Stops the active master server without dumping metadata X lizardfs_stop_master_without_saving_metadata() { X lizardfs_admin_master stop-master-without-saving-metadata X- assert_eventually "! mfsmaster -c ${lizardfs_info_[master_cfg]} isalive" X+ assert_eventually "! lizardfs-master -c ${lizardfs_info_[master_cfg]} isalive" X } X X # print the number of fully operational chunkservers X--- tests/tools/metadata.sh.orig 2018-01-27 00:18:17 UTC X+++ tests/tools/metadata.sh X@@ -37,7 +37,7 @@ fi X # Extract version from metadata file X # Expected argument is location of metadata file X metadata_get_version() { X- mfsmetadump "$1" | awk 'NR==2 {print $6}' X+ lizardfs-metadump "$1" | awk 'NR==2 {print $6}' X } X X metadata_generate_files() { X--- tests/tools/test_main.sh.orig 2018-01-27 00:18:17 UTC X+++ tests/tools/test_main.sh X@@ -5,8 +5,8 @@ unalias -a X shopt -s expand_aliases extdebug X X command_prefix= X-for i in mfsmaster mfschunkserver mfsmount mfsmetarestore mfsmetalogger \ X- lizardfs-polonaise-server; do X+for i in lizardfs-master lizardfs-chunkserver lizardfs-mount lizardfs-metarestore \ X+ lizardfs-metalogger lizardfs-polonaise-server; do X alias $i="\${command_prefix} $i" X done X 3bf4b3e5df9cfe6df803c5c4f5b64a6c echo x - lizardfs/files/lizardfs-chunkserver.in sed 's/^X//' >lizardfs/files/lizardfs-chunkserver.in << '98860380ae7a9093bed6a5f57bfb4dce' X#!/bin/sh X# $FreeBSD$ X X# PROVIDE: mfschunkserver X# REQUIRE: DAEMON X# KEYWORD: shutdown X# X# Add the following lines to /etc/rc.conf.local or /etc/rc.conf to enable mfschunkserver: X# X# lizardfs_chunkserver_enable="YES" X# X X. /etc/rc.subr X Xname=mfschunkserver Xrcvar=lizardfs_chunkserver_enable X Xload_rc_config $name X X#set defaults X: ${lizardfs_chunkserver_enable="NO"} X Xconfig_file=%%PREFIX%%/etc/mfs/${name}.cfg X Xrequired_files=${config_file} X Xcommand=%%PREFIX%%/sbin/${name} Xpidfile=/var/run/lizardfs/.${name}.pid Xcommand_args="-p $pidfile -c $config_file" X Xrun_rc_command "$1" 98860380ae7a9093bed6a5f57bfb4dce echo x - lizardfs/files/pkg-message.in sed 's/^X//' >lizardfs/files/pkg-message.in << '10b543366bab2aa6a8fb96b27faec902' X************************************************************************ X XTo enable the lizardfs cgi server to run at startup please add Xthe following line to your rc.conf file: X Xlizardfs_cgiserver_enable="YES" X XTo enable the lizardfs chunk server service to run at startup please add Xthe following line to your rc.conf file: X Xlizardfs_chunkserver_enable="YES" X XTo enable the lizards master server to run at startup please add Xthe following line to your rc.conf file: X Xlizardfs_master_enable="YES" X XTo enable the lizardfs metalogger server to run at startup please add XA startup script has been installed as: X Xlizardfs_metalogger_enable="YES" X X************************************************************************ X X X!!!!!!!!!!!!!!!!!!!!!!!!! IMPORTANT !!!!!!!!!!!!!!!!!!!!!!!!!!!! X XThis port is different from the original 3.12 release in that it has the Xpatches to replace all occurances of mfs with lizardfs and replace the Xuser mfs with lizardfs already applied. For compatibility reasons we have Xleft the mfs* tools in but they are going to be removed in one of the Xnext sub releases as well. X X!!!!!!!!!!!!!!!!!!!!!!!!! IMPORTANT !!!!!!!!!!!!!!!!!!!!!!!!!!!! X 10b543366bab2aa6a8fb96b27faec902 echo x - lizardfs/files/lizardfs-master.in sed 's/^X//' >lizardfs/files/lizardfs-master.in << '194d48cfe2e0205a1de37a79be6dbb3d' X#!/bin/sh X# $FreeBSD$ X X# PROVIDE: mfsmaster X# REQUIRE: DAEMON X# KEYWORD: nostart shutdown X# X# Add the following lines to /etc/rc.conf to enable mfsmaster: X# X# mfsmaster_enable="YES" X# X X. /etc/rc.subr X Xname=mfsmaster Xrcvar=lizardfs_master_enable X Xload_rc_config $name X X: ${lizardfs_master_enable="NO"} X Xconfig_file=%%PREFIX%%/etc/mfs/${name}.cfg X Xrequired_files=${config_file} X Xcommand=%%PREFIX%%/sbin/${name} Xpidfile=/var/run/lizardfs/.${name}.pid Xcommand_args="-c $config_file -p $pid_file" Xstart_command="$command $command_args start" Xstop_command="$command stop" X Xrun_rc_command "$1" 194d48cfe2e0205a1de37a79be6dbb3d echo x - lizardfs/files/lizardfs-cgiserver.in sed 's/^X//' >lizardfs/files/lizardfs-cgiserver.in << 'de34490571b30b364f3ef0e878e8ef34' X#!/bin/sh X# $FreeBSD$ X X# PROVIDE: lizardfs-cgiserver X# REQUIRE: DAEMON X# KEYWORD: shutdown X# X# Add the following lines to /etc/rc.conf to enable lizarddfs-cgiserver: X# X# lizardfs_cgiserver_enable="YES" X# X X. /etc/rc.subr X Xname=lizardfs-cgiserver Xrcvar=lizardfs_cgiserver_enable X Xload_rc_config $name X X: ${lizardfs_cgiserver_enable:="NO"} X Xcommand=%%PREFIX%%/sbin/${name} X Xpidfile=/var/run/lizardfs/.${name}.pid X Xcommand_args="-p $pidfile" X Xprocname="python" X Xrun_rc_command "$1" de34490571b30b364f3ef0e878e8ef34 echo x - lizardfs/distinfo sed 's/^X//' >lizardfs/distinfo << 'd444488d16cb879e67611648b99ff0f5' XTIMESTAMP = 1514982975 XSHA256 (lizardfs-lizardfs-v3.12.0_GH0.tar.gz) = d21220dc7542539b48d5bff7abe047a8c6bdbab19cb03579f88f146dee3ec5f6 XSIZE (lizardfs-lizardfs-v3.12.0_GH0.tar.gz) = 2973894 d444488d16cb879e67611648b99ff0f5 echo x - lizardfs/Makefile sed 's/^X//' >lizardfs/Makefile << '8f726d1c4f28d86ac5bbda700e034dd3' X# $FreeBSD$ X XPORTNAME=lizardfs XPORTVERSION=3.12.0 XDISTVERSIONPREFIX=v XCATEGORIES=sysutils X XMAINTAINER=m.bielicki@lizardfs.org XCOMMENT=LizardFS is an Open Source Distributed File System X XLICENSE=GPLv3 X XBUILD_DEPENDS=cmake:devel/cmake XBUILD_DEPENDS+=asciidoc:textproc/asciidoc XLIB_DEPENDS=libisal.so:devel/isa-l XLIB_DEPENDS+=libJudy.so:devel/judy XLIB_DEPENDS+=libboost_system.so:devel/boost-libs X XUSES=shebangfix XUSES+=python:2.7 XUSES+=cmake:outsource XUSES+=fuse Xpython_OLD_CMD= "/usr/bin/env python2" XSHEBANG_GLOB= *.sh *.pl *.py *.cgi *.in X XUSERS= lizardfs XGROUPS= lizardfs XSUB_FILES+= pkg-message X XUSE_GITHUB=yes XGH_ACCOUNT=lizardfs X#GH_TAGNAME=6dbb17b X XCMAKE_BUILD_TYPE=Release XCMAKE_ARGS=-DENABLE_BSD_PATHS=YES XCMAKE_ARGS+=-DENABLE_CLIENT_LIB=YES XCMAKE_ARGS+=-DENABLE_TESTS=NO XCMAKE_ARGS+=-DENABLE_DOCS=YES XCMAKE_ARGS+=-DENABLE_OFFICIAL_BUILD=YES XUSE_RC_SUBR=lizardfs-master lizardfs-chunkserver lizardfs-metalogger lizardfs-cgiserver X XMAKE_JOBS_UNSAFE=yes X X.include 8f726d1c4f28d86ac5bbda700e034dd3 echo x - lizardfs/pkg-descr sed 's/^X//' >lizardfs/pkg-descr << '9ddd67a956f7edfe7abceb61fd524ad1' XLizardFS is a highly reliable, scalable and efficient distributed file system. XIt spreads data over a number of physical servers, making it visible to an Xend user as a single file system. X XUseful links: X - Main code repository - WWW: http://cr.skytechnology.pl:8081/lizardfs, X - GitHub repository mirror - WWW: https://github.com/lizardfs/lizardfs, X - Code review system - WWW: http://cr.skytechnology.pl:8081/, X - Continuous integration system - WWW: http://jenkins.lizardfs.org/. X XLizardFS is a fork of MooseFS. X XMore info can be found at WWW: http://www.lizardfs.com/ 9ddd67a956f7edfe7abceb61fd524ad1 exit