1*6cf2a73cSMauro Carvalho Chehab=============== 2*6cf2a73cSMauro Carvalho Chehabdm-queue-length 3*6cf2a73cSMauro Carvalho Chehab=============== 4*6cf2a73cSMauro Carvalho Chehab 5*6cf2a73cSMauro Carvalho Chehabdm-queue-length is a path selector module for device-mapper targets, 6*6cf2a73cSMauro Carvalho Chehabwhich selects a path with the least number of in-flight I/Os. 7*6cf2a73cSMauro Carvalho ChehabThe path selector name is 'queue-length'. 8*6cf2a73cSMauro Carvalho Chehab 9*6cf2a73cSMauro Carvalho ChehabTable parameters for each path: [<repeat_count>] 10*6cf2a73cSMauro Carvalho Chehab 11*6cf2a73cSMauro Carvalho Chehab:: 12*6cf2a73cSMauro Carvalho Chehab 13*6cf2a73cSMauro Carvalho Chehab <repeat_count>: The number of I/Os to dispatch using the selected 14*6cf2a73cSMauro Carvalho Chehab path before switching to the next path. 15*6cf2a73cSMauro Carvalho Chehab If not given, internal default is used. To check 16*6cf2a73cSMauro Carvalho Chehab the default value, see the activated table. 17*6cf2a73cSMauro Carvalho Chehab 18*6cf2a73cSMauro Carvalho ChehabStatus for each path: <status> <fail-count> <in-flight> 19*6cf2a73cSMauro Carvalho Chehab 20*6cf2a73cSMauro Carvalho Chehab:: 21*6cf2a73cSMauro Carvalho Chehab 22*6cf2a73cSMauro Carvalho Chehab <status>: 'A' if the path is active, 'F' if the path is failed. 23*6cf2a73cSMauro Carvalho Chehab <fail-count>: The number of path failures. 24*6cf2a73cSMauro Carvalho Chehab <in-flight>: The number of in-flight I/Os on the path. 25*6cf2a73cSMauro Carvalho Chehab 26*6cf2a73cSMauro Carvalho Chehab 27*6cf2a73cSMauro Carvalho ChehabAlgorithm 28*6cf2a73cSMauro Carvalho Chehab========= 29*6cf2a73cSMauro Carvalho Chehab 30*6cf2a73cSMauro Carvalho Chehabdm-queue-length increments/decrements 'in-flight' when an I/O is 31*6cf2a73cSMauro Carvalho Chehabdispatched/completed respectively. 32*6cf2a73cSMauro Carvalho Chehabdm-queue-length selects a path with the minimum 'in-flight'. 33*6cf2a73cSMauro Carvalho Chehab 34*6cf2a73cSMauro Carvalho Chehab 35*6cf2a73cSMauro Carvalho ChehabExamples 36*6cf2a73cSMauro Carvalho Chehab======== 37*6cf2a73cSMauro Carvalho ChehabIn case that 2 paths (sda and sdb) are used with repeat_count == 128. 38*6cf2a73cSMauro Carvalho Chehab 39*6cf2a73cSMauro Carvalho Chehab:: 40*6cf2a73cSMauro Carvalho Chehab 41*6cf2a73cSMauro Carvalho Chehab # echo "0 10 multipath 0 0 1 1 queue-length 0 2 1 8:0 128 8:16 128" \ 42*6cf2a73cSMauro Carvalho Chehab dmsetup create test 43*6cf2a73cSMauro Carvalho Chehab # 44*6cf2a73cSMauro Carvalho Chehab # dmsetup table 45*6cf2a73cSMauro Carvalho Chehab test: 0 10 multipath 0 0 1 1 queue-length 0 2 1 8:0 128 8:16 128 46*6cf2a73cSMauro Carvalho Chehab # 47*6cf2a73cSMauro Carvalho Chehab # dmsetup status 48*6cf2a73cSMauro Carvalho Chehab test: 0 10 multipath 2 0 0 0 1 1 E 0 2 1 8:0 A 0 0 8:16 A 0 0 49