Linux Btrfs filesystem development
 help / color / mirror / Atom feed
From: Boris Burkov <boris@bur.io>
To: Marc MERLIN <marc_btrfs@merlins.org>
Cc: linux-btrfs <linux-btrfs@vger.kernel.org>
Subject: Re: Deleted snapshots stay in squota, mayube because of bees?
Date: Wed, 22 Apr 2026 12:23:44 -0700	[thread overview]
Message-ID: <20260422192344.GA1392535@zen.localdomain> (raw)
In-Reply-To: <aekA8mS4hppTjbA-@merlins.org>

On Wed, Apr 22, 2026 at 10:10:10AM -0700, Marc MERLIN wrote:
> Hi Boris,
> 
> I noticed another issue, when I do a btrfs send to this volume
> which was created cleanly from scratch with squota, if I have
> an incomplete btrfs receive subvolume (copy failed half way),
> when I delete it, it does from
> <under deletion> to <squota space holder>.
> You'll notice I have now two <squota space holder> which just so happen
> to be 297.04MiB each.
> 
> I do run bees, so there is a very small chance bees took data from
> debian64 and dupedd it against another subvolume and then can't delete
> all the data, but in this example backup/debian64_kodi_ro.20260327_10:11:40
> was last, so any duped data should have been duped against a previous
> snapshot, and ideally not leave leftover squota data after deletion,
> unless bees somehow is making those references the other way around
> and the new copy becomes the master copy for squota?
> 
> But even then, it looks a bit weird that now I have two
> 0/263        297.04MiB    297.04MiB   <squota space holder>
> 0/269        287.84MiB    287.84MiB   <squota space holder>
> of almost the same space
> 
> Is that still working as intended and I don't quite grasp how?

We can't delete a qgroup that still has usage, and subvols own their
extents forever. So assuming no bugs, this means that some other
subvolume is referencing the extents originally owned by these
subvolumes. I agree that this sounds relatively unlikely for a failed
receive target you immediately deleted.

I believe that btrfs check has the ability to reconcile the on-disk
squota owner_refs with the on-disk qgroup values and find any real
discrepancies. So if you run that (without repair please :) ), and it
doesn't complain, I think you do have some legit sharing happening, and
you can try to track that down more directly.

> 
> gargamel:/mnt/btrfs_pool2/backup# btrfs qgroup show .
> Qgroupid    Referenced    Exclusive   Path 
> --------    ----------    ---------   ---- 
> 0/5            1.61GiB      1.61GiB   <toplevel>
> 0/256         16.00KiB     16.00KiB   backup
> 0/258         16.00KiB     16.00KiB   backup-btrfssend
> 0/260          1.06GiB      1.06GiB   .beeshome
> 0/261         63.74GiB     63.74GiB   backup/win_kodi_ro.20260328_21:48:59
> 0/262        229.51GiB    229.51GiB   backup/ubuntu_kodi_ro.20260328_10:19:47
> 0/263        297.04MiB    297.04MiB   <squota space holder> <- this has been there for days
> 0/264        187.38GiB    187.38GiB   backup/0Notmachines_kodi_ro.20260325_20:08:49
> 0/266         10.37GiB     10.37GiB   backup/1Appliances_kodi_ro.20260325_23:22:32
> 0/268        294.27GiB    294.27GiB   backup/debian32_kodi_ro.20260325_23:43:06
> 0/269        295.74GiB    295.74GiB   backup/debian64_kodi_ro.20260327_10:11:40
> gargamel:/mnt/btrfs_pool2/backup# btrfs subvolume delete debian64_kodi_ro.20260327_10:11:40/
> Delete subvolume 269 (no-commit): '/mnt/btrfs_pool2/backup/debian64_kodi_ro.20260327_10:11:40'
> gargamel:/mnt/btrfs_pool2/backup# btrfs qgroup show .
> Qgroupid    Referenced    Exclusive   Path
> --------    ----------    ---------   ----
> 0/5            1.61GiB      1.61GiB   <toplevel>
> 0/256         16.00KiB     16.00KiB   backup
> 0/258         16.00KiB     16.00KiB   backup-btrfssend
> 0/260          1.06GiB      1.06GiB   .beeshome
> 0/261         63.74GiB     63.74GiB   backup/win_kodi_ro.20260328_21:48:59
> 0/262        229.51GiB    229.51GiB   backup/ubuntu_kodi_ro.20260328_10:19:47
> 0/263        297.04MiB    297.04MiB   <squota space holder>
> 0/264        187.38GiB    187.38GiB   backup/0Notmachines_kodi_ro.20260325_20:08:49
> 0/266         10.37GiB     10.37GiB   backup/1Appliances_kodi_ro.20260325_23:22:32
> 0/268        294.27GiB    294.27GiB   backup/debian32_kodi_ro.20260325_23:43:06
> 0/269        295.74GiB    295.74GiB   <under deletion>
> gargamel:/mnt/btrfs_pool2/backup# btrfs qgroup show .
> Qgroupid    Referenced    Exclusive   Path
> --------    ----------    ---------   ----
> 0/5            1.63GiB      1.63GiB   <toplevel>
> 0/256         16.00KiB     16.00KiB   backup
> 0/258         16.00KiB     16.00KiB   backup-btrfssend
> 0/260          1.06GiB      1.06GiB   .beeshome
> 0/261         63.74GiB     63.74GiB   backup/win_kodi_ro.20260328_21:48:59
> 0/262        229.51GiB    229.51GiB   backup/ubuntu_kodi_ro.20260328_10:19:47
> 0/263        297.04MiB    297.04MiB   <squota space holder>
> 0/264        187.38GiB    187.38GiB   backup/0Notmachines_kodi_ro.20260325_20:08:49
> 0/266         10.37GiB     10.37GiB   backup/1Appliances_kodi_ro.20260325_23:22:32
> 0/268        294.27GiB    294.27GiB   backup/debian32_kodi_ro.20260325_23:43:06
> 0/269        287.84MiB    287.84MiB   <squota space holder>
> 0/270        321.80GiB    321.80GiB   backup/debian64_kodi_ro.20260327_10:11:40
> 
> Thanks
> Marc
> -- 
> "A mouse is a device used to point at the xterm you want to type in" - A.S.R.
>  
> Home page: http://marc.merlins.org/                       | PGP 7F55D5F27AAF9D08

  reply	other threads:[~2026-04-22 19:24 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-04-11  3:35 BTRFS discard crash: failed to run delayed ref for logical 15506102321152 num_bytes 16384 type 182 action 2 ref_mod 1: -2 6.11.2) Marc MERLIN
