Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752320AbbEHF2u (ORCPT ); Fri, 8 May 2015 01:28:50 -0400 Received: from mailout4.samsung.com ([203.254.224.34]:36055 "EHLO mailout4.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751573AbbEHF2p (ORCPT ); Fri, 8 May 2015 01:28:45 -0400 X-AuditID: cbfee68e-f79c56d000006efb-38-554c498a1e0c From: Namjae Jeon To: Michael Kerrisk Cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-man@vger.kernel.org, Linux API , Dave Chinner , "Theodore Ts'o" Subject: [PATCH v3] manpage: update FALLOC_FL_INSERT_RANGE flag in fallocate Date: Fri, 08 May 2015 14:28:42 +0900 Message-id: <009201d0894f$d87f0890$897d19b0$@samsung.com> MIME-version: 1.0 Content-type: text/plain; charset=us-ascii Content-transfer-encoding: 7bit X-Mailer: Microsoft Outlook 14.0 Thread-index: AdCJT4zh6qiiRRJ2ReC3DQsi9ED9/Q== Content-language: ko X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrBIsWRmVeSWpSXmKPExsWyRsSkSLfL0yfUoGuihMWWY/cYLTZ/72Cz 2LP3JIvF5V1z2CzWrJ/BbnFqwgN2i9aen+wO7B6nFkl47Jx1l92j6cxRZo/Pm+QCWKK4bFJS czLLUov07RK4Mh4ePcha8ESmYu6a+gbGKeJdjJwcEgImEst+L2aDsMUkLtxbD2RzcQgJLGWU +NywgAWmaO+SxVCJ6YwS/1deY4dw3jNKPJ35g7GLkYODTUBb4s8WUZAGEQEdiZ+XZrGC2MwC JxglLp4G2yYs4COxft8bRhCbRUBVonHdfnYQm1fAUuLO8SY2CFtQ4sfkeywQvVoS63ceZ4Kw 5SU2r3nLDHGQgsSOs68ZIXbpSVz7d5MNokZEYt+Ld4wgt0kIHGKXuDxnBRvEMgGJb5MPsYDc KSEgK7HpANQcSYmDK26wTGAUm4Vk9Swkq2chWT0LyYoFjCyrGEVTC5ILipPSi4z0ihNzi0vz 0vWS83M3MQIj8PS/Z307GG8esD7EKMDBqMTD+4DVJ1SINbGsuDL3EKMp0EUTmaVEk/OBcZ5X Em9obGZkYWpiamxkbmmmJM6bIPUzWEggPbEkNTs1tSC1KL6oNCe1+BAjEwenVAOjo+3j9Lup kne29lwIfpZbZy/D4L5XMGy/v4l51C7vFfbZ6yMeJ87fG7KhzX0b8yMGuYPmDJpZU7a96lj4 tXnRFt9tMp8OylW+j1hU6/f42ise3s95e87dvSKokPO6emHb4fdxeTf2TRf7y7sg3ke9vaXj u9mUd7++b3Y4btb18OlFxn3efFu/K7EUZyQaajEXFScCAHzH/3W7AgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrEIsWRmVeSWpSXmKPExsVy+t9jQd0uT59Qg+cHhCy2HLvHaLH5eweb xZ69J1ksLu+aw2axZv0MdotTEx6wW7T2/GR3YPc4tUjCY+esu+weTWeOMnt83iQXwBLVwGiT kZqYklqkkJqXnJ+SmZduq+QdHO8cb2pmYKhraGlhrqSQl5ibaqvk4hOg65aZA3SBkkJZYk4p UCggsbhYSd8O04TQEDddC5jGCF3fkCC4HiMDNJCwhjHj4dGDrAVPZCrmrqlvYJwi3sXIySEh YCKxd8liNghbTOLCvfVANheHkMB0Ron/K6+xQzjvGSWezvzB2MXIwcEmoC3xZ4soSIOIgI7E z0uzWEFsZoETjBIXT4MNFRbwkVi/7w0jiM0ioCrRuG4/O4jNK2Apced4ExuELSjxY/I9Fohe LYn1O48zQdjyEpvXvGWGOEhBYsfZ14wQu/Qkrv27yQZRIyKx78U7xgmMArOQjJqFZNQsJKNm IWlZwMiyilE0tSC5oDgpPddQrzgxt7g0L10vOT93EyM4vp9J7WBc2WBxiFGAg1GJh/cBq0+o EGtiWXFl7iFGCQ5mJRFeczWgEG9KYmVValF+fFFpTmrxIUZToE8nMkuJJucDU09eSbyhsYmZ kaWRuaGFkbG5kjjvHF25UCGB9MSS1OzU1ILUIpg+Jg5OqQbG0DPOPZ6lbdPEzizalGrUdEP1 wEVR4fVe3P9UWPf1fJ6VYbPg4O+pved0bzz4xbT1S2aI7oFHGS5bnpgnNbUqXfm368zT32mZ DpHGbQe6j7B2Viof1ZY3bdHoYn317ze3758tuSo7tuT4zl17cv+8q25qd05kPqs40i89tc9l 9vKOavtFYr/nKLEUZyQaajEXFScCALOYOOkFAwAA DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3774 Lines: 160 Update FALLOC_FL_INSERT_RANGE flag in fallocate. Signed-off-by: Namjae Jeon Signed-off-by: Ashish Sangwan --- man2/fallocate.2 | 89 ++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 84 insertions(+), 5 deletions(-) diff --git a/man2/fallocate.2 b/man2/fallocate.2 index 0cc1a00..0d31027 100644 --- a/man2/fallocate.2 +++ b/man2/fallocate.2 @@ -228,6 +228,59 @@ ext4, for extent-based files (since Linux 3.15) .IP * SMB3 (since Linux 3.17) .\" commit 30175628bf7f521e9ee31ac98fa6d6fe7441a556 +.SS Increasing file space +flag (available since Linux 4.1) +.\" commit dd46c787788d5bf5b974729d43e4c405814a4c7d +Specifying the +.BR FALLOC_FL_INSERT_RANGE +flag in +.I mode +will increase the file space by inserting a hole within the file size without +overwriting any existing data. +The hole will start at +.I offset +and continue for +.I len +bytes. +For inserting hole inside file, the contents of the file starting at +.I offset +will be shifted towards right by +.I len +bytes. +Inserting a hole inside the file will increase the file size by +.I len +bytes. + +This mode has the same limitation as +.BR FALLOC_FL_COLLAPSE_RANGE +regarding the +granularity of the operation. +If the granularity requirements are not met, +.BR fallocate () +will fail with the error +.BR EINVAL. +If the +.I offset +is greater than or equal to the end of file, an error is +returned. +For such type of operations, i.e. inserting a hole at the end of file, +.BR ftruncate(2) +should be used. +In case +.IR offset + len +exceeds the maximum file size, errno will be set to +.B EFBIG. + +No other flags may be specified in +.IR mode +in conjunction with +.BR FALLOC_FL_INSERT_RANGE . + +As of Linux 4.1, +.B FALLOC_FL_INSERT_RANGE +is supported by +XFS. +.\" commit a904b1ca5751faf5ece8600e18cd3b674afcca1b .SH RETURN VALUE On success, .BR fallocate () @@ -245,6 +298,12 @@ is not a valid file descriptor, or is not opened for writing. .IR offset + len exceeds the maximum file size. .TP +.B EFBIG +.I mode +is +.BR FALLOC_FL_INSERT_RANGE , +the current file size+len exceeds the maximum file size. +.TP .B EINTR A signal was caught during execution. .TP @@ -273,7 +332,17 @@ reaches or passes the end of the file. .B EINVAL .I mode is -.BR FALLOC_FL_COLLAPSE_RANGE , +.BR FALLOC_FL_INSERT_RANGE +and the range specified by +.I offset +reaches or passes the end of the file. +.TP +.B EINVAL +.I mode +is +.BR FALLOC_FL_COLLAPSE_RANGE +or +.BR FALLOC_FL_INSERT_RANGE , but either .I offset or @@ -282,18 +351,24 @@ is not a multiple of the filesystem block size. .TP .B EINVAL .I mode -contains both +contains either of .B FALLOC_FL_COLLAPSE_RANGE +or +.B FALLOC_FL_INSERT_RANGE and other flags; no other flags are permitted with -.BR FALLOC_FL_COLLAPSE_RANGE . +.BR FALLOC_FL_COLLAPSE_RANGE +or +.BR FALLOC_FL_INSERT_RANGE . .TP .B EINVAL .I mode is .BR FALLOC_FL_COLLAPSE_RANGE or -.BR FALLOC_FL_ZERO_RANGE , +.BR FALLOC_FL_ZERO_RANGE +or +.BR FALLOC_FL_INSERT_RANGE , but the file referred to by .I fd is not a regular file. @@ -345,6 +420,8 @@ specifies .BR FALLOC_FL_PUNCH_HOLE or .BR FALLOC_FL_COLLAPSE_RANGE +or +.BR FALLOC_FL_INSERT_RANGE and the file referred to by .I fd @@ -363,7 +440,9 @@ refers to a pipe or FIFO. .B ETXTBSY .I mode specifies -.BR FALLOC_FL_COLLAPSE_RANGE , +.BR FALLOC_FL_COLLAPSE_RANGE +or +.BR FALLOC_FL_INSERT_RANGE , but the file referred to by .IR fd is currently being executed. -- 1.8.5.5 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/