Provided by: ocfs2-tools_1.6.4-3.1_amd64 bug

NAME

       mkfs.ocfs2 - Creates an OCFS2 file system.

SYNOPSIS

       mkfs.ocfs2  [-b  block-size]  [-C  cluster-size]  [-L  volume-label]  [-M  mount-type] [-N
       number-of-nodes]        [-J         journal-options]         [--fs-features=[no]sparse...]
       [--fs-feature-level=feature-level] [-T filesystem-type] [-FqvV] device [blocks-count]

DESCRIPTION

       mkfs.ocfs2  is  used  to create an OCFS2 file system on a device, usually a partition on a
       shared disk. In order to prevent data loss, mkfs.ocfs2 will not format an  existing  OCFS2
       volume if it detects that it is mounted on another node in the cluster. This tool requires
       the cluster service to be online.

OPTIONS

       -b, --block-size block-size
              Valid block size values are 512, 1K, 2K and 4K bytes per block. If omitted, a value
              will  be  heuristically  determined  based on the expected usage of the file system
              (see the -T option). A block size of 512 bytes is never recommended. Choose 1K,  2K
              or 4K.

       -C, --cluster-size cluster-size
              Valid  cluster  size  values are 4K, 8K, 16K, 32K, 64K, 128K, 256K, 512K and 1M. If
              omitted, a value will be heuristically determined based on the  expected  usage  of
              the  file  system  (see  the -T option). For volumes expected to store large files,
              like database files, while a cluster size of 128K or more is recommended,  one  can
              opt for a smaller size as long as that value is not smaller than the database block
              size.  For others, use 4K.

       -F, --force
              For existing OCFS2 volumes, mkfs.ocfs2 ensures the volume is  not  mounted  on  any
              node  in  the  cluster  before formatting. For that to work, mkfs.ocfs2 expects the
              cluster service to be online.  Specify this option to disable this check.

       -J, --journal-options options
              Create the journal using options specified on the command-line. Journal options are
              comma  separated,  and  may  take  an  argument  using  the  equals ('=') sign. The
              following options are supported:

                   size=journal-size
                          Create a journal of size journal-size. Minimum size is 4M.  If omitted,
                          a value is heuristically determined based upon the file system size.

                   block32
                          Use a standard 32bit journal.  The journal will be able to access up to
                          2^32-1 blocks.  This is the default.  It has been  the  journal  format
                          for  OCFS2 volumes since the beginning.  The journal is compatible with
                          all versions of OCFS2.  Prepending no  is  equivalent  to  the  block64
                          journal option.

                   block64
                          Use  a  64bit journal.  The journal will be able to access up to 2^64-1
                          blocks.   This  allows  large  filesystems  that  can  extend  to   the
                          theoretical  limits  of  OCFS2.   It  requires  a new-enough filesystem
                          driver that uses the new journalled block device, JBD2.  Prepending  no
                          is equivalent to the block32 journal option.

       -L, --label volume-label
              Set  the  volume  label  for the file system. This is useful for mounting-by-label.
              Limit the label to under 64 bytes.

       -M, --mount mount-type
              Valid types are local and cluster. Local mount allows users  to  mount  the  volume
              without  the  cluster overhead and works only with OCFS2 bundled with Linux kernels
              2.6.20 or later. Defaults to cluster.

       -N, --node-slots number-of-node-slots
              Valid number ranges from 1 to 255. This number  specifies  the  maximum  number  of
              nodes that can concurrently mount the partition. If omitted, the number defaults to
              8. The number of slots can be later tuned up or down using tunefs.ocfs2.

       -T filesystem-type
              Specify how the filesystem is going to  be  used,  so  that  mkfs.ocfs2  can  chose
              optimal filesystem parameters for that use. The supported filesystem types are:

                   mail   Appropriate for file systems that will host lots of small files.

                   datafiles
                          Appropriate  for  file systems that will host a relatively small number
                          of very large files.

                   vmstore
                          Appropriate for file systems that will host Virtual machine images.

       --fs-features=[no]sparse...
              Turn specific file system features on or off. A comma  separated  list  of  feature
              flags can be provided, and mkfs.ocfs2 will try to create the file system with those
              features set according to the list. To turn a feature on, include it in  the  list.
              To  turn  a  feature  off,  prepend  no  to  the  name.  Choices here will override
              individual features set via the --fs-feature-level option.  Refer  to  the  section
              titled  feature  compatibility  before  selecting  specific features. The following
              flags are supported:

                   backup-super
                          mkfs.ocfs2, by default, makes up to 6 backup copies of the super  block
                          at  offsets  1G, 4G, 16G, 64G, 256G and 1T depending on the size of the
                          volume.  This can be useful in disaster recovery. This feature is fully
                          compatible  with  all  versions of the file system and generally should
                          not be disabled.

                   local  Create the file system as a local mount, so  that  it  can  be  mounted
                          without a cluster stack.

                   sparse Enable  support for sparse files. With this, OCFS2 can avoid allocating
                          (and zeroing) data to fill holes. Turn this  feature  on  if  you  can,
                          otherwise extends and some writes might be less performant.

                   unwritten
                          Enable  unwritten  extents support. With this turned on, an application
                          can request that a range of clusters be pre-allocated  within  a  file.
                          OCFS2  will  mark  those  extents with a special flag so that expensive
                          data zeroing doesn't have to be performed. Reads and writes to  a  pre-
                          allocated region act as reads and writes to a hole, except a write will
                          not fail due to lack of data allocation. This feature  requires  sparse
                          file support to be turned on.

                   inline-data
                          Enable  inline-data  support.  If this feature is turned on, OCFS2 will
                          store small files and directories  inside  the  inode  block.  Data  is
                          transparently  moved out to an extent when it no longer fits inside the
                          inode block. In some cases, this can also make  a  positive  impact  on
                          cold-cache directory and file operations.

                   extended-slotmap
                          The  slot-map  is  a  hidden  file  on an OCFS2 fs which is used to map
                          mounted nodes to system file resources. The extended slot map allows  a
                          larger  range  of  possible node numbers, which is useful for userspace
                          cluster stacks. This feature is automatically turned  on  when  needed,
                          thus users have no need to turn this on manually.

                   metaecc
                          Enables metadata checksums. With this enabled, the file system computes
                          and stores the checksums in all metadata blocks. It also  computes  and
                          stores an error correction code capable of fixing single bit errors.

                   refcount
                          Enables  creation  of  reference  counted trees. With this enabled, the
                          file system allows users to create  inode-based  snapshots  and  clones
                          known as reflinks.

                   xattr  Enable extended attributes support. With this enabled, users can attach
                          name:value pairs to objects within the file system. In OCFS2, the names
                          can  be  upto  255  bytes  in length, terminated by the first NUL byte.
                          While it is not required, printable names (ASCII) are recommended.  The
                          values  can  be  upto  64KB of arbitrary binary data. Attributes can be
                          attached to all types of inodes: regular files,  directories,  symbolic
                          links, device nodes, etc. This feature is required for users wanting to
                          use extended security facilities like POSIX ACLs or SELinux.

                   usrquota
                          Enable user quota support. With this feature enabled,  filesystem  will
                          track  amount  of  space  and  number  of  inodes  (files, directories,
                          symbolic links) each user owns.  It  is  then  possible  to  limit  the
                          maximum amount of space or inodes user can have. See a documentation of
                          quota-tools package for more details.

                   grpquota
                          Enable group quota support. With this feature enabled, filesystem  will
                          track  amount  of  space  and  number  of  inodes  (files, directories,
                          symbolic links) each group owns. It  is  then  possible  to  limit  the
                          maximum amount of space or inodes user can have. See a documentation of
                          quota-tools package for more details.

                   indexed-dirs
                          Enable directory indexing support. With this feature enabled, the  file
                          system creates indexed tree for non-inline directory entries. For large
                          scale directories, directory entry lookup perfromance from the  indexed
                          tree is faster then from the legacy directory blocks.

                   discontig-bg
                          Enables discontiguous block groups. With this feature enabled, the file
                          system is able to grow the inode and the extent  allocators  even  when
                          there  is no contiguous free chunk available. It allows the file system
                          to grow the allocators in smaller (discontiguous) chunks.

       --fs-feature-level=feature-level
              Choose from a set of pre-determined file-system features. This option  is  designed
              to  allow  users  to  conveniently  choose a set of file system features which fits
              their needs. There is no downside to trying a set of  features  which  your  module
              might  not  support  -  if  it won't mount the new file system simply reformat at a
              lower level. Feature  levels  can  be  fine-tuned  via  the  --fs-features  option.
              Currently, there are 3 types of feature levels:

                   max-compat
                          Chooses  fewer features but ensures that the file system can be mounted
                          from older versions of the OCFS2 module.

                   default
                          The default feature set tries to strike a balance between providing new
                          features  and maintaining compatibility with relatively recent versions
                          of OCFS2. It currently enables sparse, unwritten inline-data and xattr.
                          It also enables refcount for the vmstore volumes.

                   max-features
                          Choose  the  maximum  amount of features available. This will typically
                          provide the best performance from OCFS2 at the expense  of  creating  a
                          file  system  that  is only compatible with very recent versions of the
                          OCFS2 kernel module.

       --no-backup-super
              This option is deprecated, please use --fs-features=nobackup-super instead.

       -n, --dry-run
              Display the heuristically determined values without overwriting the  existing  file
              system.

       -q, --quiet
              Quiet mode.

       -v, --verbose
              Verbose mode.

       -V, --version
              Print version and exit.

       blocks-count
              Usually  mkfs.ocfs2  automatically  determines  the  size  of  the given device and
              creates a file system that uses all of the available space  on  the  device.   This
              optional  argument  specifies  that  the  file system should only consume the given
              number of file system blocks (see -b) on the device.

