From patchwork Wed Oct 3 17:22:32 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Goffredo Baroncelli X-Patchwork-Id: 1542871 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 197EB3FD56 for ; Wed, 3 Oct 2012 17:23:04 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965347Ab2JCRWl (ORCPT ); Wed, 3 Oct 2012 13:22:41 -0400 Received: from mail-bk0-f46.google.com ([209.85.214.46]:34268 "EHLO mail-bk0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S964969Ab2JCRWh (ORCPT ); Wed, 3 Oct 2012 13:22:37 -0400 Received: by mail-bk0-f46.google.com with SMTP id jk13so6281168bkc.19 for ; Wed, 03 Oct 2012 10:22:37 -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=mH9jeR5/+Q6PQhyoCH/Wqmqh61X/vVFhSllmgo1KeZs=; b=WOjrqqsYxRw31T8B7SYWVY+IwYpdYJLy+x2BDYWIV92K3mddm9YlpfFblFjaJJkeum Myf+7jxPVWJ2C0qyLSRseODyTvug/Hb0dLdolNPpuk/3yb/sPaZZW4fcRXO43/DIiVAp /Mc14wrZZI280jXETVB1rHRvhd45HwxLnYCN7oUIrEF7rvWYIF5tt0LGXQxe/xihfKP3 qYV82l0CO8+w1+c35X66O5T3Q062nvWZ+Vq/tLUiUf9Wm/gcqgMcAbF12LsLflR4eOBC WL1igPVG5qH5XLfgTzQ3HRPl+9VfmTBremGen84ig1CRbgpsqXztINJOs30ThxqZbV+t C2Bw== Received: by 10.204.130.146 with SMTP id t18mr793825bks.65.1349284957234; Wed, 03 Oct 2012 10:22:37 -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 e3sm4122736bks.7.2012.10.03.10.22.35 (version=SSLv3 cipher=OTHER); Wed, 03 Oct 2012 10:22:36 -0700 (PDT) From: Goffredo Baroncelli To: linux-btrfs@vger.kernel.org Cc: Hugo Mills , Roman Mamedov , =?UTF-8?B?U8OpYmFzdGllbiBNYXVyeQ==?= , Ilya Dryomov , Goffredo Baroncelli Subject: [PATCH 2/2] Update help page Date: Wed, 3 Oct 2012 19:22:32 +0200 Message-Id: <1349284952-6865-3-git-send-email-kreijack@inwind.com> X-Mailer: git-send-email 1.7.10.4 In-Reply-To: <1349284952-6865-1-git-send-email-kreijack@inwind.com> References: <1349284952-6865-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 | 94 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) diff --git a/man/btrfs.8.in b/man/btrfs.8.in index 4b0a9f9..0db588f 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 [-s|-d][-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,98 @@ NOTE: Currently there are the following limitations: - the filesystem should not have more than one device. .TP +\fBfilesystem df\fP [-s|-d][-k] \fIpath [path..]\fR + +Show space usage information for a mount point. + +\fIOptions\fP + +\fB-k\fP Set KB (1024 bytes) as unit + +\fB-s\fP Show the summary section only + +\fB-d\fP Show the detail section only + +\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. + +A chunk DUPlicated or with a RAID1/RAID10 level +requires a space two time greater than the logical one. Different RAID levels +have a different ratio disk-usage / logical space offered. + +Because some files (the small ones) are stored in the +metadata chunks 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 Disk\ size +the total size of the disks which compose the filesystem. + +.IP Disk\ allocated +the size of the area of the disks used by the chunks. + +.IP Disk\ unallocated +the size of the area of the disks which is free (i.e. +the differences of the values above). + +.IP Logical\ size +the available logical space of chunk. + +.IP Used +the portion of the logical space used by the file and metadata. + +.IP Free\ (estimated) +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 Data\ to\ disk\ ratio +the ratio betwen the \fBlogical size\fP and the \fBdisk allocated\fP. + +.IP Mode +the kind of allocation policy used by the chunk (e.g. DUPlicated, +RAID1, RAID10, Single....) + +.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||