From: Patrick Donnelly Date: Tue, 4 May 2021 21:30:39 +0000 (-0700) Subject: Revert "Merge PR #41134 into master" X-Git-Tag: v17.1.0~2075^2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F41160%2Fhead;p=ceph.git Revert "Merge PR #41134 into master" This reverts commit 93bca2d0e9d771e3019af5e7228af7986c20ab61, reversing changes made to 7e70b15c437a2fbe207b515a98b8b21880980867. Signed-off-by: Patrick Donnelly --- diff --git a/ceph.spec.in b/ceph.spec.in index 39c3bade79f06..82295884696ac 100644 --- a/ceph.spec.in +++ b/ceph.spec.in @@ -2317,7 +2317,6 @@ fi %files -n cephfs-shell %{python3_sitelib}/cephfs_shell-*.egg-info %{_bindir}/cephfs-shell -%{_mandir}/man8/cephfs-shell.8* %endif %files -n cephfs-top diff --git a/debian/cephfs-shell.install b/debian/cephfs-shell.install index ee9e1399ff808..4713a81b11578 100644 --- a/debian/cephfs-shell.install +++ b/debian/cephfs-shell.install @@ -1,3 +1,2 @@ usr/bin/cephfs-shell usr/lib/python3*/dist-packages/cephfs_shell-*.egg-info -usr/share/man/man8/cephfs-shell.8 diff --git a/doc/cephfs/cephfs-shell.rst b/doc/cephfs/cephfs-shell.rst new file mode 100644 index 0000000000000..244d78bda12a5 --- /dev/null +++ b/doc/cephfs/cephfs-shell.rst @@ -0,0 +1,588 @@ + +============= +CephFS Shell +============= + +CephFS Shell provides shell-like commands that directly interact with the +:term:`Ceph File System`. + +This tool can be used in interactive mode as well as in non-interactive mode. +In former mode, cephfs-shell opens a shell session and after the given command +is finished, it prints the prompt string and waits indefinitely. When the +shell session is finished, cephfs-shell quits with the return value of last +executed command. In non-interactive mode, cephfs-shell issues a command and +exits right after the command's execution is complete with the command's +return value. + +Behaviour of CephFS Shell can be tweaked using ``cephfs-shell.conf``. Refer to +`CephFS Shell Configuration File`_ for details. + +Usage : + + cephfs-shell [options] [command] + cephfs-shell [options] -- [command, command,...] + +Options : + -c, --config FILE Path to cephfs-shell.conf + -b, --batch FILE Path to batch file. + -t, --test FILE Path to transcript(s) in FILE for testing + + +.. note:: + + Latest version of the cmd2 module is required for running cephfs-shell. + If CephFS is installed through source, execute cephfs-shell in the build + directory. It can also be executed as following using virtualenv: + +.. code:: bash + + [build]$ virtualenv -p python3 venv && source venv/bin/activate && pip3 install cmd2 + [build]$ source vstart_environment.sh && source venv/bin/activate && python3 ../src/tools/cephfs/cephfs-shell + +Commands +======== + +mkdir +----- + +Create the directory(ies), if they do not already exist. + +Usage : + + mkdir [-option] ... + +* directory - name of the directory to be created. + +Options : + -m MODE Sets the access mode for the new directory. + -p, --parent Create parent directories as necessary. When this option is specified, no error is reported if a directory already exists. + +put +--- + +Copy a file/directory to Ceph File System from Local File System. + +Usage : + + put [options] [target_path] + +* source_path - local file/directory path to be copied to cephfs. + * if `.` copies all the file/directories in the local working directory. + * if `-` Reads the input from stdin. + +* target_path - remote directory path where the files/directories are to be copied to. + * if `.` files/directories are copied to the remote working directory. + +Options : + -f, --force Overwrites the destination if it already exists. + + +get +--- + +Copy a file from Ceph File System to Local File System. + +Usage : + + get [options] [target_path] + +* source_path - remote file/directory path which is to be copied to local file system. + * if `.` copies all the file/directories in the remote working directory. + +* target_path - local directory path where the files/directories are to be copied to. + * if `.` files/directories are copied to the local working directory. + * if `-` Writes output to stdout. + +Options: + -f, --force Overwrites the destination if it already exists. + +ls +-- + +List all the files and directories in the current working directory. + +Usage : + + ls [option] [directory]... + +* directory - name of directory whose files/directories are to be listed. + * By default current working directory's files/directories are listed. + +Options: + -l, --long list with long format - show permissions + -r, --reverse reverse sort + -H human readable + -a, -all ignore entries starting with . + -S Sort by file_size + + +cat +--- + +Concatenate files and print on the standard output + +Usage : + + cat .... + +* file - name of the file + +cd +-- + +Change current working directory. + +Usage : + + cd [directory] + +* directory - path/directory name. If no directory is mentioned it is changed to the root directory. + * If '.' moves to the parent directory of the current directory. + +cwd +--- + +Get current working directory. + +Usage : + + cwd + + +quit/Ctrl + D +------------- + +Close the shell. + +chmod +----- + +Change the permissions of file/directory. + +Usage : + + chmod + +mv +-- + +Moves files/Directory from source to destination. + +Usage : + + mv + +rmdir +----- + +Delete a directory(ies). + +Usage : + + rmdir ..... + +rm +-- + +Remove a file(es). + +Usage : + + rm ... + + +write +----- + +Create and Write a file. + +Usage : + + write + + Ctrl+D Exit. + +lls +--- + +Lists all files and directories in the specified directory.Current local directory files and directories are listed if no path is mentioned + +Usage: + + lls ..... + +lcd +--- + +Moves into the given local directory. + +Usage : + + lcd + +lpwd +---- + +Prints the absolute path of the current local directory. + +Usage : + + lpwd + + +umask +----- + +Set and get the file mode creation mask + +Usage : + + umask [mode] + +alias +----- + +Define or display aliases + +Usage: + + alias [name] | [ ] + +* name - name of the alias being looked up, added, or replaced +* value - what the alias will be resolved to (if adding or replacing) this can contain spaces and does not need to be quoted + +run_pyscript +------------ + +Runs a python script file inside the console + +Usage: + + run_pyscript [script_arguments] + +* Console commands can be executed inside this script with cmd ("your command") + However, you cannot run nested "py" or "pyscript" commands from within this + script. Paths or arguments that contain spaces must be enclosed in quotes + +.. note:: This command is available as ``pyscript`` for cmd2 versions 0.9.13 + or less. + +py +-- + +Invoke python command, shell, or script + +Usage : + + py : Executes a Python command. + py: Enters interactive Python mode. + +shortcuts +--------- + +Lists shortcuts (aliases) available + +Usage : + + shortcuts + +history +------- + +View, run, edit, and save previously entered commands. + +Usage : + + history [-h] [-r | -e | -s | -o FILE | -t TRANSCRIPT] [arg] + +Options: + -h show this help message and exit + -r run selected history items + -e edit and then run selected history items + -s script format; no separation lines + -o FILE output commands to a script file + -t TRANSCRIPT output commands and results to a transcript file + +unalias +------- + +Unsets aliases + +Usage : + + unalias [-a] name [name ...] + +* name - name of the alias being unset + +Options: + -a remove all alias definitions + +set +--- + +Sets a settable parameter or shows current settings of parameters. + +Usage : + + set [-h] [-a] [-l] [settable [settable ...]] + +* Call without arguments for a list of settable parameters with their values. + +Options : + -h show this help message and exit + -a display read-only settings as well + -l describe function of parameter + +edit +---- + +Edit a file in a text editor. + +Usage: + + edit [file_path] + +* file_path - path to a file to open in editor + +run_script +---------- + +Runs commands in script file that is encoded as either ASCII or UTF-8 text. +Each command in the script should be separated by a newline. + +Usage: + + run_script + + +* file_path - a file path pointing to a script + +.. note:: This command is available as ``load`` for cmd2 versions 0.9.13 + or less. + +shell +----- + +Execute a command as if at the OS prompt. + +Usage: + + shell [arguments] + +locate +------ + +Find an item in File System + +Usage: + + locate [options] + +Options : + -c Count number of items found + -i Ignore case + +stat +------ + +Display file status. + +Usage : + + stat [-h] [file_name ...] + +Options : + -h Shows the help message + +snap +---- + +Create or Delete Snapshot + +Usage: + + snap {create|delete} + +* snap_name - Snapshot name to be created or deleted + +* dir_name - directory under which snapshot should be created or deleted + +setxattr +-------- + +Set extended attribute for a file + +Usage : + + setxattr [-h] + +* path - Path to the file + +* name - Extended attribute name to get or set + +* value - Extended attribute value to be set + +Options: + -h, --help Shows the help message + +getxattr +-------- + +Get extended attribute value for the name associated with the path + +Usage : + + getxattr [-h] + +* path - Path to the file + +* name - Extended attribute name to get or set + +Options: + -h, --help Shows the help message + +listxattr +--------- + +List extended attribute names associated with the path + +Usage : + + listxattr [-h] + +* path - Path to the file + +Options: + -h, --help Shows the help message + +df +-- + +Display amount of available disk space + +Usage : + + df [-h] [file [file ...]] + +* file - name of the file + +Options: + -h, --help Shows the help message + +du +-- + +Show disk usage of a directory + +Usage : + + du [-h] [-r] [paths [paths ...]] + +* paths - name of the directory + +Options: + -h, --help Shows the help message + + -r Recursive Disk usage of all directories + + +quota +----- + +Quota management for a Directory + +Usage : + + quota [-h] [--max_bytes [MAX_BYTES]] [--max_files [MAX_FILES]] {get,set} path + +* {get,set} - quota operation type. + +* path - name of the directory. + +Options : + -h, --help Shows the help message + + --max_bytes MAX_BYTES Set max cumulative size of the data under this directory + + --max_files MAX_FILES Set total number of files under this directory tree + +CephFS Shell Configuration File +=============================== +By default, CephFS Shell looks for ``cephfs-shell.conf`` in the path provided +by the environment variable ``CEPHFS_SHELL_CONF`` and then in user's home +directory (``~/.cephfs-shell.conf``). + +Right now, CephFS Shell inherits all its options from its dependency ``cmd2``. +Therefore, these options might vary with the version of ``cmd2`` installed on +your system. Refer to ``cmd2`` docs for a description of these options. + +Following is a sample ``cephfs-shell.conf``:: + + [cephfs-shell] + prompt = CephFS:~/>>> + continuation_prompt = > + + quiet = False + timing = False + colors = True + debug = False + + abbrev = False + autorun_on_edit = False + echo = False + editor = vim + feedback_to_output = False + locals_in_py = True + +Exit Code +========= + +Following exit codes are returned by cephfs shell + ++-----------------------------------------------+-----------+ +| Error Type | Exit Code | ++===============================================+===========+ +| Miscellaneous | 1 | ++-----------------------------------------------+-----------+ +| Keyboard Interrupt | 2 | ++-----------------------------------------------+-----------+ +| Operation not permitted | 3 | ++-----------------------------------------------+-----------+ +| Permission denied | 4 | ++-----------------------------------------------+-----------+ +| No such file or directory | 5 | ++-----------------------------------------------+-----------+ +| I/O error | 6 | ++-----------------------------------------------+-----------+ +| No space left on device | 7 | ++-----------------------------------------------+-----------+ +| File exists | 8 | ++-----------------------------------------------+-----------+ +| No data available | 9 | ++-----------------------------------------------+-----------+ +| Invalid argument | 10 | ++-----------------------------------------------+-----------+ +| Operation not supported on transport endpoint | 11 | ++-----------------------------------------------+-----------+ +| Range error | 12 | ++-----------------------------------------------+-----------+ +| Operation would block | 13 | ++-----------------------------------------------+-----------+ +| Directory not empty | 14 | ++-----------------------------------------------+-----------+ +| Not a directory | 15 | ++-----------------------------------------------+-----------+ +| Disk quota exceeded | 16 | ++-----------------------------------------------+-----------+ +| Broken pipe | 17 | ++-----------------------------------------------+-----------+ +| Cannot send after transport endpoint shutdown | 18 | ++-----------------------------------------------+-----------+ +| Connection aborted | 19 | ++-----------------------------------------------+-----------+ +| Connection refused | 20 | ++-----------------------------------------------+-----------+ +| Connection reset | 21 | ++-----------------------------------------------+-----------+ +| Interrupted function call | 22 | ++-----------------------------------------------+-----------+ diff --git a/doc/cephfs/index.rst b/doc/cephfs/index.rst index b3de0f268aa10..02ae3e9b29346 100644 --- a/doc/cephfs/index.rst +++ b/doc/cephfs/index.rst @@ -115,7 +115,7 @@ Mounting CephFS Mount CephFS using Kernel Driver Mount CephFS using FUSE Mount CephFS on Windows - Use the CephFS Shell <../../man/8/cephfs-shell> + Use the CephFS Shell Supported Features of Kernel Driver Manual: ceph-fuse <../../man/8/ceph-fuse> Manual: mount.ceph <../../man/8/mount.ceph> diff --git a/doc/man/8/CMakeLists.txt b/doc/man/8/CMakeLists.txt index e020f347801df..8e1b9373fc83a 100644 --- a/doc/man/8/CMakeLists.txt +++ b/doc/man/8/CMakeLists.txt @@ -38,7 +38,6 @@ list(APPEND man_srcs ${osd_srcs} ${mon_srcs} ceph-mds.rst - cephfs-shell.rst cephfs-top.rst librados-config.rst cephadm.rst diff --git a/doc/man/8/cephfs-shell.rst b/doc/man/8/cephfs-shell.rst deleted file mode 100644 index 62ebf60f20509..0000000000000 --- a/doc/man/8/cephfs-shell.rst +++ /dev/null @@ -1,611 +0,0 @@ -:orphan: - -=================================================== -cephfs-shell -- Shell-like tool talking with CephFS -=================================================== - -.. program:: cephfs-shell - -Synopsis -======== - -| **cephfs-shell** [options] [command] -| **cephfs-shell** [options] -- [command, command,...] - -Description -=========== - -CephFS Shell provides shell-like commands that directly interact with the -Ceph File System. - -This tool can be used in interactive mode as well as in non-interactive mode. -In former mode, cephfs-shell opens a shell session and after the given command -is finished, it prints the prompt string and waits indefinitely. When the -shell session is finished, cephfs-shell quits with the return value of last -executed command. In non-interactive mode, cephfs-shell issues a command and -exits right after the command's execution is complete with the command's -return value. - -Behaviour of CephFS Shell can be tweaked using ``cephfs-shell.conf``. Refer to -`CephFS Shell Configuration File`_ for details. - -Options -======= - -.. option:: -c, --config FILE - - Path to cephfs-shell.conf - -.. option:: -b, --batch FILE - - Path to batch file. - -.. option:: -t, --test FILE - - Path to transcript(s) in FILE for testing - -.. note:: - - Latest version of the cmd2 module is required for running cephfs-shell. - If CephFS is installed through source, execute cephfs-shell in the build - directory. It can also be executed as following using virtualenv: - -.. code:: bash - - [build]$ virtualenv -p python3 venv && source venv/bin/activate && pip3 install cmd2 - [build]$ source vstart_environment.sh && source venv/bin/activate && python3 ../src/tools/cephfs/cephfs-shell - -Commands -======== - -mkdir ------ - -Create the directory(ies), if they do not already exist. - -Usage : - - mkdir [-option] ... - -* directory - name of the directory to be created. - -Options : - -m MODE Sets the access mode for the new directory. - -p, --parent Create parent directories as necessary. When this option is specified, no error is reported if a directory already exists. - -put ---- - -Copy a file/directory to Ceph File System from Local File System. - -Usage : - - put [options] [target_path] - -* source_path - local file/directory path to be copied to cephfs. - * if `.` copies all the file/directories in the local working directory. - * if `-` Reads the input from stdin. - -* target_path - remote directory path where the files/directories are to be copied to. - * if `.` files/directories are copied to the remote working directory. - -Options : - -f, --force Overwrites the destination if it already exists. - - -get ---- - -Copy a file from Ceph File System to Local File System. - -Usage : - - get [options] [target_path] - -* source_path - remote file/directory path which is to be copied to local file system. - * if `.` copies all the file/directories in the remote working directory. - -* target_path - local directory path where the files/directories are to be copied to. - * if `.` files/directories are copied to the local working directory. - * if `-` Writes output to stdout. - -Options: - -f, --force Overwrites the destination if it already exists. - -ls --- - -List all the files and directories in the current working directory. - -Usage : - - ls [option] [directory]... - -* directory - name of directory whose files/directories are to be listed. - * By default current working directory's files/directories are listed. - -Options: - -l, --long list with long format - show permissions - -r, --reverse reverse sort - -H human readable - -a, -all ignore entries starting with . - -S Sort by file_size - - -cat ---- - -Concatenate files and print on the standard output - -Usage : - - cat .... - -* file - name of the file - -cd --- - -Change current working directory. - -Usage : - - cd [directory] - -* directory - path/directory name. If no directory is mentioned it is changed to the root directory. - * If '.' moves to the parent directory of the current directory. - -cwd ---- - -Get current working directory. - -Usage : - - cwd - - -quit/Ctrl + D -------------- - -Close the shell. - -chmod ------ - -Change the permissions of file/directory. - -Usage : - - chmod - -mv --- - -Moves files/Directory from source to destination. - -Usage : - - mv - -rmdir ------ - -Delete a directory(ies). - -Usage : - - rmdir ..... - -rm --- - -Remove a file(es). - -Usage : - - rm ... - - -write ------ - -Create and Write a file. - -Usage : - - write - - Ctrl+D Exit. - -lls ---- - -Lists all files and directories in the specified directory.Current local directory files and directories are listed if no path is mentioned - -Usage: - - lls ..... - -lcd ---- - -Moves into the given local directory. - -Usage : - - lcd - -lpwd ----- - -Prints the absolute path of the current local directory. - -Usage : - - lpwd - - -umask ------ - -Set and get the file mode creation mask - -Usage : - - umask [mode] - -alias ------ - -Define or display aliases - -Usage: - - alias [name] | [ ] - -* name - name of the alias being looked up, added, or replaced -* value - what the alias will be resolved to (if adding or replacing) this can contain spaces and does not need to be quoted - -run_pyscript ------------- - -Runs a python script file inside the console - -Usage: - - run_pyscript [script_arguments] - -* Console commands can be executed inside this script with cmd ("your command") - However, you cannot run nested "py" or "pyscript" commands from within this - script. Paths or arguments that contain spaces must be enclosed in quotes - -.. note:: This command is available as ``pyscript`` for cmd2 versions 0.9.13 - or less. - -py --- - -Invoke python command, shell, or script - -Usage : - - py : Executes a Python command. - py: Enters interactive Python mode. - -shortcuts ---------- - -Lists shortcuts (aliases) available - -Usage : - - shortcuts - -history -------- - -View, run, edit, and save previously entered commands. - -Usage : - - history [-h] [-r | -e | -s | -o FILE | -t TRANSCRIPT] [arg] - -Options: - -h show this help message and exit - -r run selected history items - -e edit and then run selected history items - -s script format; no separation lines - -o FILE output commands to a script file - -t TRANSCRIPT output commands and results to a transcript file - -unalias -------- - -Unsets aliases - -Usage : - - unalias [-a] name [name ...] - -* name - name of the alias being unset - -Options: - -a remove all alias definitions - -set ---- - -Sets a settable parameter or shows current settings of parameters. - -Usage : - - set [-h] [-a] [-l] [settable [settable ...]] - -* Call without arguments for a list of settable parameters with their values. - -Options : - -h show this help message and exit - -a display read-only settings as well - -l describe function of parameter - -edit ----- - -Edit a file in a text editor. - -Usage: - - edit [file_path] - -* file_path - path to a file to open in editor - -run_script ----------- - -Runs commands in script file that is encoded as either ASCII or UTF-8 text. -Each command in the script should be separated by a newline. - -Usage: - - run_script - - -* file_path - a file path pointing to a script - -.. note:: This command is available as ``load`` for cmd2 versions 0.9.13 - or less. - -shell ------ - -Execute a command as if at the OS prompt. - -Usage: - - shell [arguments] - -locate ------- - -Find an item in File System - -Usage: - - locate [options] - -Options : - -c Count number of items found - -i Ignore case - -stat ------- - -Display file status. - -Usage : - - stat [-h] [file_name ...] - -Options : - -h Shows the help message - -snap ----- - -Create or Delete Snapshot - -Usage: - - snap {create|delete} - -* snap_name - Snapshot name to be created or deleted - -* dir_name - directory under which snapshot should be created or deleted - -setxattr --------- - -Set extended attribute for a file - -Usage : - - setxattr [-h] - -* path - Path to the file - -* name - Extended attribute name to get or set - -* value - Extended attribute value to be set - -Options: - -h, --help Shows the help message - -getxattr --------- - -Get extended attribute value for the name associated with the path - -Usage : - - getxattr [-h] - -* path - Path to the file - -* name - Extended attribute name to get or set - -Options: - -h, --help Shows the help message - -listxattr ---------- - -List extended attribute names associated with the path - -Usage : - - listxattr [-h] - -* path - Path to the file - -Options: - -h, --help Shows the help message - -df --- - -Display amount of available disk space - -Usage : - - df [-h] [file [file ...]] - -* file - name of the file - -Options: - -h, --help Shows the help message - -du --- - -Show disk usage of a directory - -Usage : - - du [-h] [-r] [paths [paths ...]] - -* paths - name of the directory - -Options: - -h, --help Shows the help message - - -r Recursive Disk usage of all directories - - -quota ------ - -Quota management for a Directory - -Usage : - - quota [-h] [--max_bytes [MAX_BYTES]] [--max_files [MAX_FILES]] {get,set} path - -* {get,set} - quota operation type. - -* path - name of the directory. - -Options : - -h, --help Shows the help message - - --max_bytes MAX_BYTES Set max cumulative size of the data under this directory - - --max_files MAX_FILES Set total number of files under this directory tree - -CephFS Shell Configuration File -=============================== -By default, CephFS Shell looks for ``cephfs-shell.conf`` in the path provided -by the environment variable ``CEPHFS_SHELL_CONF`` and then in user's home -directory (``~/.cephfs-shell.conf``). - -Right now, CephFS Shell inherits all its options from its dependency ``cmd2``. -Therefore, these options might vary with the version of ``cmd2`` installed on -your system. Refer to ``cmd2`` docs for a description of these options. - -Following is a sample ``cephfs-shell.conf`` - -.. code-block:: ini - - [cephfs-shell] - prompt = CephFS:~/>>> - continuation_prompt = > - - quiet = False - timing = False - colors = True - debug = False - - abbrev = False - autorun_on_edit = False - echo = False - editor = vim - feedback_to_output = False - locals_in_py = True - -Exit Code -========= - -Following exit codes are returned by cephfs shell - -+-----------------------------------------------+-----------+ -| Error Type | Exit Code | -+===============================================+===========+ -| Miscellaneous | 1 | -+-----------------------------------------------+-----------+ -| Keyboard Interrupt | 2 | -+-----------------------------------------------+-----------+ -| Operation not permitted | 3 | -+-----------------------------------------------+-----------+ -| Permission denied | 4 | -+-----------------------------------------------+-----------+ -| No such file or directory | 5 | -+-----------------------------------------------+-----------+ -| I/O error | 6 | -+-----------------------------------------------+-----------+ -| No space left on device | 7 | -+-----------------------------------------------+-----------+ -| File exists | 8 | -+-----------------------------------------------+-----------+ -| No data available | 9 | -+-----------------------------------------------+-----------+ -| Invalid argument | 10 | -+-----------------------------------------------+-----------+ -| Operation not supported on transport endpoint | 11 | -+-----------------------------------------------+-----------+ -| Range error | 12 | -+-----------------------------------------------+-----------+ -| Operation would block | 13 | -+-----------------------------------------------+-----------+ -| Directory not empty | 14 | -+-----------------------------------------------+-----------+ -| Not a directory | 15 | -+-----------------------------------------------+-----------+ -| Disk quota exceeded | 16 | -+-----------------------------------------------+-----------+ -| Broken pipe | 17 | -+-----------------------------------------------+-----------+ -| Cannot send after transport endpoint shutdown | 18 | -+-----------------------------------------------+-----------+ -| Connection aborted | 19 | -+-----------------------------------------------+-----------+ -| Connection refused | 20 | -+-----------------------------------------------+-----------+ -| Connection reset | 21 | -+-----------------------------------------------+-----------+ -| Interrupted function call | 22 | -+-----------------------------------------------+-----------+ - -Files -===== - -``~/.cephfs-shell.conf`` diff --git a/doc/man_index.rst b/doc/man_index.rst index d89cac2d31055..30ab1c3eba7a4 100644 --- a/doc/man_index.rst +++ b/doc/man_index.rst @@ -25,7 +25,6 @@ man/8/cephadm man/8/cephfs-top man/8/cephfs-mirror - man/8/cephfs-shell man/8/crushtool man/8/librados-config man/8/monmaptool