FEATURE COMPATIBILITY

       This section lists the file system features that have been added to the OCFS2 file  system
       and  the  version  that  it  first  appeared in. The table below lists the versions of the
       mainline Linux kernel and that of the file system for the Enterprise Linux  Distributions.
       Users  should use this information to enable only those features that are available in the
       file system that they are using. Before enabling new features, users are advised to review
       to the section titled feature values.

                ┌─────────────────┬─────────────────────────┬──────────────────────────┐
                │FeatureMainline Kernel VersionEnterprise OCFS2 Version │
                ├─────────────────┼─────────────────────────┼──────────────────────────┤
                │local            │      Linux 2.6.20       │        OCFS2 1.2         │
                ├─────────────────┼─────────────────────────┼──────────────────────────┤
                │sparse           │      Linux 2.6.22       │        OCFS2 1.4         │
                ├─────────────────┼─────────────────────────┼──────────────────────────┤
                │unwritten        │      Linux 2.6.23       │        OCFS2 1.4         │
                ├─────────────────┼─────────────────────────┼──────────────────────────┤
                │inline-data      │      Linux 2.6.24       │        OCFS2 1.4         │
                ├─────────────────┼─────────────────────────┼──────────────────────────┤
                │extended-slotmap │      Linux 2.6.27       │        OCFS2 1.6         │
                ├─────────────────┼─────────────────────────┼──────────────────────────┤
                │metaecc          │      Linux 2.6.29       │        OCFS2 1.6         │
                ├─────────────────┼─────────────────────────┼──────────────────────────┤
                │grpquota         │      Linux 2.6.29       │        OCFS2 1.6         │
                ├─────────────────┼─────────────────────────┼──────────────────────────┤
                │usrquota         │      Linux 2.6.29       │        OCFS2 1.6         │
                ├─────────────────┼─────────────────────────┼──────────────────────────┤
                │xattr            │      Linux 2.6.29       │        OCFS2 1.6         │
                ├─────────────────┼─────────────────────────┼──────────────────────────┤
                │indexed-dirs     │      Linux 2.6.30       │        OCFS2 1.6         │
                ├─────────────────┼─────────────────────────┼──────────────────────────┤
                │refcount         │      Linux 2.6.32       │        OCFS2 1.6         │
                ├─────────────────┼─────────────────────────┼──────────────────────────┤
                │discontig-bg     │      Linux 2.6.35       │        OCFS2 1.6         │
                └─────────────────┴─────────────────────────┴──────────────────────────┘

       Users can query the features enabled in the file system as follows:

       [root@node ~]# tunefs.ocfs2 -Q "Label: %V\nFeatures: %H %O\n" /dev/sdg1
       Label: apache_files_10
       Features: sparse inline-data unwritten

