Skip to content

Commit a1b94d3

Browse files
cjihrigMylesBorins
authored andcommitted
deps: upgrade libuv to 1.20.0
Notable changes: - uv_fs_copyfile() adds support for copy-on-write behavior. - uv_relative_path() now uses the long directory name for handle->dirw. - File operations on files > 2 GB on 32-bit platforms are working again. - uv_fs_fchmod() on Windows works on files with the Archive flag cleared. Backport-PR-URL: #24103 Fixes: #19170 Fixes: #19455 Fixes: #12803 PR-URL: #19758 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
1 parent 26d145a commit a1b94d3

39 files changed

+466
-140
lines changed

deps/uv/.mailmap

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ Frank Denis <github@pureftpd.org>
1616
Imran Iqbal <imrani@ca.ibm.com> <imran@imraniqbal.org>
1717
Isaac Z. Schlueter <i@izs.me>
1818
Jason Williams <necmon@yahoo.com>
19+
Jesse Gorzinski <jgorzinski@gmail.com>
1920
Justin Venus <justin.venus@gmail.com> <justin.venus@orbitz.com>
2021
Keno Fischer <kenof@stanford.edu> <kfischer+github@college.harvard.edu>
2122
Keno Fischer <kenof@stanford.edu> <kfischer@college.harvard.edu>

deps/uv/AUTHORS

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -330,3 +330,5 @@ Mason X <me@masonx.ca>
330330
Jesse Gorzinski <jgorzinski@gmail.com>
331331
Ryuichi KAWAMATA <ryuichi.kawamata@dena.jp>
332332
Joyee Cheung <joyeec9h3@gmail.com>
333+
Michael Kilburn <crusader.mike@gmail.com>
334+
Ruslan Bekenev <furyinbox@gmail.com>

deps/uv/ChangeLog

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,53 @@
1+
2018.04.03, Version 1.20.0 (Stable), 0012178ee2b04d9e4a2c66c27cf8891ad8325ceb
2+
3+
Changes since version 1.19.2:
4+
5+
* unix,spawn: respect user stdio flags for new pipe (Jameson Nash)
6+
7+
* Revert "Revert "unix,tcp: avoid marking server sockets connected"" (Jameson
8+
Nash)
9+
10+
* req: revisions to uv_req_t handling (Jameson Nash)
11+
12+
* win: remove unnecessary initialization (cjihrig)
13+
14+
* win: update uv_os_homedir() to use uv_os_getenv() (cjihrig)
15+
16+
* test: fix tcp_oob test flakiness (Santiago Gimeno)
17+
18+
* posix: fix uv__pollfds_del() for invalidated fd's (Jesse Gorzinski)
19+
20+
* doc: README: add note on installing gyp (Jamie Davis)
21+
22+
* unix: refactor uv_os_homedir to use uv_os_getenv (Santiago Gimeno)
23+
24+
* unix: fix several instances of lost errno (Michael Kilburn)
25+
26+
* win,tty: update several TODO comments (Ruslan Bekenev)
27+
28+
* unix: add UV_FS_COPYFILE_FICLONE support (cjihrig)
29+
30+
* test: fix connect_unspecified (Santiago Gimeno)
31+
32+
* unix,win: add UV_FS_COPYFILE_FICLONE_FORCE support (cjihrig)
33+
34+
* win: use long directory name for handle->dirw (Nicholas Vavilov)
35+
36+
* build: build with -D_FILE_OFFSET_BITS=64 again (Ben Noordhuis)
37+
38+
* win, fs: fix uv_fs_unlink for +R -A files (Bartosz Sosnowski)
39+
40+
* win, fs: use FILE_WRITE_ATTRIBUTES when opening files (Bartosz Sosnowski)
41+
42+
* unix: use __PASE__ on IBM i platforms (Jesse Gorzinski)
43+
44+
* test,freebsd: fix flaky poll tests (Santiago Gimeno)
45+
46+
* test: increase connection timeout to 1 second (jBarz)
47+
48+
* win,tcp: handle canceled connect with ECANCELED (Jameson Nash)
49+
50+
151
2018.02.22, Version 1.19.2 (Stable), c5afc37e2a8a70d8ab0da8dac10b77ba78c0488c
252

353
Changes since version 1.19.1:

