Re: CREATE DATABASE with filesystem cloning

Поиск
Список
Период
Сортировка
От Ranier Vilela
Тема Re: CREATE DATABASE with filesystem cloning
Дата
Msg-id CAEudQAr19fkvGjWsPEOdF9G01rL-PM9UUOxFaqcVvdG-30R58w@mail.gmail.com
обсуждение исходный текст
Ответ на Re: CREATE DATABASE with filesystem cloning  (Nazir Bilal Yavuz <byavuz81@gmail.com>)
Ответы Re: CREATE DATABASE with filesystem cloning
Список pgsql-hackers

Em qua., 8 de mai. de 2024 às 04:37, Nazir Bilal Yavuz <byavuz81@gmail.com> escreveu:
Hi Ranier,

Thanks for looking into this!

I am not sure why but your reply does not show up in the thread, so I
copied your reply and answered it in the thread for visibility.

On Tue, 7 May 2024 at 16:28, Ranier Vilela <ranier.vf@gmail.com> wrote:
>
> I know it's coming from copy-and-paste, but
> I believe the flags could be:
> - dstfd = OpenTransientFile(tofile, O_RDWR | O_CREAT | O_EXCL | PG_BINARY);
> + dstfd = OpenTransientFile(tofile, O_CREAT | O_WRONLY | O_TRUNC | O_EXCL | PG_BINARY);
>
> The flags:
> O_WRONLY | O_TRUNC
>
> Allow the OS to make some optimizations, if you deem it possible.
>
> The flag O_RDWR indicates that the file can be read, which is not true in this case.
> The destination file will just be written.

You may be right about the O_WRONLY flag but I am not sure about the
O_TRUNC flag.

O_TRUNC from the linux man page [1]: If the file already exists and is
a regular file and the access mode allows writing (i.e., is O_RDWR or
O_WRONLY) it will be truncated to length 0.  If the file is a FIFO  or
terminal device file, the O_TRUNC flag is ignored. Otherwise, the
effect of O_TRUNC is unspecified.
O_TRUNC is usually used in conjunction with O_WRONLY.
See the example at:

O_TRUNC signals the OS to forget the current contents of the file, if it happens to exist.
In other words, there will be no seeks, only and exclusively writes.


But it should be already checked if the destination directory already
exists in dbcommands.c file in createdb() function [2], so this should
not happen.
I'm not sure what you're referring to here.

best regards,
Ranier Vilela

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Dagfinn Ilmari Mannsåker
Дата:
Сообщение: Re: Expand applicability of aggregate's sortop optimization
Следующее
От: Sriram RK
Дата:
Сообщение: Re: AIX support