FEATURE VALUES

       This section lists the hex values that are associated with the file system features.  This
       information  is  useful  when  debugging  mount  failures  that   are   due   to   feature
       incompatibility.  When  a user attempts to mount an OCFS2 volume that has features enabled
       that are not supported by the running file system software, it will  fail  with  an  error
       like:

       ERROR: couldn't mount because of unsupported optional features (200).

       By  referring  to  the table below, it becomes apparent that the user attempted to mount a
       volume with the xattr (extended attributes) feature enabled with a  version  of  the  file
       system  software that did not support it. At this stage, the user has the option of either
       upgrading the file system software, or, disabling that on-disk feature using tunefs.ocfs2.

       Some features allow the file system to be mounted with an older version  of  the  software
       provided the mount is read-only. If a user attempts to mount such a volume in a read-write
       mode, it will fail with an error like:

       ERROR: couldn't mount RDWR because of unsupported optional features (1).

       This error indicates that the volume had the unwritten RO compat  feature  enabled.   This
       volume  can  be  mounted  by an older file system software only in the read-only mode.  In
       this case, the user has the option of either mounting the volume with the ro mount option,
       or, disabling that on-disk feature using tunefs.ocfs2.

                               ┌─────────────────┬───────────┬───────────┐
                               │FeatureCategoryHex value │
                               ├─────────────────┼───────────┼───────────┤
                               │local            │ Incompat  │     8     │
                               ├─────────────────┼───────────┼───────────┤
                               │sparse           │ Incompat  │    10     │
                               ├─────────────────┼───────────┼───────────┤
                               │inline-data      │ Incompat  │    40     │
                               ├─────────────────┼───────────┼───────────┤
                               │extended-slotmap │ Incompat  │    100    │
                               ├─────────────────┼───────────┼───────────┤
                               │xattr            │ Incompat  │    200    │
                               ├─────────────────┼───────────┼───────────┤
                               │indexed-dirs     │ Incompat  │    400    │
                               ├─────────────────┼───────────┼───────────┤
                               │metaecc          │ Incompat  │    800    │
                               ├─────────────────┼───────────┼───────────┤
                               │refcount         │ Incompat  │   1000    │
                               ├─────────────────┼───────────┼───────────┤
                               │discontig-bg     │ Incompat  │   2000    │
                               ├─────────────────┼───────────┼───────────┤
                               │unwritten        │ RO Compat │     1     │
                               ├─────────────────┼───────────┼───────────┤
                               │usrquota         │ RO Compat │     2     │
                               ├─────────────────┼───────────┼───────────┤
                               │grpquota         │ RO Compat │     4     │
                               └─────────────────┴───────────┴───────────┘

SEE ALSO

       debugfs.ocfs2(8) fsck.ocfs2(8) tunefs.ocfs2(8) mounted.ocfs2(8) ocfs2console(8) o2cb(7)

AUTHORS

       Oracle Corporation

COPYRIGHT

       Copyright © 2004, 2010 Oracle. All rights reserved.