linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Namjae Jeon <linkinjeon@gmail.com>
To: david@fromorbit.com, tytso@mit.edu
Cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-ext4@vger.kernel.org, xfs@oss.sgi.com,
	a.sangwan@samsung.com, bfoster@redhat.com,
	mtk.manpages@gmail.com, linux-man@vger.kernel.org,
	linux-api@vger.kernel.org, Namjae Jeon <linkinjeon@gmail.com>,
	Namjae Jeon <namjae.jeon@samsung.com>
Subject: [PATCH v10 0/12] fs: Introduce FALLOC_FL_INSERT_RANGE for fallocate
Date: Sun, 22 Feb 2015 00:45:42 +0900	[thread overview]
Message-ID: <1424533554-28024-1-git-send-email-linkinjeon@gmail.com> (raw)

From: Namjae Jeon <namjae.jeon@samsung.com>

In continuation of the work of making the process of non linear editing of
media files faster, we introduce here the new flag FALLOC_FL_INSERT_RANGE
for fallocate.

This flag will work opposite to the FALLOC_FL_COLLAPSE_RANGE flag.
As such, specifying FALLOC_FL_INSERT_RANGE flag will create new space inside file
by inserting a hole within the range specified by offset and len. 
User can write new data in this space. e.g. ads.
Like collapse range, currently we have the limitation that offset and len should
be block size aligned for both XFS and Ext4.

The semantics of the flag are :
1) It creates space within file by inserting a hole of  len bytes starting
   at offset byte without overwriting any existing data. All the data blocks
   from offset to EOF are shifted towards right to make hole space.
2) It should be used exclusively. No other fallocate flag in combination.
3) Offset and length supplied to fallocate should be fs block size aligned
   in case of xfs and ext4.
4) Insert range does not work for the case when offset is overlapping/beyond
   i_size. If the user wants to insert space at the end of file they are
   advised to use either ftruncate(2) or fallocate(2) with mode 0.
5) It increses the size of file by len bytes.


Namjae Jeon (12):
 fs: Add support FALLOC_FL_INSERT_RANGE for fallocate
 xfs: Add support FALLOC_FL_INSERT_RANGE for fallocate
 ext4: Add support FALLOC_FL_INSERT_RANGE for fallocate
 xfsprog: xfsio: update xfs_io manpage for FALLOC_FL_INSERT_RANGE
 xfstests: generic/042: Standard insert range tests
 xfstests: generic/043: Delayed allocation insert range
 xfstests: generic/044: Multi insert range tests
 xfstests: generic/045: Delayed allocation multi insert
 xfstests: generic/046: Test multiple fallocate insert/collapse range calls
 xfstests: fsstress: Add fallocate insert range operation
 xfstests: fsx: Add fallocate insert range operation
 manpage: update FALLOC_FL_INSERT_RANGE flag in fallocate
-- 
1.7.9.5

             reply	other threads:[~2015-02-21 15:45 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-21 15:45 Namjae Jeon [this message]
2015-02-21 15:45 ` [PATCH v10 3/12] ext4: Add support FALLOC_FL_INSERT_RANGE for fallocate Namjae Jeon
2015-02-21 15:45 ` [PATCH v10 4/12] xfsprog: xfsio: update xfs_io manpage for FALLOC_FL_INSERT_RANGE Namjae Jeon
2015-02-21 15:45 ` [PATCH v10 5/12] xfstests: generic/058: Standard insert range tests Namjae Jeon
     [not found] ` <1424533554-28024-1-git-send-email-linkinjeon-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-02-21 15:45   ` [PATCH v10 1/12] fs: Add support FALLOC_FL_INSERT_RANGE for fallocate Namjae Jeon
     [not found]     ` <1424533554-28024-2-git-send-email-linkinjeon-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-03-25  6:05       ` Dave Chinner
2015-02-21 15:45   ` [PATCH v10 2/12] xfs: " Namjae Jeon
2015-02-21 15:45   ` [PATCH v10 6/12] xfstests: generic/060: Delayed allocation insert range Namjae Jeon
2015-02-21 15:45 ` [PATCH v10 7/12] xfstests: generic/061: Multi insert range tests Namjae Jeon
2015-02-21 15:45 ` [PATCH v10 8/12] xfstests: generic/063: Delayed allocation multi insert Namjae Jeon
2015-02-21 15:45 ` [PATCH v10 9/12] xfstests: generic/064: Test multiple fallocate insert/collapse range calls Namjae Jeon
2015-02-21 15:45 ` [PATCH v10 10/12] xfstests: fsstress: Add fallocate insert range operation Namjae Jeon
     [not found]   ` <1424533554-28024-11-git-send-email-linkinjeon-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-02-25  3:04     ` Dave Chinner
2015-02-25  4:15       ` Namjae Jeon
2015-02-21 15:45 ` [PATCH v10 11/12] xfstests: fsx: " Namjae Jeon
2015-02-21 15:45 ` [PATCH v10 12/12] manpage: update FALLOC_FL_INSERT_RANGE flag in fallocate Namjae Jeon
     [not found]   ` <1424533554-28024-13-git-send-email-linkinjeon-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2015-05-06 12:43     ` Michael Kerrisk (man-pages)
2015-05-07  0:12       ` Namjae Jeon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1424533554-28024-1-git-send-email-linkinjeon@gmail.com \
    --to=linkinjeon@gmail.com \
    --cc=a.sangwan@samsung.com \
    --cc=bfoster@redhat.com \
    --cc=david@fromorbit.com \
    --cc=linux-api@vger.kernel.org \
    --cc=linux-ext4@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-man@vger.kernel.org \
    --cc=mtk.manpages@gmail.com \
    --cc=namjae.jeon@samsung.com \
    --cc=tytso@mit.edu \
    --cc=xfs@oss.sgi.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).