g_part: allow GEOM::kerneldump on freebsd-zfs partitions for ZFS dumpio

Aperta
#389 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
1-2 giorni
Idoneità per principianti
35/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
c

Direzione di ricerca

Start from the kerneldump attribute handling in g_part_start() and the freebsd-ufs check added by patch 0085 that this issue extends. The change adds a freebsd-zfs partition case for requests from the ZFS vdev consumer while keeping the existing check for all other requests, and the parent-chain walk to the root must stay. Done means a leaf dumperinfo can be cached on a freebsd-zfs partition, which depends on nextbsd/nextbsd-kernel#220 landing first.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

area:vm enhancement

Summary

Split out of nextbsd/nextbsd-kernel#217, which was done for UFS in nextbsd/nextbsd-kernel#386 (patch 0085).

g_part_start() answers GEOM::kerneldump for swap/dump partition types, nested schemes and, since 0085, freebsd-ufs partitions when the request comes from a VFS-class consumer. ZFS dumpio (nextbsd/nextbsd-kernel#220) needs the same for freebsd-zfs partitions: the leaf dumperinfo of the partition under a pool vdev, requested by vdev_geom's consumer, not a VFS one.

Design

Extend 0085's check: also allow the attribute when the partition type is freebsd-zfs and the request came from the ZFS vdev consumer. Keep 0085's walk to the root of the bio's parent chain, so labels and other pass-through geoms above the partition still work. Every other request keeps the old check. About 15 lines.

Acceptance

  • ZFS dumpio (#220) caches a leaf dumperinfo on a freebsd-zfs partition

Part of epic nextbsd/nextbsd#600 (E31 Filesystems: OpenZFS fork). Do it with the OpenZFS fork. Depends on: nextbsd/nextbsd-kernel#220 (the consumer that asks).

Lingua principale
C
Stelle
12
Fork
3
Merge medio
1h 39m
PR unite (30g)
101

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di nextbsd/nextbsd-kernel

Tutte le issue di nextbsd/nextbsd-kernel

Issue simili

Altre issue su C

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.