public inbox for linux-btrfs@vger.kernel.org
 help / color / mirror / Atom feed
From: Goffredo Baroncelli <kreijack@gmail.com>
To: Chris Mason <chris.mason@oracle.com>, linux-btrfs@vger.kernel.org
Cc: Thomas Kupper <thomas@kupper.org>,
	"Dipl.-Ing. Michael Niederle" <mniederle@gmx.at>,
	rk <rkasl@computer.org>, Mike Fedyk <mfedyk@mikefedyk.com>
Subject: [PATCH 0/2 V2] btrfs: a new tool to manage a btrfs filesystem
Date: Wed, 17 Feb 2010 21:02:17 +0100	[thread overview]
Message-ID: <201002172102.17816.kreijack@libero.it> (raw)

Hi all,

enclosed in the next two emails you can find two patches which introduc=
e a new=20
program called "btrfs". This program has the ambitious to replace the=20
utilities of the btrfs-prog package, like:
- btrfsctl
- btrfs-show
- btrfs-volume
- btrfs

The goals are:
- improve the usability of the tools=20
- 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

On the basis of the feedback of the previous patches I rearranged some =
"short=20
command name" (-s, -c ...) in order to avoid collision. I renamed also =
the=20
command "create" in "subvolume" (and the relative short command name fr=
om '-S'=20
to '-c' :-) ).

Chris, do you think that these patches are mergeable ?

Comments are welcome.

BR
Goffredo
---

 Makefile       |    5
 btrfs.c        |  775 ++++++++++++++++++++++++++++++++++++++++++++++++=
+++++
 man/Makefile   |    5
 man/btrfs.8.in |  122 ++++++++
 4 files changed, 905 insertions(+), 2 deletions(-)

--

Example of use:
$ btrfs
Usage:
        btrfs snapshot|-s [<dest>/]<name>
                Create a writeble snapshot of the subvolume <source> wi=
th
                the name <name> in the <dest> directory.
        btrfs delete|-D <subvolume>
                Delete the subvolume <subvolume>.
        btrfs subvolume|-c [<dest>/]<name>
                Create a subvolume in <dest> (or the current directory =
if
                not passed).
        btrfs defrag|-f <file>|<dir> [<file>|<dir>...]
                Defragment a file or a directory.
        btrfs scan|-n [<device> [<device>..]
                Scan all device for or the passed device for a btrfs
                filesystem.
        btrfs fssync|-y <path>
                Force a fs sync on the filesystem <path>
        btrfs resize|-z [+/-]<newsize>[gkm]|max <filesystem>
                Resize the file system. If 'max' is passed, the filesys=
tem
                will occupe all available space on the device.
        btrfs show|-l [<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 rm-dev|-R <dev> [<dev>..] <path>
                Remove a device to a filesystem

        btrfs help|--help|-h
                Show the help.

Btrfs v0.19-12-g7e4c8e8-dirty




BTRFS(8)                             btrfs                            B=
TRFS(8)



NAME
       btrfs - control a btrfs filesystem

SYNOPSIS
       btrfs  snapshot|-s  <source> [<dest>/]<name>

       btrfs  delete|-D  <subvolume>

       btrfs  subvolume|-c  [<dest>/]<name>

       btrfs  defrag|-f  <file>|<dir> [<file>|<dir>...]

       btrfs  fssync|-y  <path>

       btrfs  resize|-z  [+/-]<size>[gkm]|max <filesystem>

       btrfs  scan|-n  [<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 dire=
ctories
       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, t=
o flush
       the dato to the disk, to resize the filesystem, to scan the devi=
ce.   =20


OPTIONS
       snapshot|-s <source> [<dest>/]<name>
              Create a writeble snapshot of the subvolume  <source>  wi=
th  the
              name  <name>  in the <dest> directory. If <source> is not=
 a sub=E2=80=90
              volume, btrfs returns an error.                          =
      =20


       delete|-D <subvolume>
              Delete the subvolume <subvolume>. If <subvolume> is not  =
a  sub=E2=80=90
              volume, btrfs returns an error.                          =
      =20


       subvolume|-c [<dest>/]<name>
              Create  a  subvolume  in  <dest> (or in the current direc=
tory if
              <dest> is not passed).                                   =
      =20


       defrag|-f <file>|<dir> [<file>|<dir>...]
              Defragment files and/or directories.


       scan|-n [<device> [<device>..]]
              Scan devices for a btrfs filesystem. If no devices  are  =
passed,
              btrfs scans all the block devices.                       =
      =20


       fssync|-y <path>
              Force a sync for the filesystem identified by <path>.



       resize|-z [+/-]<size>[gkm]|max <filesystem>
              Resize a file system identified by <path>.  The <size> pa=
rameter
              specifies the new size of the filesystem.  If the prefix =
+ or  -
              is  present  the  size is increased or decreased by the q=
uantity
              <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, respecti=
vely. =20

              If  'max'  is  passed,  the filesystem will occupy all av=
ailable
              space on the volume(s).                                  =
      =20

              The resize command does not manipulate the  size  of  und=
erlying
              partitions.   If  you  wish  to enlarge/reduce a filesyst=
em, you
              must make sure you can expand/reduce the size of  the  pa=
rtition
              also.                                                    =
      =20


       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 r=
eturned
       in case of failure.


AVAILABILITY
       btrfs is part of btrfs-progs. Btrfs filesystem is currently unde=
r heavy
       development,  and not suitable for any uses other than benchmark=
ing and
       review.  Please refer to the  btrfs  wiki  http://btrfs.wiki.ker=
nel.org
       for further details.

SEE ALSO
       mkfs.btrfs(8)



btrfs                                                                 B=
TRFS(8)

--=20
gpg key@ keyserver.linux.it: Goffredo Baroncelli (ghigo) <kreijackATinw=
ind.it>
Key fingerprint =3D 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 majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

             reply	other threads:[~2010-02-17 20:02 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-02-17 20:02 Goffredo Baroncelli [this message]
2010-02-17 20:48 ` [PATCH 0/2 V2] btrfs: a new tool to manage a btrfs filesystem Andreas Philipp
2010-02-17 21:00   ` Goffredo Baroncelli
2010-02-17 23:35 ` Mike Fedyk
2010-02-18  9:45   ` Piavlo
2010-02-18 16:58   ` Chris Mason
2010-02-18 17:58     ` Mike Fedyk
2010-02-18 18:20       ` Thomas Kupper
2010-02-18 19:59     ` Goffredo Baroncelli
2010-02-18 20:46       ` Mike Fedyk
2010-02-18 20:58         ` Chris Mason
2010-02-18 21:04           ` Goffredo Baroncelli
2010-02-18 21:39           ` Mike Fedyk
2010-02-18 21:25         ` Tomasz Torcz
2010-02-18 21:00     ` Goffredo Baroncelli

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201002172102.17816.kreijack@libero.it \
    --to=kreijack@gmail.com \
    --cc=chris.mason@oracle.com \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=mfedyk@mikefedyk.com \
    --cc=mniederle@gmx.at \
    --cc=rkasl@computer.org \
    --cc=thomas@kupper.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox