engine: resources, lang: Set resource fields more accurately
There were some bugs about setting resource fields that were structs with various fields. This makes things more strict and correct. Now we check for duplicate field names earlier (duplicates due to identical aliases) and we also don't try and set private fields, or incorrectly set partial structs. Most interestingly, this also cleans up all of the resources and ensures that each one has nicer docs and a clear struct tag for fields that we want to use in mcl. These are mandatory now, and if you're missing the tag, then we will ignore the field.
This commit is contained in:
@@ -109,13 +109,24 @@ type MountRes struct {
|
||||
|
||||
init *engine.Init
|
||||
|
||||
// State must be exists ot absent. If absent, remaining fields are ignored.
|
||||
State string `yaml:"state"`
|
||||
Device string `yaml:"device"` // location of the device or image
|
||||
Type string `yaml:"type"` // the type of filesystem
|
||||
Options map[string]string `yaml:"options"` // mount options
|
||||
Freq int `yaml:"freq"` // dump frequency
|
||||
PassNo int `yaml:"passno"` // verification order
|
||||
// State must be exists or absent. If absent, remaining fields are
|
||||
// ignored.
|
||||
State string `lang:"state" yaml:"state"`
|
||||
|
||||
// Device is the location of the device or image.
|
||||
Device string `lang:"device" yaml:"device"`
|
||||
|
||||
// Type of the filesystem.
|
||||
Type string `lang:"type" yaml:"type"`
|
||||
|
||||
// Options are mount options.
|
||||
Options map[string]string `lang:"options" yaml:"options"`
|
||||
|
||||
// Freq is the dump frequency.
|
||||
Freq int `lang:"freq" yaml:"freq"`
|
||||
|
||||
// PassNo is the verification order.
|
||||
PassNo int `lang:"passno" yaml:"passno"`
|
||||
|
||||
mount *fstab.Mount // struct representing the mount
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user