Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

btrfs plugin missing a check for minimum file system size for shrink

Ouverte
#548 6 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
18/100
Type d'issue
Fonctionnalité
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
c
Domaine
infrastructure

Piste de recherche

The resize code under discussion is in src/plugins/btrfs.c, around lines 876-902. The fix would add a check that calls btrfs inspect-internal min-dev-size before shrinking. The issue says this depends on the upstream btrfs-progs bug in kdave/btrfs-progs#271, and multi-device resize (devid 1 assumed) is still undecided, so confirm both before starting.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

GNOME Disks lacks resize support for Btrfs. But libblockdev has it.
https://github.com/storaged-project/libblockdev/blob/master/src/plugins/btrfs.c#L876-L902

But it's missing a check for the minimum possible shrink size: 'btrfs inspect-internal min-dev-size'
And before it can, this btrfs-progs bug needs fixed.
https://github.com/kdave/btrfs-progs/issues/271

Also, maybe there should be a better interface for libblockdev to use?

Also, in the multiple device case, if a device is not specified for resize, devid 1 is assumed. That suggests (a) fully supporting multiple device resizes; (b) a way to inhibit/block resize if it's a multiple device btrfs. How to know if it's multiple device? #244 probably needs a solution before knowing whether the device can be mounted as well as how many devices.

Langage dominant
C
Étoiles
137
Forks
64
Merge moyen
1 j 5 h
PR mergées (30 j)
3

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de storaged-project/libblockdev

Toutes les issues de storaged-project/libblockdev

Issues similaires

Plus d'issues C

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.