Mailinglist Archive: yast-devel (211 mails)

< Previous Next >
Re: [yast-devel] Some notes about new storage API: classes
On Thu, Oct 15, 2015 at 05:30:15PM +0200, Martin Vidner wrote:

What is a Holder? It seems to be characterized by having a source
sid and a target sid, which still does not give me a hint.
Its subclasses Subdevice and User are even more opaque to me.

Technical it's the edge in the graph, so it expresses what device
is linked what device. The name I have borrowed from sysfs (but
it's not the same as in sysfs), e.g. on my system I have
(simplified)

# ll /sys/block/sda/sda2/holders/
lrwxrwxrwx 1 root root 0 Oct 15 17:17 dm-0 ->
../../../../../../../../../../virtual/block/dm-0
lrwxrwxrwx 1 root root 0 Oct 15 17:17 dm-1 ->
../../../../../../../../../../virtual/block/dm-1

In the graph there are different holders.

- Subdevice: E.g. a partition is the subdevice of a Disk and a
logical volume is the subdevice of a volume group.

- User: E.g. a partition is used by a volume group (the case on
my system), a disk is used by a RAID, a logical volume is used
by a filesystem.

So far the distinction is not really important so it could
change.

Environment sounds like a candidate for a kitchen sink of unrelated
hacks. Can we describe it with the purpose of limiting its scope?

Yes, we should define its purpose.

Devicegraph should be renamed to DeviceGraph. It just isn't a single
word.

Fine for me.

Why is there Storage::copy_devicegraph if Devicegraph is_a
noncopyable?

Devicegraph has a copy function. Replacing the copy function by
standard copy and assignment operators should be possible.

The "Encryption" name is bothering me because encryption is a
concept whereas all the other subclasses of Device are things.

Is "Crypt", "CryptDevice" or "EncryptedDevice" better for you?

storage::Disk::get_transport returns a storage_legacy::Transport. A
"modern" object returning a "legacy" object does not feel right, but
I don't know enough to suggest an alternative.

Some enums are used in the legacy and the new interface. Defining
them twice is bad so for the time being I use the legacy
namespace. Nothing more.

ciao Arvin

--
Arvin Schnell, <aschnell@xxxxxxxx>
Senior Software Engineer, Research & Development
SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton, HRB 21284
(AG Nürnberg)
Maxfeldstraße 5
90409 Nürnberg
Germany
--
To unsubscribe, e-mail: yast-devel+unsubscribe@xxxxxxxxxxxx
To contact the owner, e-mail: yast-devel+owner@xxxxxxxxxxxx

< Previous Next >
Follow Ups