dcssblk: issue warning when trying to save SN/EN type DCSS
The content of a DCSS of type SN or EN cannot be saved. Issue a warning when trying to save such a DCSS. Depending on the setup, this may be a user error or intended behaviour e.g. with a multi-DCSS device. Signed-off-by: Gerald Schaefer <gerald.schaefer@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
parent
10ad34bc76
commit
5be6fdc090
1 changed files with 13 additions and 2 deletions
|
@ -438,7 +438,13 @@ dcssblk_save_store(struct device *dev, struct device_attribute *attr, const char
|
||||||
pr_info("All DCSSs that map to device %s are "
|
pr_info("All DCSSs that map to device %s are "
|
||||||
"saved\n", dev_info->segment_name);
|
"saved\n", dev_info->segment_name);
|
||||||
list_for_each_entry(entry, &dev_info->seg_list, lh) {
|
list_for_each_entry(entry, &dev_info->seg_list, lh) {
|
||||||
segment_save(entry->segment_name);
|
if (entry->segment_type == SEG_TYPE_EN ||
|
||||||
|
entry->segment_type == SEG_TYPE_SN)
|
||||||
|
pr_warn("DCSS %s is of type SN or EN"
|
||||||
|
" and cannot be saved\n",
|
||||||
|
entry->segment_name);
|
||||||
|
else
|
||||||
|
segment_save(entry->segment_name);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// device is busy => we save it when it becomes
|
// device is busy => we save it when it becomes
|
||||||
|
@ -797,7 +803,12 @@ dcssblk_release(struct gendisk *disk, fmode_t mode)
|
||||||
pr_info("Device %s has become idle and is being saved "
|
pr_info("Device %s has become idle and is being saved "
|
||||||
"now\n", dev_info->segment_name);
|
"now\n", dev_info->segment_name);
|
||||||
list_for_each_entry(entry, &dev_info->seg_list, lh) {
|
list_for_each_entry(entry, &dev_info->seg_list, lh) {
|
||||||
segment_save(entry->segment_name);
|
if (entry->segment_type == SEG_TYPE_EN ||
|
||||||
|
entry->segment_type == SEG_TYPE_SN)
|
||||||
|
pr_warn("DCSS %s is of type SN or EN and cannot"
|
||||||
|
" be saved\n", entry->segment_name);
|
||||||
|
else
|
||||||
|
segment_save(entry->segment_name);
|
||||||
}
|
}
|
||||||
dev_info->save_pending = 0;
|
dev_info->save_pending = 0;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue