From: Edward Shishkin <edward.shishkin@gmail.com>
To: Ivan Shapovalov <intelfx100@gmail.com>, reiserfs-devel@vger.kernel.org
Subject: Re: [RFC] [PATCHv2 0/7] reiser4: batch discard support (FITRIM ioctl): initial implementation.
Date: Sun, 17 Aug 2014 22:25:07 +0200 [thread overview]
Message-ID: <53F10FA3.7050507@gmail.com> (raw)
In-Reply-To: <1408292795-1841-1-git-send-email-intelfx100@gmail.com>
Great, thanks!
I'll take a look at leisure.
What is the status of this code? Did you test it?
Edward.
On 08/17/2014 06:26 PM, Ivan Shapovalov wrote:
> This patch series implements FITRIM ioctl support in reiser4.
>
> The FITRIM ioctl is supposed to be applied to any directory inside the target
> filesystem. At least, this can be deduced from `fstrim` utility behavior on
> mainstream filesystems (e. g. ext2/3/4).
>
> The idea of implementation is per Edward's advices: FITRIM handler iteratively
> grabs a portion of disk space, sequentially allocates extents within grabbed
> space and commits the resulting atom. This way we avoid starving concurrent
> processes of the disk space. This process is repeated until the partition has
> been fully scanned and processed.
>
> Points I'm really uncertain of:
> - grabbing fixed amount of space (new BA_SOME_SPACE flag, grabs 25% of disk space)
> - creation of empty atoms (reiser4_create_atom())
> - handling of empty atoms in commit_current_atom()
>
> v2: - fix PATCH 5/7 "reiser4: txnmgr: call reiser4_post_write_back_hook() for empty atoms."
> * fix a typo
> * release atom spinlock before calling reiser4_post_write_back_hook()
>
> Ivan Shapovalov (7):
> reiser4: block_alloc: add BA_SOME_SPACE flag for grabbing a fixed amount of space.
> reiser4: block_alloc: add a "forward" parameter to reiser4_blocknr_hint to allocate blocks only in forward direction.
> reiser4: txnmgr: free allocated but unneeded atom in atom_begin_and_assign_to_txnh().
> reiser4: txnmgr: add reiser4_create_atom() which creates an empty atom without capturing any nodes.
> reiser4: txnmgr: call reiser4_post_write_back_hook() for empty atoms.
> reiser4: batch discard support: add a dummy FITRIM ioctl handler for directories.
> reiser4: batch discard support: actually implement the FITRIM ioctl handler.
>
> fs/reiser4/block_alloc.c | 6 ++
> fs/reiser4/block_alloc.h | 10 ++-
> fs/reiser4/plugin/dir/dir.h | 2 +
> fs/reiser4/plugin/file_ops.c | 62 ++++++++++++++++++
> fs/reiser4/plugin/object.c | 6 +-
> fs/reiser4/plugin/space/bitmap.c | 3 +-
> fs/reiser4/super_ops.c | 131 +++++++++++++++++++++++++++++++++++++++
> fs/reiser4/txnmgr.c | 57 +++++++++++------
> fs/reiser4/txnmgr.h | 2 +
> 9 files changed, 255 insertions(+), 24 deletions(-)
>
next prev parent reply other threads:[~2014-08-17 20:25 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-17 16:26 [RFC] [PATCHv2 0/7] reiser4: batch discard support (FITRIM ioctl): initial implementation Ivan Shapovalov
2014-08-17 16:26 ` [RFC] [PATCHv2 1/7] reiser4: block_alloc: add BA_SOME_SPACE flag for grabbing a fixed amount of space Ivan Shapovalov
2014-08-17 16:26 ` [RFC] [PATCHv2 2/7] reiser4: block_alloc: add a "forward" parameter to reiser4_blocknr_hint to allocate blocks only in forward direction Ivan Shapovalov
2014-08-17 16:26 ` [RFC] [PATCHv2 3/7] reiser4: txnmgr: free allocated but unneeded atom in atom_begin_and_assign_to_txnh() Ivan Shapovalov
2014-08-17 16:26 ` [RFC] [PATCHv2 4/7] reiser4: txnmgr: add reiser4_create_atom() which creates an empty atom without capturing any nodes Ivan Shapovalov
2014-08-17 16:26 ` [RFC] [PATCHv2 5/7] reiser4: txnmgr: call reiser4_post_write_back_hook() also for empty atoms Ivan Shapovalov
2014-08-17 16:26 ` [RFC] [PATCHv2 6/7] reiser4: batch discard support: add a dummy FITRIM ioctl handler for directories Ivan Shapovalov
2014-08-17 16:26 ` [RFC] [PATCHv2 7/7] reiser4: batch discard support: actually implement the FITRIM ioctl handler Ivan Shapovalov
2014-08-17 20:25 ` Edward Shishkin [this message]
2014-08-17 20:29 ` [RFC] [PATCHv2 0/7] reiser4: batch discard support (FITRIM ioctl): initial implementation Ivan Shapovalov
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=53F10FA3.7050507@gmail.com \
--to=edward.shishkin@gmail.com \
--cc=intelfx100@gmail.com \
--cc=reiserfs-devel@vger.kernel.org \
/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).