linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH RFCv4] new ioctl TREE_SEARCH_V2
@ 2014-01-30 15:23 Gerhard Heift
  2014-01-30 15:23 ` [PATCH RFCv4 1/7] btrfs: tree_search: eliminate redundant nr_items check Gerhard Heift
                   ` (8 more replies)
  0 siblings, 9 replies; 10+ messages in thread
From: Gerhard Heift @ 2014-01-30 15:23 UTC (permalink / raw)
  To: linux-btrfs

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

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2014-04-04 11:36 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-01-30 15:23 [PATCH RFCv4] new ioctl TREE_SEARCH_V2 Gerhard Heift
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

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).