`timeshift --delete` never finishes with btrfs simple quotas (quota rescan retried forever)
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức phù hợp với người mới
- 50/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Lĩnh vực
- operating-systems
Hướng nghiên cứu
The hang comes from the two btrfs quota rescan retry loops in src/Core/Subvolume.vala, the "Rescanning quotas" and "(post)" steps. Reproduce by enabling simple quotas with btrfs quota enable --simple /, then deleting a snapshot. Check whether /sys/fs/btrfs/<fsid>/qgroups/mode reports squota before rescanning. Done when the delete finishes under simple quotas and normal quota behaviour is unchanged.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Describe the bug
With btrfs simple quotas enabled (btrfs quota enable --simple /), deleting a snapshot never finishes. The subvolume itself is deleted fine, but then timeshift retries btrfs quota rescan once a second, forever. Simple quotas have no rescan, so the command always fails with Invalid argument.
For me it blocked a system upgrade: timeshift-autosnap deletes old snapshots from a pacman hook, and the upgrade hung until I killed timeshift.
To Reproduce
Steps derived from the code path and the real run below; not yet re-run on a clean system.
- btrfs root, timeshift in btrfs mode
btrfs quota enable --simple /- Create a snapshot, then
timeshift --delete --snapshot <name> - It hangs; the log repeats
Still rescanning quotas... ERROR: quota rescan failed: Invalid argument, and the kernel logsqgroup rescan init failed, running in simple modeonce a second.
Real run (delete log):
[10:31:22] Deleted subvolume: @ (Id:473)
[10:31:22] Waiting on btrfs to finish deleting...
[10:31:23] Rescanning quotas...
[10:31:23] Still rescanning quotas... ERROR: quota rescan failed: Invalid argument
... 580 identical lines ...
[10:41:04] Still rescanning quotas... ERROR: quota rescan failed: Invalid argument
Expected behavior
The delete finishes. Under simple quotas there is nothing to rescan.
Cause
src/Core/Subvolume.vala (unchanged on master at 26.09.0) loops while (btrfs quota rescan ... != 0) sleep(1000), twice ("Rescanning quotas" and "(post)"). It treats every failure as "rescan still running". Checking /sys/fs/btrfs/<fsid>/qgroups/mode for squota and skipping the rescans would fix it. Possibly related: #354. The GUI uses the same delete code, so it should hang the same way (not tried).
System
- Manjaro (rolling), kernel 6.18.49
- Desktop: XFCE, X11
- Timeshift 25.12.4, btrfs mode; btrfs-progs 7.1; timeshift-autosnap-manjaro 0.10.0
Disclosure: this was diagnosed and written up by an AI assistant (Claude) working on my machine. The log excerpt is from my system and the code reference is against current master, but I have not verified the analysis myself. Happy to provide more logs, and a PR if wanted.
- Ngôn ngữ chính
- Vala
- Star
- 4.3k
- Fork
- 159
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của linuxmint/timeshift
-
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 78/100
-
License parsing with GitHubĐang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 68/100
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 35/100
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 57/100
-
timeshift --create hangs indefinitely at exit in infinite read() = 0 loop on aarch64 (Fedora 44 / Kernel 7.2.x)Có thể đã có người làm @ygerlach đã nhận 6 ngày trước. Đang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 28/100
Tất cả issue của linuxmint/timeshift
Issue tương tự
-
base-files: 82_config_generate: regenerate /etc/board.json if 0-bytes / truncated after power cutĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
openwrt/openwrt#25940 · 5 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
-
Volume eject does not refuse system, root or /home mountsCó thể đã có người làm @bernardopg đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
spacedriveapp/spacedrive#3159 ·
Maintainer thường phản hồi trong vòng 1 ngày