On Thu, Feb 18, 2010 at 12:58 PM, Chris Mason <chris.ma...@oracle.com> wrote: > On Thu, Feb 18, 2010 at 12:46:56PM -0800, Mike Fedyk wrote: >> On Thu, Feb 18, 2010 at 11:59 AM, Goffredo Baroncelli >> <kreij...@gmail.com> wrote: >> > On Thursday 18 February 2010, Chris Mason wrote: >> >> I do like the subcommand method, more details below. >> >> >> > >> > I try to summarise your suggestions. But there are some cases not to clear >> > for >> > me. >> > I grouped the commands in three categories: subvolume, devices, and >> > filesystem. >> > >> > >> > devices scan >> > devices show >> > devices balance >> > devices add >> > devices remove >> > >> > subvolume snapshot >> > subvolume delete >> > subvolume create >> > [subvolume list] >> > >> > filesystem resize >> > [filesystem label] >> > >> > ??? defrag >> > ??? sync >> > >> > >> > >> > For the first two categories both Chris and Mike agreed; but IMHO there are >> > some commands that don't fit nor in devices, nor subvolume, like resize (we >> > resize a filesystem) and label (not available now). >> > >> >> A btrfs filesystem can span multiple devices. Resize resizes how big >> of a chunk of one device btrfs uses. > > Right, resize is actually always per device. When there is one device > resizing the FS and the device are the same thing. > >> This would be used by >> partitioning programs for instance. zfs uses the term "pool" instead >> of filesystem to solve this ambiguous use of the term "filesystem" >> since btrfs and zfs break people's existing definition of the word >> "filesystem". >> >> > I don't know how classify defrag (per file / directory level ?) and sync >> > (filesystem ?) >> >> It turns out that defrag is per file, which seems most cumbersome. >> Maybe since it will probably eventually work against several types of >> objects we could have: >> >> btrfs defrag file <file> >> btrfs defrag directory <directory> >> btrfs defrag subvol <subvol> > > I like these, although we don't currently support the directory/subvol > side. But we can leave the option open to add these later. > >> btrfs defrag pool <pool> > > I don't think we'll need defrag pool. > >> >> > >> > An option is to consider commands without classification. For examples: >> > >> > $ btrfs subvolume create [path/]<subvolname> >> > $ btrfs sync <path> >> > $ btrfs defrag <file> >> >> Maybe if the btrfs developers are agreeable, we could do this as well: >> >> btrfs sync file <file> >> btrfs sync directory <directory> > > fsync on files and dirs already does this, we don't need a btrfsctl for > it. >
How do you fsync a file/dir from a shell script? Maybe that's a generic tool that needs to be created... >> btrfs sync subvol <subvol> > > btrfs sync subvol is nice. > >> btrfs sync pool <pool> >> > > I don't think we need sync pool. > I honestly can't think of a use for it, but I'll bet it'll come in handy for some weird case while running on top of iscsi or some such topology. -- 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