deps/uv/README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,12 @@ $ make check
169169
$ make install
170170
```
171171

172+
To build with GYP, first run:
173+
174+
```bash
175+
$ git clone https://chromium.googlesource.com/external/gyp build/gyp
176+
```
177+
172178
### Windows
173179

174180
Prerequisites:

deps/uv/checksparse.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,7 @@ AIX)
184184
src/unix/aix.c"
185185
;;
186186
OS400)
187-
SPARSE_FLAGS="$SPARSE_FLAGS -D_PASE=1"
187+
SPARSE_FLAGS="$SPARSE_FLAGS -D__PASE__=1"
188188
SOURCES="$SOURCES
189189
src/unix/aix-common.c
190190
src/unix/ibmi.c

deps/uv/configure.ac

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1414

1515
AC_PREREQ(2.57)
16-
AC_INIT([libuv], [1.19.2], [https://github.com/libuv/libuv/issues])
16+
AC_INIT([libuv], [1.20.0], [https://github.com/libuv/libuv/issues])
1717
AC_CONFIG_MACRO_DIR([m4])
1818
m4_include([m4/libuv-extra-automake-flags.m4])
1919
m4_include([m4/as_case.m4])

deps/uv/docs/src/fs.rst

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -249,6 +249,12 @@ API
249249
- `UV_FS_COPYFILE_EXCL`: If present, `uv_fs_copyfile()` will fail with
250250
`UV_EEXIST` if the destination path already exists. The default behavior
251251
is to overwrite the destination if it exists.
252+
- `UV_FS_COPYFILE_FICLONE`: If present, `uv_fs_copyfile()` will attempt to
253+
create a copy-on-write reflink. If the underlying platform does not
254+
support copy-on-write, then a fallback copy mechanism is used.
255+
- `UV_FS_COPYFILE_FICLONE_FORCE`: If present, `uv_fs_copyfile()` will
256+
attempt to create a copy-on-write reflink. If the underlying platform does
257+
not support copy-on-write, then an error is returned.
252258
253259
.. warning::
254260
If the destination path is created, but an error occurs while copying
@@ -258,6 +264,9 @@ API
258264
259265
.. versionadded:: 1.14.0
260266
267+
.. versionchanged:: 1.20.0 `UV_FS_COPYFILE_FICLONE` and
268+
`UV_FS_COPYFILE_FICLONE_FORCE` are supported.
269+
261270
.. c:function:: int uv_fs_sendfile(uv_loop_t* loop, uv_fs_t* req, uv_file out_fd, uv_file in_fd, int64_t in_offset, size_t length, uv_fs_cb cb)
262271
263272
Limited equivalent to :man:`sendfile(2)`.

deps/uv/include/uv-unix.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@
4848
# include "uv-linux.h"
4949
#elif defined (__MVS__)
5050
# include "uv-os390.h"
51-
#elif defined(_PASE)
51+
#elif defined(__PASE__)
5252
# include "uv-posix.h"
5353
#elif defined(_AIX)
5454
# include "uv-aix.h"

deps/uv/include/uv-version.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@
3131
*/
3232

3333
#define UV_VERSION_MAJOR 1
34-
#define UV_VERSION_MINOR 19
35-
#define UV_VERSION_PATCH 2
34+
#define UV_VERSION_MINOR 20
35+
#define UV_VERSION_PATCH 0
3636
#define UV_VERSION_IS_RELEASE 1
3737
#define UV_VERSION_SUFFIX ""
3838

deps/uv/include/uv.h

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -378,8 +378,7 @@ UV_EXTERN const char* uv_err_name(int err);
378378
/* read-only */ \
379379
uv_req_type type; \
380380
/* private */ \
381-
void* active_queue[2]; \
382-
void* reserved[4]; \
381+
void* reserved[6]; \
383382
UV_REQ_PRIVATE_FIELDS \
384383

385384
/* Abstract base class of all requests. */
@@ -1191,6 +1190,18 @@ UV_EXTERN int uv_fs_write(uv_loop_t* loop,
11911190
*/
11921191
#define UV_FS_COPYFILE_EXCL 0x0001
11931192

1193+
/*
1194+
* This flag can be used with uv_fs_copyfile() to attempt to create a reflink.
1195+
* If copy-on-write is not supported, a fallback copy mechanism is used.
1196+
*/
1197+
#define UV_FS_COPYFILE_FICLONE 0x0002
1198+
1199+
/*
1200+
* This flag can be used with uv_fs_copyfile() to attempt to create a reflink.
1201+
* If copy-on-write is not supported, an error is returned.
1202+
*/
1203+
#define UV_FS_COPYFILE_FICLONE_FORCE 0x0004
1204+
11941205
UV_EXTERN int uv_fs_copyfile(uv_loop_t* loop,
11951206
uv_fs_t* req,
11961207
const char* path,
@@ -1531,7 +1542,10 @@ struct uv_loop_s {
15311542
/* Loop reference counting. */
15321543
unsigned int active_handles;
15331544
void* handle_queue[2];
1534-
void* active_reqs[2];
1545+
union {
1546+
void* unused[2];
1547+
unsigned int count;
1548+
} active_reqs;
15351549
/* Internal flag to signal loop stop. */
15361550
unsigned int stop_flag;
15371551
UV_LOOP_PRIVATE_FIELDS

0 commit comments

Comments
 (0)