Browse Source

MDEV-26601: mysys - O_TMPFILE ^ O_CREAT

Thanks to Fabian Vogt for noticing the mutual exclusions
of these open flags on tmpfs caused by mariadb opening it
incorrectly.

As such we clear the O_CREAT flag while opening it as O_TMPFILE.
bb-10.4-kevgs
Daniel Black 4 years ago
parent
commit
adaf0dde7f
  1. 2
      mysys/mf_tempfile.c

2
mysys/mf_tempfile.c

@ -121,7 +121,7 @@ File create_temp_file(char *to, const char *dir, const char *prefix,
/* explictly don't use O_EXCL here has it has a different
meaning with O_TMPFILE
*/
if ((file= open(dir, mode | O_TMPFILE | O_CLOEXEC,
if ((file= open(dir, (mode & ~O_CREAT) | O_TMPFILE | O_CLOEXEC,
S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP)) >= 0)
{
my_snprintf(to, FN_REFLEN, "%s/#sql/fd=%d", dir, file);

Loading…
Cancel
Save