File: libnbd-release-notes-1.6.pod

package info (click to toggle)
libnbd 1.24.0-2.1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 10,956 kB
  • sloc: ansic: 55,158; ml: 12,325; sh: 8,811; python: 4,757; makefile: 3,038; perl: 165; cpp: 24
file content (140 lines) | stat: -rw-r--r-- 3,589 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
=head1 NAME

libnbd-release-notes-1.6 - release notes for libnbd 1.6

=head1 DESCRIPTION

These are the release notes for libnbd stable release 1.6.
This describes the major changes since 1.4.

libnbd 1.6.0 was released on B<7 January 2021>.

=head2 Security

There were no security issues found in this release.

If you find a security issue, please read F<SECURITY> in the source
(online here:
L<https://gitlab.com/nbdkit/libnbd/blob/master/SECURITY>).  To
find out about previous security issues in libnbd, see
L<libnbd-security(3)>.

=head2 New APIs

=over 4

=item L<nbd_set_strict_mode(3)>

=item L<nbd_get_strict_mode(3)>

This API allows you to control how libnbd handles requests from the
program that it thinks would trigger undefined behaviour in the server
(such as sending unknown commands, zero-sized or out-of-bounds
requests, etc).  Normally libnbd is very strict and will prevent you
from sending such requests, but you can use this API to relax these
restrictions, leaving it up to the server to handle or reject them.
Some servers may crash if you do this.

=item L<nbd_get_nr_meta_contexts(3)>

=item L<nbd_get_meta_context(3)>

=item L<nbd_clear_meta_contexts(3)>

These APIs allow you to review or clear the requested metadata
contexts.

=item L<nbd_opt_list_meta_context(3)>

=item L<nbd_aio_opt_list_meta_context(3)>

Request that the server lists available metadata contexts.  You can
only use this in opt mode.

=back

Thanks: Eric Blake for all of the new APIs.

=head2 Enhancements to existing APIs

L<nbd_shutdown(3)> new flag C<LIBNBD_SHUTDOWN_ABANDON_PENDING> drops
any commands in flight which have not been sent to the server yet
(Eric Blake).

All APIs which have flag (bitmask) parameters now define a
C<LIBNBD_*_MASK> constant allowing you to tell which bits represent
valid flags at compilation time (Eric Blake).

=head2 New features

The performance of the L<nbdcopy(1)> tool has been greatly improved.
Also it supports numerous new features.

New L<nbdinfo(1)> I<--map> option showing the allocated and sparse
extents of an NBD server.  This can also show other information such
as dirty bitmaps.

=begin comment

=head2 Documentation

=end comment

=head2 Tools

L<nbdfuse(1)> can now mount the NBD export on top of any regular file,
it does not have to mount over a directory.

L<nbdsh(1)> now produces a nice error message if the URI in the I<-u>
option or the command in the I<-c> option is wrong (Eric Blake).

New L<nbdsh(1)> I<--opt-mode> option which requests opt mode on the
handle before connecting.

L<nbdinfo(1)> I<--list> option now shows the supported metadata
contexts of the server (Eric Blake).

The output of L<nbdinfo(1)> is now usually printed atomically, ie. it
will either print the complete output or an error message, but not
partial output followed by an error.

L<nbdinfo(1)> can now decode C<qemu:allocation-depth> metacontext
(Eric Blake).

=begin comment

=head2 Tests

=end comment

=head2 Other improvements and bug fixes

Multiple improvements to handling of NBD protocol (Eric Blake).

Fix handling of booleans in Python bindings (Eric Blake).

Fix handling of flags parameters in OCaml bindings (Eric Blake).

Python style fixes (Eric Blake).

Fix multiple memory leaks (Eric Blake).

OCaml bindings now include ocamldoc-generated documentation, if
ocamldoc is installed at build time.

The "vector" library from nbdkit is now used by libnbd, simplifying
places where we used to use L<realloc(3)>.

=head1 SEE ALSO

L<libnbd(3)>.

=head1 AUTHORS

Eric Blake

Richard W.M. Jones

=head1 COPYRIGHT

Copyright Red Hat