From 5f4fbd50568c9d8ba4e2b585378a353557181231 Mon Sep 17 00:00:00 2001
From: bobijam <bobijam>
Date: Thu, 4 Sep 2008 02:32:58 +0000
Subject: [PATCH] Branch HEAD b=16750 i=Nathan Rutman i=Sheng Yang

Description: service mount cannot take device name with ":"
Details    : Only when device name contains ":/" will mount treat it as
             client mount.
---
 lustre/ChangeLog            | 6 ++++++
 lustre/obdclass/obd_mount.c | 3 ++-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/lustre/ChangeLog b/lustre/ChangeLog
index 757fb9d515..b46c8418b4 100644
--- a/lustre/ChangeLog
+++ b/lustre/ChangeLog
@@ -12,6 +12,12 @@ tbd  Sun Microsystems, Inc.
        * RHEL 4 and RHEL 5/SLES 10 clients behaves differently on 'cd' to a
         removed cwd "./" (refer to Bugzilla 14399).
 
+Severity   : major
+Bugzilla   : 16750
+Description: service mount cannot take device name with ":"
+Details    : Only when device name contains ":/" will mount treat it as 
+             client mount.
+
 Severity   : major
 Bugzilla   : 16561
 Description: Hitting mdc_commit_close() ASSERTION
diff --git a/lustre/obdclass/obd_mount.c b/lustre/obdclass/obd_mount.c
index f38a88836c..bffa193a3b 100644
--- a/lustre/obdclass/obd_mount.c
+++ b/lustre/obdclass/obd_mount.c
@@ -1886,8 +1886,9 @@ static int lmd_parse(char *options, struct lustre_mount_data *lmd)
                 goto invalid;
         }
 
-        s1 = strrchr(devname, ':');
+        s1 = strstr(devname, ":/");
         if (s1) {
+                ++s1;
                 lmd->lmd_flags = LMD_FLG_CLIENT;
                 /* Remove leading /s from fsname */
                 while (*++s1 == '/') ;
-- 
GitLab