SCST-project / scst

SCST is a SCSI target software stack that allows to export any block device or file via iSCSI, FC or RDMA (SRP).
http://scst.sourceforge.net
96 stars 35 forks source link

weird action in alua when entering in transitioning mode #55

Closed pucira closed 2 years ago

pucira commented 2 years ago

Hi I have just tested SCST 3.6 release and find out one weird problem when using lvm in blockio device. I created a lv and used it as block device. then I created a device group and added all targets and devices in it. after that changed the device group into transitioning, but device not closed or inactived in scst. but when device existed in any target it closed. long story short, in version 3.5, after going into transitioning all devices at that device group is closed. but in version 3.6 if a device not in any target, device is not closed. Is this behavior not a problem?

lnocturno commented 2 years ago

Hi,

Sorry for the long response and thank you for the report. Could you provide your SCST config file. You can obtain it via scstadmin --write_config config

Thanks, Gleb.

lnocturno commented 2 years ago

Hi,

It seems I have found a commit which makes this changes.

https://github.com/SCST-project/scst/commit/d333ce8232a496947be93bf3b01eb9d98c04bacd

But it was done in the context of version 3.5. Anyway, do you have any problems with these changes?

Thanks, Gleb.

pucira commented 2 years ago

this is my scst config file

# Automatically generated by SCST Configurator v3.6.0.

HANDLER vdisk_blockio {
        DEVICE L_Dev_L1656520241 {
                filename /dev/P1656398991/L1656520241
                naa_id 0x6900000400223ac39d54452b8b86054d
                size 10995116277760
                t10_dev_id 52b8b86
                usn e223ac39d54452b8b86
                write_through 1
        }

        DEVICE L_Dev_L1656520242 {
                filename /dev/P1656398991/L1656520242
                naa_id 0x69000004004e63225a5bcb4c54e7054d
                size 10995116277760
                t10_dev_id b4c54e7
                usn 74e63225a5bcb4c54e7
                write_through 1
        }

        DEVICE T_Dev_L1656520241 {
                filename /dev/P1656398991/L1656520241
                naa_id 0x6900000400223ac39d54452b8b86054d
                size 10995116277760
                t10_dev_id 52b8b86
                usn e223ac39d54452b8b86
                write_through 1
        }

        DEVICE T_Dev_L1656520242 {
                filename /dev/P1656398991/L1656520242
                naa_id 0x69000004004e63225a5bcb4c54e7054d
                size 10995116277760
                t10_dev_id b4c54e7
                usn 74e63225a5bcb4c54e7
                write_through 1
        }
}

HANDLER vdisk_nullio {
        DEVICE device_null {
                dummy 1
        }
}

TARGET_DRIVER copy_manager {
        allow_not_connected_copy 1

        TARGET copy_manager_tgt {
                LUN 0 device_null
                LUN 9 T_Dev_L1656520241
                LUN 10 L_Dev_L1656520241
                LUN 11 T_Dev_L1656520242
                LUN 12 L_Dev_L1656520242
        }
}

TARGET_DRIVER iscsi {
        enabled 1

        TARGET iqn.spa:tgtR {
                allowed_portal 192.168.68.1
                enabled 1
                forward_dst 1
                forwarding 1
                rel_tgt_id 5

                LUN 0 device_null

                GROUP inigrp {
                        LUN 0 device_null
                        LUN 1 L_Dev_L1656520241
                        LUN 2 L_Dev_L1656520242

                        INITIATOR iqn.2016.node.spb
                }
        }
}

TARGET_DRIVER qla2x00t {
        TARGET 51:40:2e:c0:01:c6:4f:c8 {
                HW_TARGET

                enabled 1
                rel_tgt_id 1

                LUN 0 device_null

                GROUP ac108 {
                        LUN 0 device_null
                        LUN 1 T_Dev_L1656520241

                        INITIATOR 10:00:00:00:c9:e7:09:9d
                }
        }

        TARGET 51:40:2e:c0:01:c6:4f:ca {
                HW_TARGET

                enabled 1
                rel_tgt_id 2

                LUN 0 device_null

                GROUP ac108 {
                        LUN 0 device_null
                        LUN 1 T_Dev_L1656520241

                        INITIATOR 10:00:00:00:c9:e7:09:9d
                }
        }
}

DEVICE_GROUP dgspa {
        DEVICE T_Dev_L1656520241
        DEVICE T_Dev_L1656520242

        TARGET_GROUP tgt_a {
                group_id 1
                preferred 1
                state active

                TARGET 51:40:2e:c0:01:c6:4f:c8
                TARGET 51:40:2e:c0:01:c6:4f:ca
        }

        TARGET_GROUP tgt_n {
                group_id 2
                state nonoptimized

                TARGET 51:40:2e:c0:01:c6:55:a0 {
                        rel_tgt_id 1
                }
                TARGET 51:40:2e:c0:01:c6:55:a2 {
                        rel_tgt_id 2
                }
        }
}

DEVICE_GROUP dgspb {
        TARGET_GROUP tgt_a {
                group_id 1
                preferred 1
                state active

                TARGET 51:40:2e:c0:01:c6:55:a0 {
                        rel_tgt_id 1
                }
                TARGET 51:40:2e:c0:01:c6:55:a2 {
                        rel_tgt_id 2
                }
        }

        TARGET_GROUP tgt_n {
                group_id 2
                state nonoptimized

                TARGET 51:40:2e:c0:01:c6:4f:c8
                TARGET 51:40:2e:c0:01:c6:4f:ca
        }
}

sorry you are right, after rechecking my old scst version is 3.5pre

for example in this config after changing dgspa state to transitioning I can change filename of T_Dev_L1656520241 but can't change T_Dev_L1656520242 because it's not in any target group and I am manually inactivating LUN then change file name. is it possible if a device in device group and has not in any target group, inactivated and filename can be changeable when device group state changes to transitioning?

lnocturno commented 2 years ago

Hi,

Fix candidate was merged to the master branch. Tell me if you need this patch to be ported to the SCST 3.6 stable branch. If you reproduce this problem again, feel free to reopen the issue.

Thanks, Gleb.