Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp138817pxk; Wed, 2 Sep 2020 17:12:47 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzmZGzh8oeo8IvaUTV5biYpFHrir0XytsuM98YlqIRxYQhjlZmLB0VaiqLjS1qg6V/9aQaq X-Received: by 2002:a17:906:61b:: with SMTP id s27mr648534ejb.176.1599091967093; Wed, 02 Sep 2020 17:12:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1599091967; cv=none; d=google.com; s=arc-20160816; b=dKJSijB952EBwkzgmgRIcXm89vMcjP3W3Yfpi1HpaQSs4MuS9bj5nCWiFZNcM3fAgo qj3IxOEvojkviwxrpSOYrvAhb6skFGmcHlBfuIxGanNvwL9e/m0gJi13wT30M4Qj6nKb DD1EYpgsSy2eFfxvgVVp/QL6LFDwRV+vQGl3DA2cl4YC9KCNZC9R3CtgGrn6dhjy0Pw+ cOLlTBPI7DPIuYiLlijxDZw6FN5ioyv99dJJk7jQdq9l/VO6ZuujJ+Wk62YtV0d+4bPS tx+zgdOOE9kYrxENLWYJ71uaaRr3mlBAhmcyBsEh301U25otBtBo4dKjqDtfWcvPHa5h IFeQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:mime-version:user-agent:date:message-id:subject :from:to:dkim-signature; bh=hGdtzWTOJH/xJcqDn9+d+LpRsI61qKyrC0kC6O8SEnc=; b=lN9wUWfejbovRSxRC2IuLeHFRpt5gcs3/hBMnDsgHBX6JsmWMVdaPeVtOsscibcx7p G4g62XZQr79Ama20Q9JBMofgsWlecYShgDRhouhquE+Brx6VaoHmt6+ZkdCIsHhbJOAj rPuhPF22ivQj5Cn7yQ9hdD/EnDq2+P4hxKhmicXx+NKpqJ7ZLeaXMzXWJLFP1oeObnDD DwH68aEpGvJF3YK5uv5LmbM28AWsyfa9tKQtnv2QBSKFDPvs5eaN3Ram+8fjJeZeDZkU Ve68UpRqQZrugzdex1wuqwkXx5jgicbUxNUV59jSX727yzdwB7nAiTttoPTfQsofYWPx TIhg== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@infradead.org header.s=casper.20170209 header.b=wLliK9sM; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id i24si512880edr.73.2020.09.02.17.12.21; Wed, 02 Sep 2020 17:12:47 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=fail header.i=@infradead.org header.s=casper.20170209 header.b=wLliK9sM; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727088AbgICAIt (ORCPT + 99 others); Wed, 2 Sep 2020 20:08:49 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45244 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726377AbgICAIs (ORCPT ); Wed, 2 Sep 2020 20:08:48 -0400 Received: from casper.infradead.org (casper.infradead.org [IPv6:2001:8b0:10b:1236::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D09AEC061244; Wed, 2 Sep 2020 17:08:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=Content-Transfer-Encoding:Content-Type: MIME-Version:Date:Message-ID:Subject:From:To:Sender:Reply-To:Cc:Content-ID: Content-Description:In-Reply-To:References; bh=hGdtzWTOJH/xJcqDn9+d+LpRsI61qKyrC0kC6O8SEnc=; b=wLliK9sMwimpwUYSVeXDUCB8uU rZXRfMcu6yoTj+Wkjo8RgkaH7GWIwY6U0bvaj7DgVgJtjEYMYeDCaP4c6b+6OpXzE/cAB3IH0twe8 wAdDhPPGbx7lg8/JQqtZ0alwB2uVKaM7gqdB8PiJrPADJZkMdk/5HNd4DRQ5k8b6KYVX8MR6faTBp JUTnzXTzOxuVZRFo+czVDprNdTE6XnrdjMwy/c/7Bfprmhdr7TzeRw1tbcnZPXNy5JmVpEXHnC+pI XEx4INOXEwsHRYJW8d+BVjYojic5vQ8wS5TH3xAAbO1E45iVnpJjDjDQ/cHp77s6Qdc1Wx/LUYjuX V2hcz/Pw==; Received: from [2601:1c0:6280:3f0::19c2] by casper.infradead.org with esmtpsa (Exim 4.92.3 #3 (Red Hat Linux)) id 1kDcnq-0000Pp-B4; Thu, 03 Sep 2020 00:08:34 +0000 To: "linux-doc@vger.kernel.org" , LKML , Jaegeuk Kim , Chao Yu , linux-f2fs-devel@lists.sourceforge.net, Jonathan Corbet From: Randy Dunlap Subject: [PATCH] f2fs: Documentation edits/fixes Message-ID: <96f99afb-c54e-8f46-ebac-80a62f65b876@infradead.org> Date: Wed, 2 Sep 2020 17:08:31 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.11.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Randy Dunlap Correct grammar and spelling. Drop duplicate section for resize.f2fs. Change one occurrence of F2fs to F2FS for consistency. Signed-off-by: Randy Dunlap Cc: Jaegeuk Kim Cc: Chao Yu Cc: linux-f2fs-devel@lists.sourceforge.net --- Documentation/filesystems/f2fs.rst | 53 +++++++++++---------------- 1 file changed, 23 insertions(+), 30 deletions(-) --- linux-next-20200902.orig/Documentation/filesystems/f2fs.rst +++ linux-next-20200902/Documentation/filesystems/f2fs.rst @@ -127,14 +127,14 @@ active_logs=%u Support configuring the current design, f2fs supports only 2, 4, and 6 logs. Default number is 6. disable_ext_identify Disable the extension list configured by mkfs, so f2fs - does not aware of cold files such as media files. + is not aware of cold files such as media files. inline_xattr Enable the inline xattrs feature. noinline_xattr Disable the inline xattrs feature. inline_xattr_size=%u Support configuring inline xattr size, it depends on flexible inline xattr feature. -inline_data Enable the inline data feature: New created small(<~3.4k) +inline_data Enable the inline data feature: Newly created small (<~3.4k) files can be written into inode block. -inline_dentry Enable the inline dir feature: data in new created +inline_dentry Enable the inline dir feature: data in newly created directory entries can be written into inode block. The space of inode block which is used to store inline dentries is limited to ~3.4k. @@ -203,9 +203,9 @@ usrjquota= Appoint specified file grpjquota= information can be properly updated during recovery flow, prjjquota= : must be in root directory; jqfmt= : [vfsold,vfsv0,vfsv1]. -offusrjquota Turn off user journelled quota. -offgrpjquota Turn off group journelled quota. -offprjjquota Turn off project journelled quota. +offusrjquota Turn off user journalled quota. +offgrpjquota Turn off group journalled quota. +offprjjquota Turn off project journalled quota. quota Enable plain user disk quota accounting. noquota Disable all plain disk quota option. whint_mode=%s Control which write hints are passed down to block @@ -303,7 +303,7 @@ Usage # insmod f2fs.ko -3. Create a directory trying to mount:: +3. Create a directory to use when mounting:: # mkdir /mnt/f2fs @@ -339,7 +339,7 @@ The quick options consist of: 1 is set by default, which conducts discard. =============== =========================================================== -Note that, please refer manpage of mkfs.f2fs(8) to get full option list. +Note: please refer to the manpage of mkfs.f2fs(8) to get full option list. fsck.f2fs --------- @@ -352,7 +352,7 @@ The quick options consist of:: -d debug level [default:0] -Note that, please refer manpage of fsck.f2fs(8) to get full option list. +Note: please refer to the manpage of fsck.f2fs(8) to get full option list. dump.f2fs --------- @@ -377,43 +377,36 @@ Examples:: # dump.f2fs -s 0~-1 /dev/sdx (SIT dump) # dump.f2fs -a 0~-1 /dev/sdx (SSA dump) -Note that, please refer manpage of dump.f2fs(8) to get full option list. +Note: please refer to the manpage of dump.f2fs(8) to get full option list. sload.f2fs ---------- The sload.f2fs gives a way to insert files and directories in the exisiting disk image. This tool is useful when building f2fs images given compiled files. -Note that, please refer manpage of sload.f2fs(8) to get full option list. +Note: please refer to the manpage of sload.f2fs(8) to get full option list. resize.f2fs ----------- -The resize.f2fs can be used when user want to resize the f2fs-formatted disk -image, while keeping the stored files and directories. - -Note that, please refer manpage of resize.f2fs(8) to get full option list. - -resize.f2fs ------------ -The resize.f2fs let user resize the f2fs-formatted disk image, while preserving +The resize.f2fs lets a user resize the f2fs-formatted disk image, while preserving all the files and directories stored in the image. -Note that, please refer manpage of resize.f2fs(8) to get full option list. +Note: please refer to the manpage of resize.f2fs(8) to get full option list. defrag.f2fs ----------- -The defrag.f2fs can be used to defragmente scattered writtend data as well as +The defrag.f2fs can be used to defragment scattered written data as well as filesystem metadata across the disk. This can improve the write speed by giving more free consecutive space. -Note that, please refer manpage of defrag.f2fs(8) to get full option list. +Note: please refer to the manpage of defrag.f2fs(8) to get full option list. f2fs_io ------- The f2fs_io is a simple tool to issue various filesystem APIs as well as f2fs-specific ones, which is very useful for QA tests. -Note that, please refer manpage of f2fs_io(8) to get full option list. +Note: please refer to the manpage of f2fs_io(8) to get full option list. Design ====== @@ -427,7 +420,7 @@ consists of a set of sections. By defaul segment size identically, but users can easily modify the sizes by mkfs. F2FS splits the entire volume into six areas, and all the areas except superblock -consists of multiple segments as described below:: +consist of multiple segments as described below:: align with the zone size <-| |-> align with the segment size @@ -530,7 +523,7 @@ one inode block (i.e., a file) covers:: `- direct node (1018) `- data (1018) -Note that, all the node blocks are mapped by NAT which means the location of +Note that all the node blocks are mapped by NAT which means the location of each node is translated by the NAT table. In the consideration of the wandering tree problem, F2FS is able to cut off the propagation of node updates caused by leaf data writes. @@ -610,7 +603,7 @@ When F2FS finds a file name in a directo name is calculated. Then, F2FS scans the hash table in level #0 to find the dentry consisting of the file name and its inode number. If not found, F2FS scans the next hash table in level #1. In this way, F2FS scans hash tables in -each levels incrementally from 1 to N. In each levels F2FS needs to scan only +each levels incrementally from 1 to N. In each level F2FS needs to scan only one bucket determined by the following equation, which shows O(log(# of files)) complexity:: @@ -751,7 +744,7 @@ WRITE_LIFE_LONG " Fallocate(2) Policy ------------------- -The default policy follows the below posix rule. +The default policy follows the below POSIX rule. Allocating disk space The default operation (i.e., mode is zero) of fallocate() allocates @@ -764,7 +757,7 @@ Allocating disk space as a method of optimally implementing that function. However, once F2FS receives ioctl(fd, F2FS_IOC_SET_PIN_FILE) in prior to -fallocate(fd, DEFAULT_MODE), it allocates on-disk blocks addressess having +fallocate(fd, DEFAULT_MODE), it allocates on-disk block addressess having zero or random data, which is useful to the below scenario where: 1. create(fd) @@ -783,7 +776,7 @@ Compression implementation cluster can be compressed or not. - In cluster metadata layout, one special block address is used to indicate - cluster is compressed one or normal one, for compressed cluster, following + a cluster is a compressed one or normal one; for compressed cluster, following metadata maps cluster to [1, 4 << n - 1] physical blocks, in where f2fs stores data including compress header and compressed data. @@ -822,7 +815,7 @@ NVMe Zoned Namespace devices - ZNS defines a per-zone capacity which can be equal or less than the zone-size. Zone-capacity is the number of usable blocks in the zone. - F2fs checks if zone-capacity is less than zone-size, if it is, then any + F2FS checks if zone-capacity is less than zone-size, if it is, then any segment which starts after the zone-capacity is marked as not-free in the free segment bitmap at initial mount time. These segments are marked as permanently used so they are not allocated for writes and