From: Gerhard Heift <gerhard@heift.name>
To: linux-btrfs@vger.kernel.org
Subject: [PATCH RFCv4] new ioctl TREE_SEARCH_V2
Date: Thu, 30 Jan 2014 16:23:56 +0100 [thread overview]
Message-ID: <1391095443-20287-1-git-send-email-Gerhard@Heift.Name> (raw)
This patch series first rewrites tree_search to copy found items directly to
userspace and then adds a new ioctl TREE_SEARCH_V2 with which we could store
them in a varying buffer. Now even items larger than 3992 bytes or a large
amount of items can be returned. This is the case for some EXTENT_CSUM items,
which could have a size up to 16k.
I had a few questions:
Which value should I assign to TREE_SEARCH_V2?
* Chosen value is ok [1].
Should we limit the buffer size?
* David suggested [1] a minimum of 64k, I've chosen a cap of 16M.
What about documentation?
* I documented the new struct in the header file.
Gerhard
[1] http://article.gmane.org/gmane.comp.file-systems.btrfs/32060
Changelog
RFCv4
* fixed copy to userspace (used wrong pointers)
* eliminate a redundant check for nr_items
RFCv3
* introduced read_extent_buffer_to_user
* direct copy to user without intermediate buffer
* use local variables for args
* fixed wrong error code
* removed unused var check
* fixed minor style issues
* return needed buffer to userspace on EOVERFLOW
RFCv2
* fixed a build bug caused by using a wrong patch
* added a patch to expand a buffer lifetime
next reply other threads:[~2014-01-30 15:24 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-30 15:23 Gerhard Heift [this message]
2014-01-30 15:23 ` [PATCH RFCv4 1/7] btrfs: tree_search: eliminate redundant nr_items check Gerhard Heift
2014-01-30 15:23 ` [PATCH RFCv4 2/7] btrfs: tree_search, search_ioctl: accept varying buffer Gerhard Heift
2014-01-30 15:23 ` [PATCH RFCv4 3/7] btrfs: tree_search, copy_to_sk: return EOVERFLOW for too small buffer Gerhard Heift
2014-01-30 15:24 ` [PATCH RFCv4 4/7] btrfs: tree_search, copy_to_sk: return needed size on EOVERFLOW Gerhard Heift
2014-01-30 15:24 ` [PATCH RFCv4 5/7] btrfs: new function read_extent_buffer_to_user Gerhard Heift
2014-01-30 15:24 ` [PATCH RFCv4 6/7] btrfs: tree_search, search_ioctl: direct copy to userspace Gerhard Heift
2014-01-30 15:24 ` [PATCH RFCv4 7/7] btrfs: new ioctl TREE_SEARCH_V2 Gerhard Heift
2014-01-31 17:40 ` [PATCH RFCv4] " David Sterba
2014-04-04 11:36 ` David Sterba
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=1391095443-20287-1-git-send-email-Gerhard@Heift.Name \
--to=gerhard@heift.name \
--cc=linux-btrfs@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).