On Thu, Feb 18, 2010 at 8:58 AM, Chris Mason <chris.ma...@oracle.com> wrote: > I do like the subcommand method, more details below. > > On Wed, Feb 17, 2010 at 03:35:26PM -0800, Mike Fedyk wrote: >> I think he need some command hierarchy here. >> >> On Wed, Feb 17, 2010 at 12:02 PM, Goffredo Baroncelli >> <kreij...@gmail.com> wrote: >> > 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. >> >> This should be "btrfs subvolume snapshot <source> [<dest>/]<name>". >> It only works on subvolumes. > > If we can type subvol instead of subvolume I like it. Basically the > perl/python arg parsing system where any short form of the command that > uniquely matches it is allowed. > > We keep the long forms but allow the user to pick a shorter form if it > isn't ambiguous. >
Yes, I agree. This is why I compared it with the ip command which does the same. >> >> > >> > >> > delete|-D <subvolume> >> > Delete the subvolume <subvolume>. If <subvolume> is not a >> > sub‐ >> > volume, btrfs returns an error. >> > >> >> This becomes: >> >> btrfs subvolume delete <subvolume> > > subvol del (same as above). > >> >> This works with snapshots as well. >> >> > >> > subvolume|-c [<dest>/]<name> >> > Create a subvolume in <dest> (or in the current directory >> > if >> > <dest> is not passed). >> >> btrfs subvolume create [<dest>/]<name> >> >> > >> > >> > defrag|-f <file>|<dir> [<file>|<dir>...] >> > Defragment files and/or directories. >> >> This will defrag individual files? Does it defrag a directory tree? >> Does it defrag a subvolume? Does it defrag a pool? > > For now lets change this to only do files. That's the only thing the > tool supports today. > >> >> > >> > >> > scan|-n [<device> [<device>..]] >> > Scan devices for a btrfs filesystem. If no devices are >> > passed, >> > btrfs scans all the block devices. >> >> btrfs pool scan [<device> [<device>..]] > > Instead of btrfs pool, please use btrfs dev > >> >> > >> > >> > fssync|-y <path> >> > Force a sync for the filesystem identified by <path>. >> > >> >> Does it sync a pool or subvolume? Assuming it works against >> subvolumes, it would be: >> >> btrfs subvolume sync <path> >> >> > >> > >> > resize|-z [+/-]<size>[gkm]|max <filesystem> >> > Resize a file system identified by <path>. The <size> >> > parameter >> > specifies the new size of the filesystem. If the prefix + or >> > - >> > is present the size is increased or decreased by the >> > quantity >> > <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 occupy 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. >> > >> >> This works with physical devices, not a pool or subvolume. I get the >> name "physical volume" from lvm. Also I think it should resize to max >> without arguments, in order to do that, the size argument would need >> to be the last argument. > > We don't have physical volumes and logical volumes the way lvm does, so > I'd like to avoid the pvolume theme. > >> >> It becomes: >> >> btrfs pvolume resize [+/-]<size>[gkm]|max <filesystem> >> >> Or: >> >> btrfs pvolume resize <filesystem> [[+/-]<size>[gkm]] > > btrfs dev resize > Dev works for me, I could only think of the lvm terms at the time. -- 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