Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751644AbbEGFPt (ORCPT ); Thu, 7 May 2015 01:15:49 -0400 Received: from mailout3.samsung.com ([203.254.224.33]:46956 "EHLO mailout3.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750841AbbEGFPo (ORCPT ); Thu, 7 May 2015 01:15:44 -0400 X-AuditID: cbfee68d-f79106d00000728c-6b-554af4feb263 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 v2] manpage: update FALLOC_FL_INSERT_RANGE flag in fallocate Date: Thu, 07 May 2015 14:15:41 +0900 Message-id: <006d01d08884$dcfc7ea0$96f57be0$@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: AdCIhGlTXSAyP04jTUO5BJs1+fxCdA== Content-language: ko X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrBIsWRmVeSWpSXmKPExsWyRsSkWPffF69Qg8YNXBZbjt1jtNj8vYPN Ys/ekywWl3fNYbNYs34Gu8WpCQ/YLVp7frI7sHucWiThsXPWXXaPpjNHmT0+b5ILYInisklJ zcksSy3St0vgyli49AhTwXeZiobHp9kbGBeLdzFyckgImEicPr2VEcIWk7hwbz1bFyMXh5DA UkaJ/V0f2WCKlp56ygiRmM4ose7KWVYI5z2jxNQje5m6GDk42AS0Jf5sEQVpEBHQkfh5aRYr iM0scIJR4uJpsG3CAj4Sd6c+BtvGIqAq8fXYUSYQm1fAUuLr1O0sELagxI/J91ggerUk1u88 zgRhy0tsXvOWGeIgBYkdZ18zgqwVEdCTuP68HKJERGLfi3dgd0oIHGOXuHO3gQ1il4DEt8mH WEDqJQRkJTYdgBojKXFwxQ2WCYxis5BsnoVk8ywkm2chWbGAkWUVo2hqQXJBcVJ6kaFecWJu cWleul5yfu4mRmAEnv73rHcH4+0D1ocYBTgYlXh4BXZ6hQqxJpYVV+YeYjQFumgis5Rocj4w zvNK4g2NzYwsTE1MjY3MLc2UxHkVpX4GCwmkJ5akZqemFqQWxReV5qQWH2Jk4uCUamCM2Vlz utFr1ZkTrd1hd2K31M0Ot5/06oC65iSh2PfXQuTfnWf7GHi77NvbKrsU5X9x2794/+UonZKV 91Snuz1WQ9FuWqp87+qfv9x3/Praa2x0YsV/tg1tT7JEH0sv4QzliN4Te7bT0s2Vl3lJyvvf LaXn7H3Y7rWb8nB386bzqiVrykz3jFZiKc5INNRiLipOBAABt2VPuwIAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrEIsWRmVeSWpSXmKPExsVy+t9jQd1/X7xCDZ59YLHYcuweo8Xm7x1s Fnv2nmSxuLxrDpvFmvUz2C1OTXjAbtHa85Pdgd3j1CIJj52z7rJ7NJ05yuzxeZNcAEtUA6NN RmpiSmqRQmpecn5KZl66rZJ3cLxzvKmZgaGuoaWFuZJCXmJuqq2Si0+ArltmDtAFSgpliTml QKGAxOJiJX07TBNCQ9x0LWAaI3R9Q4LgeowM0EDCGsaMhUuPMBV8l6loeHyavYFxsXgXIyeH hICJxNJTTxkhbDGJC/fWs3UxcnEICUxnlFh35SwrhPOeUWLqkb1MXYwcHGwC2hJ/toiCNIgI 6Ej8vDSLFcRmFjjBKHHxNNhQYQEfibtTH4MNZRFQlfh67CgTiM0rYCnxdep2FghbUOLH5Hss EL1aEut3HmeCsOUlNq95ywxxkILEjrOvGUHWigjoSVx/Xg5RIiKx78U7xgmMArOQTJqFZNIs JJNmIWlZwMiyilE0tSC5oDgpPddQrzgxt7g0L10vOT93EyM4vp9J7WBc2WBxiFGAg1GJh1dg p1eoEGtiWXFl7iFGCQ5mJRHe60+BQrwpiZVVqUX58UWlOanFhxhNgR6dyCwlmpwPTD15JfGG xiZmRpZG5oYWRsbmSuK8c3TlQoUE0hNLUrNTUwtSi2D6mDg4pRoYefXyxO0u9v971iY0Z72K r9vKiy++CmW9SOmYsUw/knFiwxunxYz9bItOTZ5/8auwz7XpTz3CX8bf5VtQ2qWv8W+h71O1 eRV7nCvSTk3/rbrvwL9nms2rLXbmHrY7dU+tKulb1Px7Uw85Vzxf3OPOqZH4/OKyd6W7Ve7f Exa7Hs9/uSHOk6WkR4mlOCPRUIu5qDgRAF2myBwFAwAA 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: 3793 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 +overlaps with end of file OR if it is greater than 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/