Scroll to navigation

mfsgoal(1) This is part of MooseFS mfsgoal(1)


mfsgoal - MooseFS goal management tools


mfsgetgoal [-r] [-n|-h|-H|-k|-m|-g] OBJECT...

mfssetgoal [-r] [-n|-h|-H|-k|-m|-g] GOAL[+|-] OBJECT...

mfscopygoal [-r] [-n|-h|-H|-k|-m|-g] SOURCE_OBJECT OBJECT...

mfsrgetgoal [-n|-h|-H|-k|-m|-g] OBJECT...

mfsrsetgoal [-n|-h|-H|-k|-m|-g] GOAL[+|-] OBJECT...


These tools operate on object's goal value, i.e. the number of copies in which all file data are stored. It means that file should survive failure of one less chunkservers than its goal value. Goal must be set between 1 and 9 (note that 1 is strongly unadvised).

mfsgetgoal prints current goal value of given object(s). -r option enables recursive mode, which works as usual for every given file, but for every given directory additionally prints current goal value of all contained objects (files and directories).

mfssetgoal changes current goal value of given object(s). If new value is specified in N+ form, goal value is increased to N for objects with lower goal value and unchanged for the rest. Similarly, if new value is specified as N-, goal value is decreased to N for objects with higher goal value and unchanged for the rest. -r option enables recursive mode. These tools can be used on any file, directory or deleted (trash) file.

mfscopygoal tool can be used to copy goal value from one object to another.

mfsrgetgoal and mfsrsetgoal are deprecated aliases for mfsgetgoal -r and mfssetgoal -r respectively.


Since version 3.0 of MooseFS goal has been extended to storage classes. Using storage classes user can also specify chunkservers on which copies should be stored by defining label expressions. To maintain compatibility with standard goal semantics, there are predefined storage classes from 1 to 9. Goal tools simply work only on these classes. To achieve more sophisticated storage scenarios use sclass tools (mfsgetsclass,mfssetsclass,...)


Most of mfstools use -n, -h, -H, -k, -m and -g options to select format of printed numbers. -n causes to print exact numbers, -h uses binary prefixes (Ki, Mi, Gi as 2^10, 2^20 etc.) while -H uses SI prefixes (k, M, G as 10^3, 10^6 etc.). -k, -m and -g show plain numbers respectivaly in kibis (binary kilo - 1024), mebis (binary mega - 1024^2) and gibis (binary giga - 1024^3). The same can be achieved by setting MFSHRFORMAT environment variable to: 0 (exact numbers), 1 or h (binary prefixes), 2 or H (SI prefixes), 3 or h+ (exact numbers and binary prefixes), 4 or H+ (exact numbers and SI prefixes). The default is to print just exact numbers.


When new object is created in MooseFS, attributes such as storage class, trashtime and extra attributes are inherited from parent directory. So if you set i.e. "noowner" attribute and storage class to "important" in a directory then every new object created in this directory will have storage class set to "important" and "noowner" flag set. A newly created object inherits always the current set of its parent's attributes. Changing a directory attribute does not affect its already created children. To change an attribute for a directory and all of its children use -r option.


Report bugs to <>.


Copyright (C) 2023 Jakub Kruszona-Zawadzki, Saglabs SA

This file is part of MooseFS.

MooseFS is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2 (only).

MooseFS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with MooseFS; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA or visit


mfsmount(8), mfstools(1), mfssclass(1)

February 2023 MooseFS 3.0.117-1