From owner-freebsd-xen@freebsd.org Thu Mar 10 12:18:16 2016 Return-Path: Delivered-To: freebsd-xen@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B6C02AC9D8C for ; Thu, 10 Mar 2016 12:18:16 +0000 (UTC) (envelope-from gustau.perez@gmail.com) Received: from mail-wm0-x22f.google.com (mail-wm0-x22f.google.com [IPv6:2a00:1450:400c:c09::22f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4732BD74 for ; Thu, 10 Mar 2016 12:18:16 +0000 (UTC) (envelope-from gustau.perez@gmail.com) Received: by mail-wm0-x22f.google.com with SMTP id l68so26127066wml.0 for ; Thu, 10 Mar 2016 04:18:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=subject:references:cc:from:to:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding; bh=o1ZWkNYfxNe9wcj9PZ1PDGRWH9Do0raGVH74+kLjiC0=; b=N4OxUXhkQ72QfyQRi/ktwQ+PFxtqe9l89gxJ5M+XFuY2tWAU6+rHUxT9vWrzfWHIjT v4CdzQUFIvnaVDfcp507hN62W4wbH12DdTCTtCLfJ6H6Y5INdm0oQ1YI3Xpu+/o29FlC 3LUYi49kCjSaBf3zaizJsCbgb1sgMW4txAFE575nkBIg7e3uUcF44xNicBpvVaexbkoT oK5mgouo8KLuIFPdE6UOeNXRqPYzTcsRTg719aLVwaVtTEG2vpF0X0h0HibzjdJzdfzW lPCW9BRfid9r3QWzL97JC8HRt3S7VIw/qoUnkG73PiyFfibH1yiH5gagIISyNLhV3Xl/ w8rQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:references:cc:from:to:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=o1ZWkNYfxNe9wcj9PZ1PDGRWH9Do0raGVH74+kLjiC0=; b=e0X94rQ6FRpftFaoXR47RlIWN6Ib/3ousytzBV+tHHBl1a9RiV+CUyQirq1me/jj8N lnczK5lU19zsYjvrPYFbN5D3L+3qs2orL0WwfmwBy3DVfs6D6SyIaK5LkUw6pbjaAJGb Uh9tdJVc6JbO42QHuZ5t+hvaMQT987NkMV3TfwlGnuS0W7RITwThWNEDTmFkAw9ffGtE uWckX6lbF0YGbgSyNTsgIShv1fwP1huw07x9jzaxeIWh2QTp38sFknOj7K0KwNUu0peX zADw6sqONi49JIQmfORruShdPaGkYAxrO/1915Ezs/oNZamc9FOIHvv83MEm59e2Meu1 1wvQ== X-Gm-Message-State: AD7BkJJH9aR6t9Aqm+tyvPoVzxbcXNsXd75mdQHK2Xd83AXmIZnu7xHH2mVY1okvqSuuSQ== X-Received: by 10.194.91.233 with SMTP id ch9mr3467084wjb.121.1457612294578; Thu, 10 Mar 2016 04:18:14 -0800 (PST) Received: from [10.0.2.151] ([147.83.40.10]) by smtp.googlemail.com with ESMTPSA id i1sm3222347wjs.45.2016.03.10.04.18.13 (version=TLSv1/SSLv3 cipher=OTHER); Thu, 10 Mar 2016 04:18:13 -0800 (PST) Subject: Re: Porting the block-iscsi hotplug script References: <553DEB97.5000300@entel.upc.edu> <555EF542.3090002@citrix.com> <555F9B3F.1000600@entel.upc.edu> <55602512.1090702@citrix.com> <56C6FA2F.8040900@gmail.com> <56CAC8CB.8030107@gmail.com> <56CADEDA.4050007@citrix.com> <56CB0057.1060509@gmail.com> <56CB041E.1020009@citrix.com> <56CB2D90.5080809@gmail.com> <56CB34BA.6060809@citrix.com> <56CC24BD.6050609@gmail.com> <56CC32E5.5010101@citrix.com> <56CC7637.3080408@gmail.com> <56CF5668.6090605@citrix.com> <56D0091F.80408@gmail.com> <56D02863.7040100@citrix.com> <56D03D95.9090509@gmail.com> <56D04E5F.8070901@citrix.com> <56D42A28.8050701@gmail.com> <56D434FC.8030905@citrix.com> <56D57110.2060406@gmail.com> <56D587D8.6030702@citrix.com> <56D590EA.609@gmail.com> <56D591BA.4020303@gmail.com> <56D5929F.7040001@citrix.com> <56D5C722.3080205@gmail.com> <56D6B68D.8080809@citrix.com> <56D7FEFE.9050000@gmail.com> <56D97762.7000908@gmail.com> From: =?UTF-8?Q?Gustau_P=c3=a9rez?= X-Enigmail-Draft-Status: N1110 To: FreeBSD XEN Message-ID: <56E16604.2040007@gmail.com> Date: Thu, 10 Mar 2016 13:18:12 +0100 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-BeenThere: freebsd-xen@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: Discussion of the freebsd port to xen - implementation and usage List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Mar 2016 12:18:16 -0000 El 4/03/16 a les 16:54, Roger Pau Monné ha escrit: > Linux already has some code to do this checking, but this also involves > taking a lock in order to make sure there's only one hotplug script > performing this check at the same time. > > The Linux function that performs this checking is in: > > http://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=tools/hotplug/Linux/block;h=2691b56951c9b82094471a141b9e0bed04abb929;hb=HEAD#l40 > > And the caller is: > > http://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=tools/hotplug/Linux/block;h=2691b56951c9b82094471a141b9e0bed04abb929;hb=HEAD#l275 > > If you take a look, the call to check_device_sharing is protected with the > "block" lock. > Hi Roger, today I got time for that and there's something in tools/hotplug/Linux/locking.sh I don't understand. There's an array (_lockdict) which seems to be used to keep track of the locks. But I have a few concerns: 1. Where are those values kept? I mean, the _lockdict array seems to be used in _setlockfd() function to search if the lock is already used. Then it searches for the lock and used it if found, If it's not found a new lock is attached, if there's a lock previously freed in a position < ${#_lockdict} that $i position is used. But it remains alive just during the execution of the hotplug script and thus Id say does locks are per process, right? 2. This is not related to xen nor xl, but perhaps someone may come with a solution. In sh I think I don't have arrays, does anyone know a solution for that? I mean, perhaps it would be possible to simulate them. The second one may be solved by depending on bash, but I think that would be overkill IMHO. Best, Gustau > .