Each creation of a FCoE device increases counter which is used as a suffix
in a FCoE device name in sysfs (i.e. /sys/bus/fcoe/devices/ctlr_1).
Once this counter reaches the value of two digits (10 and larger),
get_ctlr_num() stopped working properly and a command like `fcoeadm -i`
which depends on get_ctlr_num() call doesn't show anything.
This patch solves this problem.

Signed-off-by: Andrey Grafin <andrey.gra...@acronis.com>
---
 lib/sysfs_hba.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/sysfs_hba.c b/lib/sysfs_hba.c
index 5cb7fd3fa5d..786215440ba 100644
--- a/lib/sysfs_hba.c
+++ b/lib/sysfs_hba.c
@@ -606,7 +606,7 @@ static int get_ctlr_num(const char *netdev)
                if (!ctlr)
                        continue;
 
-               ctlr_num = atoi(&ctlr[strlen(ctlr) - 1]);
+               ctlr_num = atoi(&ctlr[sizeof("ctlr_") - 1]);
                break;
        }
 
-- 
2.11.0

Reply via email to