Hi all, enclosed in the next two emails you can find two patches which introduce a new program called "btrfs". This program has the ambitious to replace the utilities of the btrfs-prog package, like: - btrfsctl - btrfs-show - btrfs-volume - btrfs
The goals are: - improve the usability of the tools - add a man page which documents all the commands - correct the btrfsctl return codes I put a lot of attentions in order to avoid regression respect the old tools. A clone of my git repository is available at http://cassiopea.homelinux.net/git/btrfs-command.git Comments are welcome. BR Goffredo --- Example of use: $ ./btrfs ERROR: no command passed Usage: btrfs snapshot|-s <source> [<dest>/]<name> Create a writeble snapshot of the subvolume <source> with the name <name> in the <dest> directory. btrfs delete|-D <subvolume> Delete the subvolume <subvolume>. btrfs create|-S [<dest>/]<name> Create a subvolume in <dest> (or the current directory if not passed. btrfs defrag|-d <file>|<dir> [<file>|<dir>...] Defragment a file or a directory. btrfs fssync|-c <path> Force a fs sync on the filesystem <path> btrfs resize|-r [+/-]<newsize>[gkm]|max <filesystem> Resize the file system. If 'max' is passed, the filesystem will occupe all available space on the device. btrfs scan|-a [<device> [<device>..] Scan all device for or the passed device for a btrfs filesystem. btrfs show|-l <dev>|<label> [<dev>|<label>...] Show the btrfs devices btrfs balance|-b <path> Balance the chunk across the device btrfs add-dev|-A <dev> [<dev>..] <path> Add a device to a filesystem btrfs rem-dev|-R <dev> [<dev>..] <path> Remove a device to a filesystem btrfs help|--help|-h Show the help. Btrfs v0.19-5-ge9e04d6-dirty $ man btrfs | cat BTRFS(8) btrfs BTRFS(8) NAME btrfs - control a btrfs filesystem SYNOPSIS btrfs snapshot|-s <source> [<dest>/]<name> btrfs delete|-D <subvolume> btrfs create|-S [<dest>/]<name> btrfs defrag|-d <file>|<dir> [<file>|<dir>...] btrfs fssync|-c <path> btrfs resize|-r [+/-]<size>[gkm]|max <filesystem> btrfs scan|-a [<device> [<device>..]] btrfs show|-l <dev>|<label> [<dev>|<label>...] btrfs balance|-b <path> btrfs add-dev|-A <dev> [<dev>..] <path> btrfs rm-dev|-R <dev> [<dev>..] <path> ] btrfs help|--help|-h DESCRIPTION btrfs is used to control the filesystem and the files and directories stored. It is the tool to create or destroy a new snapshot or a new subvolume for the filesystem, to defrag a file or a directory, to flush the dato to the disk, to resize a filesystem, to scan the devive OPTIONS snapshot|-s <source> [<dest>/]<name> Create a writeble snapshot of the subvolume <source> with the name <name> in the <dest> directory. If <source> is not a sub‐ volume, btrfs returns an error. delete|-D <subvolume> Delete the subvolume <subvolume>. If <subvolume> is not a sub‐ volume, btrfs returns an error. create|-S [<dest>/]<name> Create a subvolume in <dest> (or in the current directory if <dest> is not passed). defrag|-d <file>|<dir> [<file>|<dir>...] Defragment files and/or directories. scan|-a [<device> [<device>..]] Scan devices for a btrfs filesystem. If no devices are passed, btrfs scans all the block devices. fssync|-c <path> Force a sync for the filesystem identified by <path>. resize|-r [+/-]<size>[gkm]|max <filesystem> Resize a file system indentified by <path>. The <size> parame‐ ter specifies the new size of the filesystem. If the prefix + or - is present the size is increased or decreased by the quan‐ tity <size>. If no units are specified, the unit of the <size> parameter is the byte. Optionally, the size parameter may be suffixed by one of the following the units designators: 'K', 'M', or 'G', kilobytes, megabytes, or gigabytes, respectively. If 'max' is passed, the filesystem will occupe all available space on the volume(s). The resize command does not manipulate the size of underlying partitions. If you wish to enlarge/reduce a filesystem, you must make sure you can expand/reduce the size of the partition also. show|-l [<dev>|<label>...] Show the btrfs devices with some additional info. If no devices or labels are passed, btrfs scans all the block devices. balance|-b <path> Balance the chunk of the filesystem identified by <path> across the devices. add-dev|-A <dev> [<dev>..] <path> Add device(s) to the filesystem identified by <path>. rm-dev|-R <dev> [<dev>..] <path> Remove device(s) to the filesystem identified by <path>. EXIT STATUS btrf returns a zero exist status if it succeeds. Non zero is returned in case of failure. AVAILABILITY btrfs is part of btrfs-progs. Btrfs filesystem is currently under heavy development, and not suitable for any uses other than benchmarking and review. Please refer to the btrfs wiki http://btrfs.wiki.kernel.org for further details. SEE ALSO mkfs.btrfs(8) btrfs BTRFS(8) -- gpg key@ keyserver.linux.it: Goffredo Baroncelli (ghigo) <kreijackATinwind.it> Key fingerprint = 4769 7E51 5293 D36C 814E C054 BF04 F161 3DC5 0512 -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html