#
292973 |
|
31-Dec-2015 |
ngie |
MFC nv(3) and part of nv(9) to stable/10
This includes the following revisions from head:
r258065,r258594,r259430,r260222,r261407,r261408,r263479,r264021,r266351, r269603,r271026,r271027,r271028,r271241,r271578,r271579,r271847,r272102, r272843,r273752,r277920,r277921,r277925,r277926,r277927,r279421,r279422, r279423,r279424,r279425,r279426,r279427,r279428,r279429,r279430,r279431, r279432,r279434,r279435,r279436,r279438,r279439,r279440,r279760,r282122, r282254,r282257,r282304,r282312,r285339,r288340
This change reverts stable/10@r282122 and stable/10@r288340, and re-MFCs the series again (r282122, r285339, and r288340).
More changes are pending to nv(9)/pci(4) after further review/work. Please see the Phabricator review for more details (both https://reviews.freebsd.org/D4232 and https://reviews.freebsd.org/D4249 ).
- Tested with: -- Booting VMware Fusion 8.1.0 running on a Haswell Apple Macbook Pro -- Booting a Haswell machine with zfs and running some stress workloads with VirtualBox guests -- make tinderbox -- kyua test -k /usr/tests/lib/libnv
Differential Revision: https://reviews.freebsd.org/D4249 (part of a larger diff) Relnotes: yes Reviewed by: oshogbo (implicit), sbruno (implicit) Submitted by: Kevin Bowling <kevin.bowling@kev009.com> Sponsored by: EMC / Isilon Storage Division |
#
292632 |
|
22-Dec-2015 |
ngie |
MFC r271578,r271579,r271847,r272102,r272843,r273752,r277920,r277921,r277925,r277926,r277927,r279421,r279422,r279423:
r271578 (by pjd):
Remove the limit on descriptors that can be send in one nvlist.
Submitted by: Mariusz Zaborski
r271579 (by pjd):
Use non-recursive algorithm for traversing nvlists. This also removes the limit on number of nested nvlists.
Submitted by: Mariusz Zaborski
r271847 (by pjd):
Don't use nvl in case of a failure.
Reported by: Coverity CID: 1238922
r272102 (by pjd):
Document the new nvlist_get_parent() function.
Submitted by: Mariusz Zaborski
r272843 (by pjd):
Fix problem on big endian systems introduced in r271579 - when we were returning from handling a nested nvlist we were resetting big-endian flag.
Reported by: Kuleshov Aleksey @ yandex.ru Tested by: Kuleshov Aleksey @ yandex.ru
r273752 (by jmg):
fix typo, properly install a link to nv for nvlist_freev...
r277920 (by pjd):
If moving descriptor or binary data to an nvlist fails, we need to close the descriptor or free the memory before returning.
Submitted by: Mariusz Zaborski <oshogbo@FreeBSD.org>
While here, protect errno, so it won't be overwritted by close(2) or free(3).
r277921 (by pjd):
Modify nvlist_get_parent() API to take additional cookie argument. This allow for non-recursive iteration over nested nvlists, as in documented example.
Submitted by: Mariusz Zaborski <oshogbo@FreeBSD.org>
r277925 (by pjd):
Handle empty nvlists correctly.
Submitted by: Mariusz Zaborski <oshogbo@FreeBSD.org>
r277926 (by pjd):
Add missing nvlist_get_parent(3) link.
Submitted by: Mariusz Zaborski <oshogbo@FreeBSD.org>
r277927 (by pjd):
Make gcc happy.
Reported by: bz
r279421 (by rstone):
Make libnv headers includable from C++
Differential Revision: https://reviews.freebsd.org/D1868 Reviewed by: jfv, pjd Sponsored by: Sandvine Inc.
r279422 (by rstone):
Tests of basic nvlist add functions
Differential Revision: https://reviews.freebsd.org/D1869 Reviewed by: jfv, pjd Sponsored by: Sandvine Inc.
r279423 (by rstone):
Revert r279422. My "apply patch and commit" script wasn't adding new files properly.
Pointy hat to: rstone
|
#
292631 |
|
22-Dec-2015 |
ngie |
MFC r258065,r258594,r259430,r260222,r261407,r261408,r263479,r264021,r266351,r269603:
r258065 (by pjd):
Bring in libnv library for managing name/value pairs. The following types are currently supported:
- NV_TYPE_NULL - only name, no data; - NV_TYPE_BOOL - boolean (true or false); - NV_TYPE_NUMBER - 64bit unsigned integer; - NV_TYPE_STRING - C string; - NV_TYPE_NVLIST - nested nvlist; - NV_TYPE_DESCRIPTOR - file descriptor; - NV_TYPE_BINARY - binary data.
For detailed documentation and examples see nv(3) manual page.
Sponsored by: The FreeBSD Foundation
r258594 (by pjd):
Fix double free().
Reported by: Coverity Coverity CID: 1130048
r259430 (by pjd):
MFp4 @1189139:
Get rid of the msg_peek() function, which has a problem. If there was less data in the socket buffer than requested by the caller, the function would busy loop, as select(2) will always return immediately.
We can just receive nvlhdr now, because some time ago we splitted receive of data from the receive of descriptors.
r260222 (by pjd):
MFp4 @1189711:
Fix resource leaks on nvlist_destroy().
Reported by: Mariusz Zaborski <oshogbo@FreeBSD.org>
r261407 (by pjd):
Fix sending empty nvlist.
Submitted by: Mariusz Zaborski <oshogbo@FreeBSD.org>
r261408 (by pjd):
Assert input arguments to buf_send() and buf_recv().
Submitted by: Mariusz Zaborski <oshogbo@FreeBSD.org>
r263479 (by bdrewery):
nv(3) was not in 10.0.
It might be MFC'd to stable/10 for 10.1, but for now update the manual to avoid confusion on its availability.
Discussed with: pjd
r264021 (by jilles):
libnv: Don't lose big-endian flag when receiving a message.
A bug caused the "big endian" flag to be lost when receiving a message. As a result, the bits are interpreted as little endian and an extremely large allocation is attempted.
This change fixes ping(8)'s communication to casperd(8) on big-endian architectures.
Reported by: Anton Shterenlikht Tested by: danfe
r266351 (by rstone):
Correct a typo.
r269603:
Integrate lib/libnv into the build/kyua
Rename all of the TAP test applications from <test> to <test>_test to match the convention described in the TestSuite wiki page
Phabric: D538 Approved by: jmmv (mentor) Sponsored by: EMC / Isilon Storage Division
|