[RFC] Rewriting sade(8)

Randi Harper randi at freebsd.org
Wed Apr 7 17:49:36 UTC 2010

On Wed, Apr 7, 2010 at 9:35 AM, Andrey V. Elsukov <bu7cher at yandex.ru> wrote:
> Hi, All.
> Some days ago i begun rewriting sade(8) to libgeom(3). Just for fun :-)
> Today i have progress and you can see some screenshoots here:
> http://butcher.heavennet.ru/sade/
> What is done:
> 1. It's fully rewritten, but yes, i reuse some code from old sade.
> 2. I wrote small framework "customdlg" for creating custom dialogs (not yet fully finished, but works).
> 3. Now sade use libgeom for searching providers and it can use:
>        {"DISK",        "disk device"},
>        {"MD",          "memory backed virtual disk"},
>        {"ZFS::ZVOL",   "ZFS volume"},
>        {"MIRROR",      "GEOM based mirror (RAID1)"},
>        {"STRIPE",      "GEOM based stripe (RAID0)"},
>        {"RAID3",       "GEOM based RAID3 array"},
>        {"CONCAT",      "GEOM based concatenated disk"},
>        {"ELI",         "GEOM based encrypted disk"},
>        {"JOURNAL",     "GEOM based journalled disk"},
>        {"MULTIPATH",   "GEOM based disk with multiple path"}
> 4. Access to partitions based on geom_part.so library. I made some changes in geom_part.c and
> sent it to Marcel, but currently didn't receive answer. Any way if these changes is not acceptable
> i can rewrite it for using libgeom(3) only.
> 5. Undo/Commit features are based on internal implementation of geom class PART. I found there
> two bugs:
> http://lists.freebsd.org/pipermail/freebsd-geom/2010-April/004018.html
> http://lists.freebsd.org/pipermail/freebsd-bugs/2010-April/039390.html
> 6. All "device" related code can be placed in shared library and in future can be reused in another
> frontend...
> 7. New Partition Editor:
> * partitions list now scrollable;
> * all operations based on geom_part.so and similar to gpart(8);
> * opening partition editor on empty provider opens new "Selech Partitioning Scheme" dialog
> and create selected scheme;
> * new add slice dialog;
> * deleting slice from empty table destroys scheme;
> Todo:
> 1. Refine customdlg.
> 2. Waiting for fixes in geom_part_mbr, geom_part and geom_part.so.
> 3. "Set Type and Label" dialog.
> 4. Better wording needed for messages and help. My english is bad :(
> ------
> Missing functions:
> Creating filesystem and save them into /etc/fstab.
> What new can be added:
> 1. Creating ZFS pools and datasets.
> 2. Creating GEOM-based raids.
> Any comments are welcome.
> --
> WBR, Andrey V. Elsukov
> _______________________________________________
> freebsd-current at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe at freebsd.org"

Wow. This is awesome. patches? :D

I've been working on moving sysinstall from libdisk to libgeom, but
unfortunately it's a bit more complicated (redoing the way we detect
devices while I'm at it). I've done a lot of the heavy lifting code,
but I haven't even started on the GUI parts yet. I'd love to see how
someone else tackled doing this. I'm particularly interested in #5 &
#7. :)

Generally, we try to keep sysinstall's disk tools and sade in sync, so
I would like to work with you on this and see what we can come up
with. I'm not entirely sure if #2 is a viable option since we already
have functions in sysinstall that handle generating dialog boxes with
libdialog, but if it's an improvement on what's existing, bring it on.

CC:ing Devin Teske on this thread, as he's displayed interest in
helping as well. My goal is to get all this in for 8.2, so there's
quite a bit to work out in a short period of time.

-- randi

More information about the freebsd-current mailing list