On 2020-05-12 17:57, Ancor Gonzalez Sosa wrote:
Crazy idea 1
Sections like "hard disk", "LVM", "RAID", etc. would not
longer be the
main way to interact with the Partitioner. Their functionality will
remain somewhere, maybe slightly hidden compared to the current status.
Instead, the main entry point will be a list of the devices (or free
spaces) that are currently usable. Let's see it with an example.
Imagine a system with sda containing two Windows partitions, sdb
containing a small partition and a partially used LVM and sdc
empty. In the classic Partitioner we would navigate through a tree
containing all this:
But for such setup, the list that I propose (I'm still not sure if it
would be the first section of the left tree or something completely
different) will contain something like this:
Free space at vg0
Those are the devices (or spaces) that can be used for something
sda is not displayed because is fully used, so there is not much you
do with it unless you delete/resize its partitions first.
I like the general approach. Think of how we handle software during
installation (openSUSE installation, SLES came upon us down from product
management): You first see the broader view, the patterns; but you can
go deeper down to the individual package level. One important part here
is that even on that detailed level you can switch to the patterns view,
so both integrate fairly well.
So, I like the general idea to not confront the user with the ultimate
detail level immediately where most users are intimidated by all the
different views and their options. Even as an intermediate user you can
get confused quickly; and the more views and technologies we add (and we
keep adding them), the more potential there is to get lost.
The challenge now is where and how to begin so users have a feeling of
control over what's happening.
Your approach is to start with the results; while this may work for a
number of situations, it will fail for a number of common other ones. In
your example here, you don't want to display /dev/sda because there is
no free space; it is completely consumed by all the partitions.
Which begs the question: What would I do when I decide to start over?
"Just get rid of all that stuff and start from scratch?" Since the whole
disk is not visible or accessible here, what is the handle to just
delete everything on it? Do we really want users to piece together all
the stuff and remove each part individually (including LVM stuff!),
asking him for confirmation each time? I don't think so.
Don't get me wrong: This view has merits. I see what I am going to get.
But I am not so sure if this is a good starting point.
Users know they have disks in their computers; so we should represent
them, visualize them. This is the primary handle for users because it
corresponds to something from the real world; something they can touch,
something they can buy in a shop. You can't buy a partition or an LVM,
but you CAN buy a disk. Don't take away from users the few things from
the real world that they can make sense of in this context. ;-)
Driving the general approach one step further, we will probably still
end up with very much the traditional view of a (shallow) tree with
disks and partitions. But we can and should make clearer which parts the
user can easily manipulate and which ones are "locked" by system stuff:
/dev/sda Hitachi 1 TB Disk (GPT)
/dev/sda1 10 MB BIOS Boot Partition (required)
/dev/sda2 200 MB EFI System Partition (required)
/dev/sda3 500 GB Windows Partition NTFS
/dev/sda4 200 GB Linux Partition Btrfs /
/dev/sda5 300 GB used by Linux LVM
/dev/sdb Samsung 250 GB SSD
/dev/sdb1 250 GB used by Linux BCache
(all neatly arranged in columns; the order of things in the descriptions
is to be discussed, of course)
This is a view that I'd like to see as a user. I can make sense of this;
I can identify what is what, where all my disk space goes, that no disk
space is wasted, and that the stuff I can't make sense of are
"required". I am one happy user.
In this view, there are no details about the "other" stuff that is
already mentioned: LVM and BCache.
We could display that in a separate section below the disks; I am just
not sure how. Maybe like this:
Encrypted logical volume "system" 200 GB ext4 mounted at /home using
Volume group "lv_system" 300 GB
Encrypted physical volume /dev/sda5 300 GB
The important part here is to not get lost in abbreviations like LV, VG,
PV; they mean nothing to the average user, and it's near impossible to
Google for them.
This entry view is primarily meant for intermediate users; let's give
them a chance to grow into the more technical aspects.
But it's also useful for power users because it's an overview; one that
you get without switching through all the detail views in our existing
Don't get tempted to cram everything into this. Maybe we can still get
some common RAID types into this; but if anybody dumps all the dozens of
Btrfs subvolumes in there, he will be shot on the spot.
We will have to find a solution to refer users to other more detailed
views if a system has any really complex technologies. Multipath, iSCSI,
FCoE and whatnot come to mind.
Think of this as something similar to our proposals (the old ones, not
the new ones that are flooded with all kinds of stuff that doesn't
belong there): An overview, a starting point to dig deeper into a more
detailed level. This is not meant to switch every little detail
immediately; it is the main navigation and orientation tool.
displayed because it's the PV of vg0, so you
likely don't want to do
anything with it, unless you destroy vg0 first. And so on.
In that list, if you select sda1 you could then decide to mount it or
reformat it. And of course, you could also decide to delete or resize
it, which will result in a new free space appearing in the list.
If you select the free space in vg0, you will have the option to create
a new LV.
If you select sdc, you will be able to format it or to create a
partition table on it. Maybe even the option to use it as PV for an
existing or new volume group.
Do you get the idea? The main point is to get a curated list of devices
that you likely want to modify in your next action and to offer the
applicable/reasonable options for each of them.
Crazy idea 1. Extension
When you select a device, maybe we could display the actions that are
planned for that device, in addition to the possible options to use it
or modify it.
This sounds good.
GParted does something similar, but not very well. I think we can come
up with something better.
Imagine vg0/root already existed in the system but you
have decided to
reformat it and mount it as root. The screen you see when clicking on
could be something like:
Previous status: formatted as ext4
- Format it as Btrfs
- Mount it at "/" (see subvolumes)
[Format / mount] [Delete] [Resize]
And this time let's please not add every possible action on this level
right away; let's make liberal use of menu buttons with "More..." or
"Expert...". Let's restrict the normal actions to the most common ones.
Less is definitely more here.
Just "thinking aloud" but... what do you
think? Any useful point in the
Yes, a whole lot actually.
Alternatives? Just release your imagination!
Maybe some kind of meeting for further brainstorming?
...for now: brain / writing overflow, sending before the web app dies on
Stefan Hundhammer <shundhammer(a)suse.de>
SUSE Linux GmbH
GF: Felix Imendörffer, Jane Smithard, Graham Norton; HRB 21284 (AG
To unsubscribe, e-mail: yast-devel+unsubscribe(a)opensuse.org
To contact the owner, e-mail: yast-devel+owner(a)opensuse.org