[dm-devel] [QUESTION]: multipath device with wrong path lead to metadata err

lixiaokeng lixiaokeng at huawei.com
Thu Jan 28 08:27:51 UTC 2021


> 
>>
>> (1)multipath -r: The sdf is found as a path of
>> 36001405b7679bd96b094bccbf971bc90
>> (iscsi node is 4:0:0:2)
>>

   Here is a log "dm destory name dm-5; majir:minor 253:5; dm-5"
(dm-5 36001405b7679bd96b094bccbf971bc90) in system time
[1202538.163972]. I add this print in dm_destroy.

>> (2)iscsi logout: The sdf is removed in iscsi in system time
>> [1202538.467014].
>>

   I add refcount print in put_disk instead of put_disk_and_module.
The refcount of sdf will be reduced to zero even the fd to /dev/sdf
is opened (there is no "Couldn't open device node for sdf in log)
when 36001405b7679bd96b094bccbf971bc90 is destoried and iscsi
logout.

   I don't know why dm-5 is destoried. I doubt there may be some
issue in the kernel that I add some print. I have test this in
three computers, but the other two have no problem (they have been
runing for 96h and for 48h respectively).

   I will replace the kernel of the computer with this issue and test
it again.

   Do you have any great idea about dm-5 destruction? Thanks.

Regards,
Lixiaokeng



>> (3)iscsi login: The sdf appears in iscsi in system time
>> [1202538.825745].
>> It is a path of 3600140584e11eb1818c4afab12c17800 (iscsi node
>> 2:0:0:0)
>>
>> Here I have a doubt. When I stop in domap using gdb and iscsi log
>> out/in,
>> the sdf will not  be used again becasue the disk refcount is not
>> zero. I
>> add a print if the disk refcount is zero in put_disk_and_module (for
>> example lxk ref put after: name sdi; count 0), but there is not this
>> print
>> about sdf.
> 
> Yes, this is a very good point, and it's indeed strange. multipathd
> should have opened a file descriptor to /dev/sdf in pathinfo(), and as
> long as that file is open, the use count shouldn't drop to 0, the disk
> devices (block device and scsi_disk device) shouldn't be released, and
> the major/minor number shouldn't be reused. Unless I'm missing
> something essential, that is.





More information about the dm-devel mailing list