public inbox for linux-btrfs@vger.kernel.org
 help / color / mirror / Atom feed
* BTRFS doesn't compress on the fly
@ 2023-11-30 11:21 Gerhard Wiesinger
  2023-11-30 20:53 ` Qu Wenruo
  0 siblings, 1 reply; 12+ messages in thread
From: Gerhard Wiesinger @ 2023-11-30 11:21 UTC (permalink / raw)
  To: linux-btrfs

Dear All,

I created a new BTRFS volume with migrating an existing PostgreSQL 
database on it. Versions are recent.

Compression is not done on the fly although everything is IMHO 
configured correctly to do so.

I need to run the following command that everything gets compressed:
btrfs filesystem defragment -r -v -czstd /var/lib/pgsql

Had also a problem that
chattr -R +c /var/lib/pgsql
didn't work for some files.

Find further details below.

Looks like a bug to me.

Any ideas?

Thanx.

Ciao,
Gerhard

uname -a
Linux myhostname 6.5.12-300.fc39.x86_64 #1 SMP PREEMPT_DYNAMIC Mon Nov 
20 22:44:24 UTC 2023 x86_64 GNU/Linux

btrfs --version
btrfs-progs v6.5.1

btrfs filesystem show
Label: 'database'  uuid: 6ad6ef90-30fa-4979-9509-99803f7545aa
         Total devices 1 FS bytes used 15.76GiB
         devid    1 size 129.98GiB used 21.06GiB path /dev/mapper/datab

btrfs filesystem df /var/lib/pgsql
Data, single: total=19.00GiB, used=15.61GiB
System, DUP: total=32.00MiB, used=16.00KiB
Metadata, DUP: total=1.00GiB, used=151.92MiB
GlobalReserve, single: total=85.38MiB, used=0.00B

# Mounted via force
findmnt -vno OPTIONS /var/lib/pgsql
rw,relatime,compress-force=zstd:3,space_cache=v2,subvolid=5,subvol=/

# all files even have "c" attribute, set after creation of the filesystem
lsattr /var/lib/pgsql
--------c------------- /var/lib/pgsql/16

# Should be empty and is empty, so everything has the comressed 
attribute (after creation and also all new files)
lsattr -R /var/lib/pgsql | grep -v "^/" | grep -v "^$" | grep -v 
"^........c"

# Stays here at this compression level
compsize -x /var/lib/pgsql
Processed 5332 files, 575858 regular extents (591204 refs), 40 inline.
Type       Perc     Disk Usage   Uncompressed Referenced
TOTAL       63%       51G          80G          80G
none       100%       40G          40G          40G
zstd        27%       10G          40G          40G
prealloc   100%      5.0M         5.0M         5.5M

# After running: btrfs filesystem defragment -r -v -czstd /var/lib/pgsql
compsize -x /var/lib/pgsql
Processed 5563 files, 664076 regular extents (664076 refs), 40 inline.
Type       Perc     Disk Usage   Uncompressed Referenced
TOTAL       19%       15G          80G          80G
none       100%      120K         120K         120K
zstd        19%       15G          80G          80G

# At the first time creating the filesystem I had also the problem that 
I couln't change all attributes, didn't find a way to get rid of this. 
Any ideas.
chattr -R +c /var/lib/pgsql
chattr: Invalid argument while setting flags on 
/var/lib/pgsql/16/data/base/1/2836
chattr: Invalid argument while setting flags on 
/var/lib/pgsql/16/data/base/1/2840
chattr: Invalid argument while setting flags on 
/var/lib/pgsql/16/data/base/1/2838
chattr: Invalid argument while setting flags on 
/var/lib/pgsql/16/data/base/4/2836
chattr: Invalid argument while setting flags on 
/var/lib/pgsql/16/data/base/4/2838
chattr: Invalid argument while setting flags on 
/var/lib/pgsql/16/data/base/5/2836
chattr: Invalid argument while setting flags on 
/var/lib/pgsql/16/data/base/5/2838


^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2024-08-11  9:46 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-30 11:21 BTRFS doesn't compress on the fly Gerhard Wiesinger
2023-11-30 20:53 ` Qu Wenruo
2023-12-02 12:02   ` Gerhard Wiesinger
2023-12-02 20:07     ` Qu Wenruo
2023-12-02 21:56       ` Qu Wenruo
2023-12-03  8:24         ` Gerhard Wiesinger
2023-12-03  9:11           ` Qu Wenruo
2023-12-03  9:45             ` Gerhard Wiesinger
2023-12-03 10:19               ` Qu Wenruo
2023-12-22  5:58                 ` Gerhard Wiesinger
2023-12-22  6:13                   ` Qu Wenruo
2024-08-11  9:39                     ` Gerhard Wiesinger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox