From patchwork Thu Oct 4 17:27:59 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Goffredo Baroncelli X-Patchwork-Id: 1547231 Return-Path: X-Original-To: patchwork-linux-btrfs@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork1.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork1.kernel.org (Postfix) with ESMTP id 7DB1E40D2D for ; Thu, 4 Oct 2012 17:28:14 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932145Ab2JDR2K (ORCPT ); Thu, 4 Oct 2012 13:28:10 -0400 Received: from mail-bk0-f46.google.com ([209.85.214.46]:48842 "EHLO mail-bk0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751614Ab2JDR2I (ORCPT ); Thu, 4 Oct 2012 13:28:08 -0400 Received: by mail-bk0-f46.google.com with SMTP id jk13so464290bkc.19 for ; Thu, 04 Oct 2012 10:28:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:x-mailer:in-reply-to:references; bh=5YSTbWbOHykGOjGduFO3PigpJjZAoQx4nAKG7hZmaMk=; b=R/EZAWZFfpCoKNnE+fzDKfKhEaDj4KesQWakepGF7V15mqWO6FjU8nYBKjgVKbr5X3 lTgreP0WCVf5wIRi0B7r69qUM9wGgEs0bNWuW2oNZZthg9OINdAZylStD434x9dsyXM0 4YDNawYlH9tO9P99kJPsV5KQQDdkY2cf1VelPU9HUuZWihiaSKp2YzrV5BYpstZXLkzd w+QDV1tKikOHNMgbn/QJGCBl692zyKL53Mn8NFn7ILrOkq80JVB+t3WU1/TXDFMhtxzx lLQbfz9OWp0hhfzjIiva6wO64cBzZztGLLqGUqyemUz4E6GxC0w4pvNuiEPJmT/1GbYl BWnw== Received: by 10.204.147.5 with SMTP id j5mr2022205bkv.21.1349371687299; Thu, 04 Oct 2012 10:28:07 -0700 (PDT) Received: from venice..bhome (host158-224-dynamic.53-79-r.retail.telecomitalia.it. [79.53.224.158]) by mx.google.com with ESMTPS id t27sm6256418bkv.10.2012.10.04.10.28.05 (version=SSLv3 cipher=OTHER); Thu, 04 Oct 2012 10:28:06 -0700 (PDT) From: Goffredo Baroncelli To: Chris Mason Cc: Hugo Mills , Roman Mamedov , =?UTF-8?B?U8OpYmFzdGllbiBNYXVyeQ==?= , Ilya Dryomov , linux-btrfs@vger.kernel.org, Goffredo Baroncelli Subject: [PATCH 2/2] Update help page Date: Thu, 4 Oct 2012 19:27:59 +0200 Message-Id: <1349371679-10775-3-git-send-email-kreijack@inwind.com> X-Mailer: git-send-email 1.7.10.4 In-Reply-To: <1349371679-10775-1-git-send-email-kreijack@inwind.com> References: <1349371679-10775-1-git-send-email-kreijack@inwind.com> Sender: linux-btrfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-btrfs@vger.kernel.org From: Goffredo Baroncelli --- man/btrfs.8.in | 100 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 100 insertions(+) diff --git a/man/btrfs.8.in b/man/btrfs.8.in index 4b0a9f9..96c9239 100644 --- a/man/btrfs.8.in +++ b/man/btrfs.8.in @@ -27,6 +27,8 @@ btrfs \- control a btrfs filesystem .PP \fBbtrfs\fP \fBfilesystem label\fP\fI [newlabel]\fP .PP +\fBbtrfs\fP \fBfilesystem df\fP\fI [-k] \fIpath [path..]\fR\fP +.PP \fBbtrfs\fP \fBsubvolume find-new\fP\fI \fP .PP \fBbtrfs\fP \fBfilesystem balance\fP\fI \fP @@ -214,6 +216,104 @@ NOTE: Currently there are the following limitations: - the filesystem should not have more than one device. .TP +\fBfilesystem df\fP [-k] \fIpath [path..]\fR + +Show space usage information for a mount point. + +\fIOptions\fP + +\fB-k\fP Set KB (1024 bytes) as unit + +\fIUsage information\fP + +.\" +.\" this section is extract from +.\" http://en.wikipedia.org/wiki/Btrfs#Chunk_and_device_trees +The disk(s) of a btrfs filesystem are divided into chunks of 256 MB or more. +Chunks may be mirrored or striped across multiple devices, depending by +the allocation policy. +The mirroring/striping arrangement is transparent to the rest of the +file system, which simply sees the single, logical address space that +chunks are mapped into. +Chunks are allocated on demand. In the default allocation policy +the data chunks are not duplicated and the metadata chunks +are duplicated. This default can be changed during the filesystem +creation, and in general the chunks allocation policy may change +during the filesystem life. + +Depending by the allocation policy a chunk may require a space on +the disk greater than the logical space that it provides. E.g. +a chunk DUPlicated or with a RAID1/RAID10 level +requires a space on the disk +two times greater than the logical space provided. +Different RAID levels +have a different ratio disk-usage / logical space offered. + +Normally the file contents are stored in the Data chunks; however +small files (which fit into a btree leaf) are stored in the +metadata chunks. So the computation of the \fIfree space\fP +and \fIused space\fP +is complex: depending by the file size different +allocation policies are used. + +The command \fBbtrfs filesystem df\fP is used to query the status +of the chunks, how many space on the disk(s) are used by the chunks, +how many space are available in the chunks, and an estimation of the free +space of the filesystem. +The output of the command \fBbtrfs filesystem df\fP shows: + +.RS +.IP \fBDisk\ size\fP +the total size of the disks which compose the filesystem. + +.IP \fBDisk\ allocated\fP\ or\ \fBSize_(disk)\fP +the size of the area of the disks used by the chunks. + +.IP \fBDisk\ unallocated\fP +the size of the area of the disks which is free (i.e. +the differences of the values above). + +.IP \fBLogical\ size\fP\ or\ \fBSize_(logical)\fP +the available logical space of chunk. + +.IP \fBUsed\fP +the portion of the logical space used by the file and metadata. + +.IP \fBFree\ (estimated)\fP +the estimated free space available. The evaluation +cannot be rigorous because it depends by the allocation policy (DUP,Single, +RAID1...) of the metadata and data chunks. If every chunks is stored as +"Single" the sum of the \fBfree (estimated)\fP space and the \fBused\fP +space is equal to the \fBdisk size\fP. +Otherwise if all the chunk are mirrored (raid1 or raid10) or duplicated +the sum of the \fBfree (estimated)\fP space and the \fBused\fP space is +half of the \fBdisk size\fP. Normally the \fBfree (estimated)\fP is between +these two limits. + +.IP \fBData\ to\ disk\ ratio\fP +the ratio betwen the \fBlogical size\fP and the \fBdisk allocated\fP. + +.IP \fBMode\fP +the kind of allocation policy used by the chunk (e.g. DUPlicated, +RAID1, RAID10, Single....) + +.IP \fBChunk\ type\fP +the kind of chunk (Data, Metdata, System...) + +.RE +.RS +\fINOTE\fP + +When a chunk is allocated, its disk-area is used and its allocation +policy is fixed. +A rebalance operation could rearrange the chunks, moving data in the chunks +and resizing the allocated chunks. This causes the change of all the values +discussed above, with the exception of the \fBused\fP and +\fBdisk size\fP values. + +.RE +.TP + \fBfilesystem show\fR [--all-devices||