RFE: add function 'bd_btrfs_replace_device' to btrfs plugin
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 35/100
- Type d'issue
- Fonctionnalité
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Stack technique
- c, linux
- Domaine
- operating-systems
Piste de recherche
The request is to add a bd_btrfs_replace_device function to the btrfs plugin, wrapping btrfs replace start as an alternative to the add-then-remove sequence. Read the existing btrfs plugin device-management functions first, using the linked UDisks BTRFS documentation as the reference for the expected behaviour. Done means a new function, its test coverage, and a note on the size caveat that the replacement device must be at least as large as the source.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
http://storaged.org/doc/udisks2-api/latest/gdbus-org.freedesktop.UDisks2.Filesystem.BTRFS.html
Instead of AddDevice followed by RemoveDevice, it's preferred to use btrfs replace. Both btrfs device add/remove imply file system resize, and also a relatively expensive balance. Whereas replace is a variation on scrub, and is a sort of virtual and temporary raid1 between the device being replaced and the new device. Both devices are used for reads and writes, so there's better safety as well as performance.
There are two current caveats: the replacement block device must be equal to or larger than the device being replaced; and once replacement is complete, there is no automatic resize (grow) to take advantage of space for a larger device.
It's actually more expedient to do a minimal resize (shrink) of a device being replaced, in order to make it possible to use replace instead of add followed by remove.
man btrfs replace
start [-Bfr] <srcdev>|<devid> <targetdev> <path>
_Originally posted by @cmurf in https://github.com/storaged-project/udisks/issues/803
- Langage dominant
- C
- Étoiles
- 137
- Forks
- 64
- Merge moyen
- 20 h 5 min
- PR mergées (30 j)
- 6
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
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de storaged-project/libblockdev
-
fails to build with libnvme3 (nvme-cli 3.0)Peut-être pris @tbzatek l’a pris il y a 51 jours. Ouverte
storaged-project/libblockdev#1211 · 4 commentaires · 1 personne assignée ·
-
RFE
Difficulté 3/5 1-2 jours Accessibilité débutants 35/100
storaged-project/libblockdev#1093 · 3 commentaires ·
-
Difficulté 4/5 Plus d'une semaine Accessibilité débutants 18/100
storaged-project/libblockdev#1067 ·
-
Difficulté 3/5 Une demi-journée Accessibilité débutants 40/100
storaged-project/libblockdev#1060 · 1 commentaire ·
-
enhancement
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 12/100
storaged-project/libblockdev#977 · 1 commentaire ·
Toutes les issues de storaged-project/libblockdev
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
containers/bubblewrap#826 ·
Les mainteneurs répondent en général sous 1 jour
-
[compiler-rt] Rtsan-aarch64-NoInstTest: error: no such file or directory: 'NOTFOUND' (libatomic)Ouvertebuild-problem compiler-rt:rtsan platform:linux
Difficulté 2/5 1-3 heures Accessibilité débutants 63/100
llvm/llvm-project#239039 ·
Les mainteneurs répondent en général sous 1 jour
-
component:obi contribfest go test
Difficulté 2/5 Moins d'une heure Accessibilité débutants 83/100
open-telemetry/opentelemetry-ebpf-instrumentation#4143 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 64/100
checkpoint-restore/criu#3304 ·
Les mainteneurs répondent en général sous 1 jour
-
Separate Installation Commands into Individual Code BlocksPeut-être pris @andrySD l’a pris aujourd’hui. Ouverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
colbymchenry/codegraph#3241 ·
Les mainteneurs répondent en général sous 1 jour