<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
Lin Feng Shen wrote:
<blockquote TYPE=CITE> 
<br><tt><font size=-1>From: Lin Feng Shen <shenlinf@cn.ibm.com></font></tt>
<p><font face="sans-serif"><font size=-1>"mount [devname | dirname]" showes
mount points according to the device</font></font>
<br><font face="sans-serif"><font size=-1>name or directory name. Generally
speaking, two path names shouldn't be</font></font>
<br><font face="sans-serif"><font size=-1>different due to additional "/",
e.g. /distros and /distros/, but it</font></font>
<br><font face="sans-serif"><font size=-1>seems that mount command doesn't
handle it properly, e.g.</font></font>
<br><font face="sans-serif"><font size=-1>----------</font></font>
<br><font face="sans-serif"><font size=-1>crash> mount</font></font>
<br><font face="sans-serif"><font size=-1>    VFSMOUNT        
SUPERBLK     TYPE   DEVNAME      
DIRNAME</font></font>
<br><font face="sans-serif"><font size=-1>...</font></font>
<br><font face="sans-serif"><font size=-1>c00000000224eb80 c000000002589800
ext3   /dev/sda2     /boot</font></font>
<br><font face="sans-serif"><font size=-1>...</font></font>
<br><font face="sans-serif"><font size=-1>crash> mount /boot</font></font>
<br><font face="sans-serif"><font size=-1>    VFSMOUNT        
SUPERBLK     TYPE   DEVNAME      
DIRNAME</font></font>
<br><font face="sans-serif"><font size=-1>c00000000224eb80 c000000002589800
ext3   /dev/sda2     /boot</font></font>
<br><font face="sans-serif"><font size=-1>crash> mount /boot/</font></font>
<br><font face="sans-serif"><font size=-1>crash></font></font>
<br><font face="sans-serif"><font size=-1>----------</font></font>
<br> </blockquote>
Tests OK -- queued for next release...
<p>Thanks again,
<br>   Dave
<br> 
<blockquote TYPE=CITE> 
<br><font face="sans-serif"><font size=-1>The patch provides pathcmp()
replacing STREQ to compare two path names.</font></font>
<br><font face="sans-serif"><font size=-1>It's created against crash-4.0-25.4
in SLES10_RC3.</font></font>
<p><tt><font size=-1>Signed-off-by: Lin Feng Shen <shenlinf@cn.ibm.com></font></tt>
<br><tt><font size=-1>---</font></tt>
<p><font face="sans-serif"><font size=-1>diff -upNr crash-4.0-2.18.orig/defs.h
crash-4.0-2.18/defs.h</font></font>
<br><font face="sans-serif"><font size=-1>--- crash-4.0-2.18.orig/defs.h       
2006-07-05 23:46:10.000000000 -0400</font></font>
<br><font face="sans-serif"><font size=-1>+++ crash-4.0-2.18/defs.h       
2006-07-06 06:30:12.000000000 -0400</font></font>
<br><font face="sans-serif"><font size=-1>@@ -91,6 +91,7 @@</font></font>
<br><font face="sans-serif"><font size=-1> #define STREQ(A, B)     
(A && B && (strcmp((char *)(A), (char *)(B)) == 0))</font></font>
<br><font face="sans-serif"><font size=-1> #define STRNEQ(A, B)    
(A && B && \</font></font>
<br><font face="sans-serif"><font size=-1>        
(strncmp((char *)(A), (char *)(B), strlen((char *)(B))) == 0))</font></font>
<br><font face="sans-serif"><font size=-1>+#define PATHEQ(A, B)    
(A && B && (pathcmp((char *)(A), (char *)(B)) == 0))</font></font>
<br><font face="sans-serif"><font size=-1> #define BZERO(S, N)     
(memset(S, NULLCHAR, N))</font></font>
<br><font face="sans-serif"><font size=-1> #define BCOPY(S, D, C)  
(memcpy(D, S, C))</font></font>
<br><font face="sans-serif"><font size=-1> #define BNEG(S, N)      
(memset(S, 0xff, N))</font></font>
<br><font face="sans-serif"><font size=-1>@@ -2876,6 +2877,7 @@ int empty_list(ulong);</font></font>
<br><font face="sans-serif"><font size=-1> int machine_type(char *);</font></font>
<br><font face="sans-serif"><font size=-1> void command_not_supported(void);</font></font>
<br><font face="sans-serif"><font size=-1> void option_not_supported(int);</font></font>
<br><font face="sans-serif"><font size=-1>+int pathcmp(char* p1, char*
p2);</font></font>
<br> 
<p><font face="sans-serif"><font size=-1> /*</font></font>
<br><font face="sans-serif"><font size=-1>diff -upNr crash-4.0-2.18.orig/filesys.c
crash-4.0-2.18/filesys.c</font></font>
<br><font face="sans-serif"><font size=-1>--- crash-4.0-2.18.orig/filesys.c       
2006-07-05 23:46:09.000000000 -0400</font></font>
<br><font face="sans-serif"><font size=-1>+++ crash-4.0-2.18/filesys.c       
2006-07-06 06:30:22.000000000 -0400</font></font>
<br><font face="sans-serif"><font size=-1>@@ -1193,7 +1193,7 @@ cmd_mount(void)</font></font>
<br><font face="sans-serif"><font size=-1>                                        
continue;</font></font>
<p><font face="sans-serif"><font size=-1>                                
for (i = 0; i < c; i++) {</font></font>
<br><font face="sans-serif"><font size=-1>-                                       
if (STREQ(arglist[i], spec_string))</font></font>
<br><font face="sans-serif"><font size=-1>+                                       
if (PATHEQ(arglist[i], spec_string))</font></font>
<br><font face="sans-serif"><font size=-1>                                                
found = TRUE;</font></font>
<br><font face="sans-serif"><font size=-1>                                
}</font></font>
<br><font face="sans-serif"><font size=-1>                                
if (found) {</font></font>
<br><font face="sans-serif"><font size=-1>diff -upNr crash-4.0-2.18.orig/tools.c
crash-4.0-2.18/tools.c</font></font>
<br><font face="sans-serif"><font size=-1>--- crash-4.0-2.18.orig/tools.c       
2006-07-05 23:46:10.000000000 -0400</font></font>
<br><font face="sans-serif"><font size=-1>+++ crash-4.0-2.18/tools.c       
2006-07-06 06:28:01.000000000 -0400</font></font>
<br><font face="sans-serif"><font size=-1>@@ -4328,3 +4328,23 @@ option_not_supported(int
c)</font></font>
<br><font face="sans-serif"><font size=-1>        
error(FATAL, "-%c option not supported on this architecture or kernel\n",</font></font>
<br><font face="sans-serif"><font size=-1>                
(char)c);</font></font>
<br><font face="sans-serif"><font size=-1> }</font></font>
<br><font face="sans-serif"><font size=-1>+</font></font>
<br><font face="sans-serif"><font size=-1>+/*</font></font>
<br><font face="sans-serif"><font size=-1>+ * The function to compare two
device paths</font></font>
<br><font face="sans-serif"><font size=-1>+ */</font></font>
<br><font face="sans-serif"><font size=-1>+int</font></font>
<br><font face="sans-serif"><font size=-1>+pathcmp(char* p1, char* p2)</font></font>
<br><font face="sans-serif"><font size=-1>+{</font></font>
<br><font face="sans-serif"><font size=-1>+       
char c1, c2;</font></font>
<br><font face="sans-serif"><font size=-1>+</font></font>
<br><font face="sans-serif"><font size=-1>+       
do {</font></font>
<br><font face="sans-serif"><font size=-1>+               
if ((c1 = *p1++) == '/')</font></font>
<br><font face="sans-serif"><font size=-1>+                       
while(*p1 == '/'){ p1++; }</font></font>
<br><font face="sans-serif"><font size=-1>+               
if ((c2 = *p2++) == '/')</font></font>
<br><font face="sans-serif"><font size=-1>+                       
while(*p2 == '/'){ p2++; }</font></font>
<br><font face="sans-serif"><font size=-1>+               
if (c1 == '\0')</font></font>
<br><font face="sans-serif"><font size=-1>+                       
return ((c2 == '/') && (*p2 == '\0')) ? 0 : c1 - c2;</font></font>
<br><font face="sans-serif"><font size=-1>+       
} while (c1 == c2);</font></font>
<br><font face="sans-serif"><font size=-1>+</font></font>
<br><font face="sans-serif"><font size=-1>+       
return ( (c2 == '\0') && (c1 == '/') && (*p1 == '\0'))
? 0 : c1 - c2;</font></font>
<br><font face="sans-serif"><font size=-1>+}</font></font>
<pre WRAP>
<hr WIDTH="90%" SIZE=4>--
Crash-utility mailing list
Crash-utility@redhat.com
<a href="https://www.redhat.com/mailman/listinfo/crash-utility">https://www.redhat.com/mailman/listinfo/crash-utility</a></pre>
</blockquote>
</html>