Re: FileFallocate misbehaving on XFS

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, Michael Harris <harmic(at)gmail(dot)com>, Tomas Vondra <tomas(at)vondra(dot)me>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: FileFallocate misbehaving on XFS
Date: 2024-12-14 08:29:12
Message-ID: 202412140829.jfa5p37rssme@alvherre.pgsql
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 2024-Dec-11, Andres Freund wrote:

> One thing that I think we should definitely do is to include more detail in
> the error message. mdzeroextend()'s error messages don't include how many
> blocks the relation was to be extended by. Neither mdextend() nor
> mdzeroextend() include the offset at which the extension failed.

I proposed a patch at
https://postgr.es/m/202409110955.6njbwzm4ocus@alvherre.pgsql

FileFallocate failure:
errmsg("could not allocate additional %lld bytes from position %lld in file \"%s\": %m",
(long long) addbytes, (long long) seekpos,
FilePathName(v->mdfd_vfd)),

FileZero failure:
errmsg("could not zero additional %lld bytes from position %lld file \"%s\": %m",
(long long) addbytes, (long long) seekpos,
FilePathName(v->mdfd_vfd)),

I'm not sure that we need to talk about blocks, given that the
underlying syscalls don't work in blocks anyway. IMO we should just
report bytes.

--
Álvaro Herrera 48°01'N 7°57'E — https://www.EnterpriseDB.com/
"No hay ausente sin culpa ni presente sin disculpa" (Prov. francés)

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Thomas Munro 2024-12-14 08:58:28 Re: checkpointer: PANIC: could not fsync file: No such file or directory
Previous Message Michael Paquier 2024-12-14 07:46:57 Re: confusing / inefficient "need_transcoding" handling in copy