From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 1BD20A00C5; Wed, 2 Feb 2022 17:08:20 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9BC8A410D5; Wed, 2 Feb 2022 17:08:19 +0100 (CET) Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by mails.dpdk.org (Postfix) with ESMTP id 0932840E28; Wed, 2 Feb 2022 17:08:17 +0100 (CET) Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 212FqAuM026575; Wed, 2 Feb 2022 16:08:17 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=from : to : subject : date : message-id : content-type : mime-version; s=corp-2021-07-09; bh=hGsGsJTCfRv6q/sx/OBg4m9n17YoU2jqcITZT810dZM=; b=dVp4J6uD7UERqzKA0ddR4QryLh3HNs3h/GBeQpjzd9UyjzKfrp9302OlncNfjyBFKoe2 75qYyv04t1dWKnVm4XpuK3XJvexvthRuPkyqMuPJLwlP3+gi36xrJkgKw6WVhBkIoRoD 8WHjm5OkiBH3yZH04301DemvMFTS7IHXqkQLf6Pi8evvsAH0yTHj1a5WrhxP4wxf+r/o Tc4JxUA3ComR6Cgb3dHgbQKBrxP6RxSOTtr3p4jrzguABX2qPsdKdK+/TdWbV+VouFQ/ G/7CzUTNV0xParc/xlMafQy9kSnCjcE6dAc6F3Vja3GVKD6EEtOKUy5LCy4u15EM2lZw WQ== Received: from aserp3020.oracle.com (aserp3020.oracle.com [141.146.126.70]) by mx0b-00069f02.pphosted.com with ESMTP id 3dxj9vek4v-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 02 Feb 2022 16:08:16 +0000 Received: from pps.filterd (aserp3020.oracle.com [127.0.0.1]) by aserp3020.oracle.com (8.16.1.2/8.16.1.2) with SMTP id 212G5DSn057926; Wed, 2 Feb 2022 16:08:15 GMT Received: from nam11-dm6-obe.outbound.protection.outlook.com (mail-dm6nam11lp2172.outbound.protection.outlook.com [104.47.57.172]) by aserp3020.oracle.com with ESMTP id 3dvwd8fkp8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 02 Feb 2022 16:08:15 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GbjUcauA1v/uTMIwcQ1hvomoUKynkhEHi6uR6eDJ1DCptJRyAd5uNUJW2LtoHZO5BJYOBOh2xlOy7lZslkxkV1FgVR43+2B9yKD5lDXgfwzSeZIm9AwLlFy7J6c8wiZwxs/Yt3B6V6FSP/hqnRNQelH1rutmPfAYaCF6MN9WO1wLuHueBLbC5+SA2jX79S9Jp5roTRqv8bsUDLiOxmc9pbAhUWYb8zlns7hsPOkX3vNMt+VoC+7QAP+Wcl7S5ksVKooRJZ+ngLxEz/3Q37GACIrXGnD3wAMPS78POQn/9rmSn9pC57Oy+nG+EMRFaCO+Q9MeMXPY9vGCf+JaJLzgUQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=hGsGsJTCfRv6q/sx/OBg4m9n17YoU2jqcITZT810dZM=; b=CHsQIEDtzbYG03XEW1hl3cuMpBBvOiyONHyw7vkhJcbRzHphw7ySLYkqFsvA5lWhthueMLWSNQ3TWA29mMvJjNV2d93inBMe7R5fmPwlOVkWBVP+lVoeL5CDtEZlKf6kQefiTTPxgdvpuCi7Zmu505u1vD7BeXjCuPdDmKqy85cCpxAty4tkQsK88U6B7IdqrlbHFv9VUhad33aE40/46F8NdYctJtqS8OhVXkg8y6RW/hMK3xf3y9ejFV8gkHgk2cm+JEta5vKFe8bpbYILB45FNNSW5LkYj+b8c8d9CDuE7Fx4692olCLFjiJJJqN+Bm4vudwIkmy6RkYu2v1pUA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=hGsGsJTCfRv6q/sx/OBg4m9n17YoU2jqcITZT810dZM=; b=SEM3bOx1uR1dk4i6jqHfy/2P2rwQE2R3yNLL0d32Jjq7K9Z8yOBXdC3YjfVG1ESkN+TWJOnCggid1DrEz9wqYlY2SfBDvAM7iEGR0A14o/HPYfhEiZAokrMY4aX2Kpq6xD5lbdWaUOK2fmx4bIk/RzneID7wasxGS3t+SN+3HOI= Received: from CO1PR10MB4756.namprd10.prod.outlook.com (2603:10b6:303:9b::17) by CO1PR10MB4529.namprd10.prod.outlook.com (2603:10b6:303:96::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4951.11; Wed, 2 Feb 2022 16:08:13 +0000 Received: from CO1PR10MB4756.namprd10.prod.outlook.com ([fe80::c934:3558:9e27:c2b7]) by CO1PR10MB4756.namprd10.prod.outlook.com ([fe80::c934:3558:9e27:c2b7%7]) with mapi id 15.20.4951.012; Wed, 2 Feb 2022 16:08:13 +0000 From: Changchun Zhang To: "users@dpdk.org" , "dev@dpdk.org" Subject: cryto_aesni_mb device data contaminated and causing crash when supporting vdev_scan/vdev_action Thread-Topic: cryto_aesni_mb device data contaminated and causing crash when supporting vdev_scan/vdev_action Thread-Index: AQHYGE0D5LwqliNd2kOkHNsup/cQXg== Date: Wed, 2 Feb 2022 16:08:13 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: c8982abc-a7e8-437c-6b1c-08d9e6663721 x-ms-traffictypediagnostic: CO1PR10MB4529:EE_ x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: gB0jk8ueMRjH9DQwVgnaQ6g4iFvQsfkTZ+DfqGWPdo6ljRyEEn4gUMSP+owu9wXWkBl2/LZ2ilL4SPla7wYi6vCnDVkZOO1MbyYboeKJNvdJxm7E6bH7XdI/2hDMK3tDOV9as9E053YIRJ0GunDKaod46ZN5pCiNMeM6zQZi2tTzqpbcEblJx4S2GXa58yQVWcsz4DOkrjNldZYumo0DHl7z4CIm9w8+Eba1eJ70XFsF57XG04DgwA6+/L1EJmLXk2yKf9rVfEUCnln5CuxxIQbA2wbDbI5J6WIlHp723q9ZUGuSZU2OZAAD789h6Hc4dDu5x2kBnHls60rjnWNRsuFnHIIa3rT3+DbKACfhFIsW37i8X4+dfgaAN+b9//GwG4XfPdcppN7kyQDNrq268czFzMDo2iuXlidcAmEXJybIgBkULIcpa88xiQ0rboDF7zCS0PJHFgH7xbOZGqxw/XnTptGiNob4VETgliGAujMKIJj3I0RelwUiEFUFllQqiyY4xPmgmjjPs1zen3d68T9i06hMjvBBMeSTEZanF8MhlV3nPS6rGEc4M8a+C2iqZom3PvcB3G1Hc6FwWhM1JIYZ7oY2en4qM2P/QIGmyQuYCP5ItzkScNeEPXfiNwD9P0zK2bhGH/RxolyygEgtKDZy2OMWhgj++3Gau/Wz4Xl8aofI+DwYobGqEHoQonSmt1+aA6kBKFgEtvtJEKWwk106QJUbwQHKEeS8q5brT4eECIGnZ+o0PDTTiClKHRWLBgEQUP1xVBGgpLdEttyZWmcNVJW4+HIo/YkK+4a3K/Rceb7HNqN1jX0XxwP1q9v/ x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CO1PR10MB4756.namprd10.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(33656002)(38100700002)(450100002)(91956017)(166002)(2906002)(122000001)(7696005)(9686003)(6506007)(5660300002)(110136005)(52536014)(9326002)(83380400001)(966005)(86362001)(55016003)(186003)(71200400001)(66476007)(66556008)(66946007)(66446008)(76116006)(8936002)(64756008)(4743002)(38070700005)(508600001)(8676002)(44832011)(316002)(290074003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?TSh3q7FoUzmB+nXfwMNUvLbIiE67xA9opoGWSjegRSkSluJRyAq9blSq5BfF?= =?us-ascii?Q?44Mnb1dSmX9tq/yFiSilNJzLUbuLbSiUzT7pz4vkOfvo65CcXbvKJTKkacFO?= =?us-ascii?Q?9rQ4z6FBTPIDFRGj+EZsolB7L48RUjPWYxD3uISFINbuJL/M3hP4FVuBBK1E?= =?us-ascii?Q?F/aDDwAbU2yM6GQq6aZzP56nM9R6K7HAuAndjmqW2kvwtCwNpIm7rgrXlFTd?= =?us-ascii?Q?xZt8xyvksWNYztyF8TQdQWYAshrliZ4nFmCjBDRmh6Rl4EKTgJYeAbqFxOlY?= =?us-ascii?Q?DY6sF3Rpq6C67Edm+ApJodvPphHQGWeXbIe3AsIJaw4Rwb74HukK9GQQ4bGh?= =?us-ascii?Q?saUUI6VqPGEIVOeLCbN40Hs90XJivqNPrrOvvg9sH9L4mCkg97X+tRz3Xzgf?= =?us-ascii?Q?S1lKy8BHn9rv40j8epKMgDiUMRNgUZY/1Fy8HlVmsnQVagHGKURN5qENSvG7?= =?us-ascii?Q?ycq38kXPxHIvW2i85yUv0fQiaZqLMRFFENKoQPQxWTDocEOuqk0HiIX4xuOn?= =?us-ascii?Q?4lXXh3h7VXHZA/TOMeEOa1O+K0sTBX3MDFHFPPBI1vKm1oaNYQszudWkuXFd?= =?us-ascii?Q?weQhxqIE+EL+UhSBRRjSheXbGGb/TFRuMLmhKCBQbFezXmB9vHg9bHuB3oIM?= =?us-ascii?Q?OKFBv35ZNh9yRgK6seadHNA5AcZr8ZMSKcmdbJXsYdVI2w4YmK8PYldB1drG?= =?us-ascii?Q?tKGEILKYjlzoUfoaYM8bChOc+NjSo+cErphM5yd/3g6XCjczrNRGgqbJk/04?= =?us-ascii?Q?VvEZdSVFHHFhTUlYKFLX4ElCjQlvxMBMP6e8NLocfJekJjt9lHk4b60TSDD+?= =?us-ascii?Q?wfZ4pV5OQ5gUKiiy97PdHEd+4sQAq3lrE7yvnXXKODTpNZaoFIVwrlAcsbly?= =?us-ascii?Q?XHDNDD1uq/yKOCKGBb1OTu0zPThw6/icMMTai9mrF/DHHoi4fkWBcTGKccTX?= =?us-ascii?Q?lMPn4uwt94luEGhJlGWmVHrQA9deF+WWoXUPenMp+XRi1t5y+2ECNnaXRNVB?= =?us-ascii?Q?FPIt9/CaJHkSYBSx5DE/t1Fx5H8wpRFTr8bYaWu3SnSudBV4GNHAiAtN2cEv?= =?us-ascii?Q?QoOOvT5UEFEEB1oEFwGUJIIfPF4x7y45hfsuxlgwYZUUU8uz4CJEK4976lwc?= =?us-ascii?Q?TAA3NXvat1OLqB9hQatmudpUU9FFY5+OyK1zGebXNg9P6xT1xo1H2S+6jMyq?= =?us-ascii?Q?WPXHjP3IiVG3gQMggHHr8k4o/PyV89zqcuLnheGn/VxsAyud3FRmsWHQ4gWl?= =?us-ascii?Q?vEqfKLkr8EasODTRIuLmtNH5/Zw6TDjh4xFtMzXW1OxpkhAoCIIJfVd9Z+h1?= =?us-ascii?Q?wv5dEz+6oZyqOS0tqQaiFiI6u8Mjm49/6Wfv8Ww85UjEePXrgtcsU1qAnR8x?= =?us-ascii?Q?7zbth9XE68YgpKZPvchjaVveOIOUeVL+NO4sy/pJbHdTlU8JiDN3k4zJA5AT?= =?us-ascii?Q?f3SJ397ULpo6fezoOlayLSt7Z2VdafzImA3B44S87YkWDnc2D/lgsjBbOAEg?= =?us-ascii?Q?zPE4BYvcVb2NReLQA2dMSOe3up1WINuSWFO/CHnPouFFGkLGZRLAx3kJT+nt?= =?us-ascii?Q?xWnjkbQj1hGG6x3ZtfeCqIxGUJZdAfGHM94TLNNKRCTTH5aImblFOQWAaI7U?= =?us-ascii?Q?+KIOo2tuFcZPC58eQuCPq38ZjSYbQ5lTWo0KW5XndGgyNxIYmeQfSEiXYlK1?= =?us-ascii?Q?vnzDBWsNJ371IS+cl+Jgt/q5URvb2JG94JBvUAJVNilYpqcL0YfbUPaQ+BtI?= =?us-ascii?Q?Cd00SSZs2A=3D=3D?= Content-Type: multipart/alternative; boundary="_000_CO1PR10MB4756894C418F39B161899CB284279CO1PR10MB4756namp_" MIME-Version: 1.0 X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO1PR10MB4756.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: c8982abc-a7e8-437c-6b1c-08d9e6663721 X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Feb 2022 16:08:13.4375 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Q5S5G3IZvbKUCYnzwj7LWFoJmzNhyGt5GLuBi2SiYN9/LhbHI18xRM7ZTPCLj0+c9QyC7rJD5md0XB1wB6N2PEJFmk7uCjp2d4Dx36Q4uQY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR10MB4529 X-Proofpoint-Virus-Version: vendor=nai engine=6300 definitions=10246 signatures=673430 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 adultscore=0 suspectscore=0 malwarescore=0 bulkscore=0 mlxscore=0 spamscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2201110000 definitions=main-2202020090 X-Proofpoint-ORIG-GUID: HvUSf2387TOK3NvAuIoF4Ym34VGgRXb0 X-Proofpoint-GUID: HvUSf2387TOK3NvAuIoF4Ym34VGgRXb0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org --_000_CO1PR10MB4756894C418F39B161899CB284279CO1PR10MB4756namp_ Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi, Has anyone noticed that crypto_aesni_mb virtual crypto device has issue of = memory crash caused by the scanning and probe on secondary process. Can any= one cast any lights on it. What I encountered is: On the primary process, the crypto_aesni_mb device is probed and created su= ccessfully and I got the mb_mgr set in the device private data. But during = the packet process, the application crashes on accessing the mb_mgr. The de= ugging shows this mb_mgr address has been changed to an invalid address (no= n-NULL). Further digging shows this memory contamination occurs after the v= dev_action replies the scan request. In below code, the crash is gone by either disable sending message on VDEV_= SCAN_REQ or skip processing the VDEV_SCAN_ONE. It seems the insert_vdev() o= n secondary process triggers another probe and break the existing device da= ta? It is also noticed there was an issue which was fixed by this patch https:/= /review.spdk.io/gerrit/c/spdk/dpdk/+/1056 but this patch is cancelled. This= patch was complaining the similar memory issue found during scanning and p= robing on the secondary process. static int vdev_action(const struct rte_mp_msg *mp_msg, const void *peer) { struct rte_vdev_device *dev; struct rte_mp_msg mp_resp; struct vdev_param *ou =3D (struct vdev_param *)&mp_resp.param; const struct vdev_param *in =3D (const struct vdev_param *)mp_msg->par= am; const char *devname; int num; int ret; strlcpy(mp_resp.name, VDEV_MP_KEY, sizeof(mp_resp.name)); mp_resp.len_param =3D sizeof(*ou); mp_resp.num_fds =3D 0; switch (in->type) { case VDEV_SCAN_REQ: VDEV_LOG(INFO, "changczh skip vdev, %s", devname); ou->type =3D VDEV_SCAN_ONE; ou->num =3D 1; num =3D 0; rte_spinlock_recursive_lock(&vdev_device_list_lock); TAILQ_FOREACH(dev, &vdev_device_list, next) { devname =3D rte_vdev_device_name(dev); if (strlen(devname) =3D=3D 0) { VDEV_LOG(INFO, "vdev with no name is not sent"); continue; } VDEV_LOG(INFO, "send vdev, %s", devname); strlcpy(ou->name, devname, RTE_DEV_NAME_MAX_LEN); if (rte_mp_sendmsg(&mp_resp) < 0) VDEV_LOG(ERR, "send vdev, %s, failed, %s", devname, strerror(rte_errno)); num++; } rte_spinlock_recursive_unlock(&vdev_device_list_lock); ou->type =3D VDEV_SCAN_REP; ou->num =3D num; if (rte_mp_reply(&mp_resp, peer) < 0) VDEV_LOG(ERR, "Failed to reply a scan request"); break; case VDEV_SCAN_ONE: VDEV_LOG(INFO, "receive vdev, %s", in->name); ret =3D insert_vdev(in->name, NULL, NULL, false); if (ret =3D=3D -EEXIST) VDEV_LOG(DEBUG, "device already exist, %s", in->name); else if (ret < 0) VDEV_LOG(ERR, "failed to add vdev, %s", in->name); break; default: VDEV_LOG(ERR, "vdev cannot recognize this message"); } return 0; } Thanks, Alex --_000_CO1PR10MB4756894C418F39B161899CB284279CO1PR10MB4756namp_ Content-Type: text/html; charset="us-ascii" Content-Transfer-Encoding: quoted-printable

Hi,

 

Has anyone noticed that crypto_aesni_mb virtual crypto de= vice has issue of memory crash caused by the scanning and probe on secondar= y process. Can anyone cast any lights on it.

What I encountered is:

On the primary process, the crypto_aesni_mb device is pro= bed and created successfully and I got the mb_mgr set in the device private= data. But during the packet process, the application crashes on accessing the mb_mgr. The deugging shows this mb_mgr address ha= s been changed to an invalid address (non-NULL). Further digging shows this= memory contamination occurs after the vdev_action replies the scan request= .

In below code, the crash is gone by either disable sendin= g message on VDEV_SCAN_REQ or skip processing the VDEV_SCAN_ONE. It seems t= he insert_vdev() on secondary process triggers another probe and break the existing device data?

It is also noticed there was an issue which was fixed by = this patch https://review= .spdk.io/gerrit/c/spdk/dpdk/+/1056 but this patch is cancelled. This pa= tch was complaining the similar memory issue found during scanning and prob= ing on the secondary process.

 

static int

vdev_action(const struct rte_mp_msg *mp_msg, const void *p= eer)

{

     struct rte_vdev_device *dev;=

     struct rte_mp_msg mp_resp;

     struct vdev_param *ou =3D (struct= vdev_param *)&mp_resp.param;

     const struct vdev_param *in =3D (= const struct vdev_param *)mp_msg->param;

     const char *devname;

     int num;

     int ret;

 

     strlcpy(mp_resp.name, VDEV_MP_KEY= , sizeof(mp_resp.name));

     mp_resp.len_param =3D sizeof(*ou)= ;

     mp_resp.num_fds =3D 0;=

 

     switch (in->type) {=

     case VDEV_SCAN_REQ:

          VDE= V_LOG(INFO, "changczh skip vdev, %s", devname);=

          ou-= >type =3D VDEV_SCAN_ONE;

          ou-= >num =3D 1;

          num= =3D 0;

 

          rte= _spinlock_recursive_lock(&vdev_device_list_lock);

          TAI= LQ_FOREACH(dev, &vdev_device_list, next) {

         &nbs= p;    devname =3D rte_vdev_device_name(dev);

         &nbs= p;    if (strlen(devname) =3D=3D 0) {

         &nbs= p;         VDEV_LOG(INFO, "vde= v with no name is not sent");

         &nbs= p;         continue;

         &nbs= p;    }

         &nbs= p;    VDEV_LOG(INFO, "send vdev, %s", devname);

         &nbs= p;    strlcpy(ou->name, devname, RTE_DEV_NAME_MAX_LEN);

         &nbs= p;    if (rte_mp_sendmsg(&mp_resp) < 0)

         &nbs= p;         VDEV_LOG(ERR, "send= vdev, %s, failed, %s",

         &nbs= p;            &= nbsp; devname, strerror(rte_errno));

         &nbs= p;    num++;

          }

          rte= _spinlock_recursive_unlock(&vdev_device_list_lock);

          ou-= >type =3D VDEV_SCAN_REP;

          ou-= >num =3D num;

          if = (rte_mp_reply(&mp_resp, peer) < 0)

         &nbs= p;    VDEV_LOG(ERR, "Failed to reply a scan request&quo= t;);

          bre= ak;

     case VDEV_SCAN_ONE:

          VDE= V_LOG(INFO, "receive vdev, %s", in->name);

          = ret =3D insert_vdev(in->name, NULL, NULL, false);    = ;            &n= bsp;            = ;         

          if = (ret =3D=3D -EEXIST)

         &nbs= p;    VDEV_LOG(DEBUG, "device already exist, %s", = in->name);

          els= e if (ret < 0)

         &nbs= p;    VDEV_LOG(ERR, "failed to add vdev, %s", in-&= gt;name);

          bre= ak;

     default:

          VDE= V_LOG(ERR, "vdev cannot recognize this message");

     }

 

     return 0;

}

 

 

Thanks,

Alex

--_000_CO1PR10MB4756894C418F39B161899CB284279CO1PR10MB4756namp_--