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

Reply via email to