Re: pg_upgrade cannot create btrfs clones on linux kernel 6.8.0

From: Tomas Vondra <tomas(at)vondra(dot)me>
To: Michael Misiewicz <mmisiewicz(at)hey(dot)com>, pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: pg_upgrade cannot create btrfs clones on linux kernel 6.8.0
Date: 2024-12-30 02:12:56
Message-ID: d2ac5dc1-c2fb-497e-b59f-f0cc2ab8e135@vondra.me
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On 12/30/24 01:36, Michael Misiewicz wrote:
> ...
> I have validated that my filesystem supports reflinks:
>
> $ dd of=tempfile if=/dev/random bs=1M count=24
> 24+0 records in
> 24+0 records out
> 25165824 bytes (25 MB, 24 MiB) copied, 0.0806355 s, 312 MB/s
> $ cp --reflink=always tempfile tempfile.reflink
> $ btrfs filesystem du -s tempfile tempfile.reflink
> Total Exclusive Set shared Filename
> 24.00MiB 0.00B 24.00MiB tempfile
> 24.00MiB 0.00B 24.00MiB tempfile.reflink
>
>
> And there's nothing interesting in `dmesg`. 
>
> I ran this same command today on a macOS system (using apfs) and it
> worked great. I have no idea how to fix this problem and I'm curious if
> anyone has any pointers. 
>

What does lsattr say about the source files?

$ lsattr /var/lib/postgresql/16/main/PG_VERSION

Chances are there is "C" attribute set, i.e. NOCOW. In that case I get
exactly the same failure :

could not clone file between old and new data directories: \
Invalid argument

regards

--
Tomas Vondra

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message PG Bug reporting form 2024-12-30 06:22:11 BUG #18757: string_agg function(text, text) design issue
Previous Message Michael Misiewicz 2024-12-30 00:36:13 pg_upgrade cannot create btrfs clones on linux kernel 6.8.0