2026-04-11  4:47 ` Qu Wenruo
2026-04-11 12:04 ` Roman Mamedov
2026-04-11 16:22   ` Marc MERLIN
2026-04-12  1:57 ` Marc MERLIN
2026-04-12  1:57   ` Marc MERLIN
2026-04-12  2:28   ` Marc MERLIN
2026-04-12  2:28     ` Marc MERLIN
2026-04-12 17:38     ` Marc MERLIN
2026-04-12 17:38       ` Marc MERLIN
2026-04-12 20:21       ` Marc MERLIN
2026-04-12 20:21         ` Marc MERLIN
2026-04-13  2:14         ` Roman Mamedov
2026-04-13  2:34           ` Marc MERLIN
2026-04-13  2:34             ` Marc MERLIN
2026-04-13 17:52 ` Simple quota unsafe? RIP: 0010:__btrfs_free_extent.isra.0+0xc41/0x1020 [btrfs] / do_free_extent_accounting:2999: errno=-2 No such entry Marc MERLIN
2026-04-13 17:52   ` Marc MERLIN
2026-04-13 18:47   ` Boris Burkov
2026-04-13 19:40     ` Marc MERLIN
2026-04-13 19:40       ` Marc MERLIN
2026-04-15  5:21       ` Marc MERLIN
2026-04-15 17:05         ` Boris Burkov
2026-04-15 17:59           ` Marc MERLIN
2026-04-15 18:44             ` Boris Burkov
2026-04-15 20:22               ` Marc MERLIN
2026-04-15 22:36                 ` Boris Burkov
2026-04-15 22:55                   ` Marc MERLIN
2026-04-15 23:25                     ` Boris Burkov
2026-04-16  0:55                       ` Marc MERLIN
2026-04-16  1:22                         ` Boris Burkov
2026-04-16  0:45                     ` Boris Burkov
2026-04-16  1:08                       ` Marc MERLIN
2026-04-16  1:25                         ` Boris Burkov
2026-04-16 16:51                           ` Simple quota unsafe (FIXED: btrfstune --remove-simple-quota worked) Marc MERLIN
2026-04-16 17:21                           ` Simple quota unsafe? RIP: 0010:__btrfs_free_extent.isra.0+0xc41/0x1020 [btrfs] / do_free_extent_accounting:2999: errno=-2 No such entry Marc MERLIN
2026-04-16 21:36                             ` Boris Burkov
2026-04-16 21:47                               ` Marc MERLIN
2026-04-17 21:51                                 ` Boris Burkov
2026-04-17 22:37                                   ` Marc MERLIN
2026-04-17 23:16                                     ` Boris Burkov
2026-04-18  0:18                                       ` Marc MERLIN
2026-04-22  2:26                                         ` Boris Burkov
2026-04-22  6:08                                           ` Marc MERLIN
2026-04-22 17:10                                           ` Deleted snapshots stay in squota, mayube because of bees? Marc MERLIN
2026-04-22 19:23                                             ` Boris Burkov [this message]
2026-04-22 19:30                                               ` Marc MERLIN
2026-04-22 19:38                                                 ` Boris Burkov
2026-04-22 20:11                                                   ` Marc MERLIN
2026-04-23 19:28                                                     ` Boris Burkov
2026-04-24  2:55                                                       ` Marc MERLIN
2026-04-17  3:43 ` BTRFS discard crash: failed to run delayed ref for logical 15506102321152 num_bytes 16384 type 182 action 2 ref_mod 1: -2 6.11.2) David Disseldorp
2026-04-17  5:19   ` Marc MERLIN

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260422192344.GA1392535@zen.localdomain \
    --to=boris@bur.io \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=marc_btrfs@merlins.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox