Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 15 Nov 2014 05:50:34 +0000
From:      John <jwd@FreeBSD.org>
To:        FreeBSD-scsi <freebsd-scsi@freebsd.org>
Subject:   enc@ 'path too long'  sys/param.h patch
Message-ID:  <20141115055033.GA5740@FreeBSD.org>

next in thread | raw e-mail | index | archive | help
Hi Folks,

   I've been booting with verbose enabled and I've been getting many
msgs similar to the following:

kernel: WARNING: Unable to alias diskid/MULTIPATH-S3L0EX490000S349YJZ3 to enc@n500304800169db3d/type@0/slot@8/elmdesc@Slot07/diskid/MULTIPATH-S3L0EX490000S349YJZ3 - path too long

   SPECNAMELEN is 63 which is too small. The following small patch
and a rebuild of both world & kernel fixes the problem:

Index: sys/sys/param.h
===================================================================
--- sys/sys/param.h	(revision 274524)
+++ sys/sys/param.h	(working copy)
@@ -105,7 +105,7 @@
 #define	NOFILE		OPEN_MAX	/* max open files per process */
 #define	NOGROUP		65535		/* marker for empty group set member */
 #define MAXHOSTNAMELEN	256		/* max hostname size */
-#define SPECNAMELEN	63		/* max length of devicename */
+#define SPECNAMELEN	127		/* max length of devicename */
 
 /* More types and definitions used throughout the kernel. */
 #ifdef _KERNEL


   The directory structure now comes up:
   
enc@n500304800169db3d/type@0/slot@3/elmdesc@Slot02/da0
enc@n500304800169db3d/type@0/slot@3/elmdesc@Slot02/multipath/Z56
enc@n500304800169db3d/type@0/slot@3/elmdesc@Slot02/diskid/MULTIPATH-S3L03ASE0000M446F6CV

   However, the other disk in Z56 is not present:

# gmultipath status Z56
         Name   Status  Components
multipath/Z56  OPTIMAL  da0 (ACTIVE)
                        da87 (PASSIVE)

# find enc* | grep da87
#

   All the elements found in the current structure are under mpr0. Nothing
in mpr1 is present (the 2nd channel). The shelves are quad channeled with
two cables currently plugged in - so I was expecting to see two paths of disks.




   A second item is the symlink values are current directory only:

enc@n500304800169db3d/type@0/slot@3/elmdesc@Slot02/da0 -> da0
enc@n500304800169db3d/type@0/slot@3/elmdesc@Slot02/diskid/MULTIPATH-S3L03ASE0000M446F6CV -> diskid/MULTIPATH-S3L03ASE0000M446F6CV
enc@n500304800169db3d/type@0/slot@3/elmdesc@Slot02/multipath/Z56 -> multipath/Z56

   Thus the entries are not usable as is.

   Could da0 & da87 simply both show up in the same Slot02 structure?

# camcontrol smpphylist ses4 | grep da0
  2  0x5000c500767baa51   <SEAGATE ST1200MM0017 0002>       (da0,pass7)
# camcontrol smpphylist ses7 | grep da87
  2  0x5000c500767baa51   <SEAGATE ST1200MM0017 0002>       (da87,pass94)


   Thoughts?

Thanks!
John



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20141115055033.GA5740>