From owner-freebsd-xen@freebsd.org Sun Mar 13 08:08:35 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 926D0A92BB1 for ; Sun, 13 Mar 2016 08:08:35 +0000 (UTC) (envelope-from gustau.perez@gmail.com) Received: from mail-wm0-x232.google.com (mail-wm0-x232.google.com [IPv6:2a00:1450:400c:c09::232]) (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 38A2B1CA for ; Sun, 13 Mar 2016 08:08:35 +0000 (UTC) (envelope-from gustau.perez@gmail.com) Received: by mail-wm0-x232.google.com with SMTP id p65so65607995wmp.1 for ; Sun, 13 Mar 2016 00:08:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=subject:to:references:cc:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding; bh=pbx1NxqxYUBxZ5Gr3P5GUjX+q6grLbWRePjoFUb8f2A=; b=kcd040q05pMEo3vq0Y7JKpv8idFFfbMhmUp06p1abR9iWHV/gnbfEDLBzdubjk0RPD F6ap454l2R1iu4N/FiZpDnsexWKwHtgbgPNHub1l+KebxY2oL+ERH2AhUNKSzXCMF1az 3zkt4HuIobu4QMNCZ/d9S1RwyTIGwueq40tOO03MtpNPAVNLKanNupoPhuYeVADHTUS8 G6mTKEjGFKp6PNgvdPTvijtbOgCt9VP8DJ9SZ8gG9RXp93t/l6ap57Rudfg0XUu9J7Zm rtF3f5qgghinzQtjwVIoMcojxcXp6FGH7qrN6aWTunYFVaLQQaLOG+OJx0XlBrWRujVK bsJQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:subject:to:references:cc:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=pbx1NxqxYUBxZ5Gr3P5GUjX+q6grLbWRePjoFUb8f2A=; b=EokH2I/b+ULM4BTetUN630kRpFeQBK1vbtTBHQ439vyyGXZscX//1R/jWcHhpB85Zb 9Vuwi0jKtT2bhuaKGrQnMUQ827m2++3tJ4JrJhtPcn5SM5C1tK8lYcqb9eudwWSr8vgh jhz4IBbgO15LfpnwyvB8nbQCgB/LV+8WuWIvzzQWkhHKAvEMciN1F2IDLtFD+q2IOrwO U9yFYmrX7hC5uQlQbmf+oja/cfH+rRbROYXHHbLdGJCG6m6J/gNM4vK0nS7wU5ACgDbS UzVvsAVYYMfVzfT1h8ApRN4cfVbAw5F1lrypz5beUeVRxbpNEtrCf7qs/ZISA0CfyBJA P6xA== X-Gm-Message-State: AD7BkJL7SktssLSNB5fXA8KpX8R4Nm9UQHaGuhgWo/LM5hmQ/877gxdD5x9dLbc3ffkDLA== X-Received: by 10.28.173.71 with SMTP id w68mr12075730wme.88.1457856513570; Sun, 13 Mar 2016 00:08:33 -0800 (PST) Received: from [192.168.1.111] (139.Red-83-60-211.dynamicIP.rima-tde.net. [83.60.211.139]) by smtp.googlemail.com with ESMTPSA id p191sm11556926wmb.0.2016.03.13.00.08.32 (version=TLSv1/SSLv3 cipher=OTHER); Sun, 13 Mar 2016 00:08:32 -0800 (PST) Subject: Re: Porting the block-iscsi hotplug script To: FreeBSD XEN References: <553DEB97.5000300@entel.upc.edu> <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> <56E16604.2040007@gmail.com> From: =?UTF-8?Q?Gustau_P=c3=a9rez?= X-Enigmail-Draft-Status: N1110 Message-ID: <56E51FFF.1010400@gmail.com> Date: Sun, 13 Mar 2016 09:08:31 +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: Sun, 13 Mar 2016 08:08:35 -0000 El 11/03/16 a les 15:30, Gustau PĂ©rez ha escrit: > > Answering myself again: > I guess the locks need to be released before the hotplug finishes or > there would be stale locks in the system. This is not entirely true. The holds would be dropped when then hotplug script finishes (the fd will be closed by the system when the script finishes). > - I'll ask you something about the advisory locks. Perhaps this > evening if I find some time to spend. > The previous question (in this mail) leaded me to think that perhaps the locking facility is a bit complex. Please correct me if I'm wrong: 1. But we only need to keep track of the lock files created by a hotplug script during its execution, right? : 2. If the script does its job, the hotplug script should release the locks it is holding once its job is done, right? 3. If the domain has two disks defined, the hotplug script would be called two times, right? If that's so, I don't see how during the second execution of the hotplug script the _lockdict array in locking.sh would have the values of the first execution. 4. The hotplug scripts needs to keep track of the lock it holds, that would help the script to release only the lock it holds and not other locks. This is way the _lockdict array is needed. In fact, because the hotplug script should release the locks it has acquired before finishing, I think it would be enough to keep track of the locking files a hotplug script has created (no the fd's) and use the timeout argument of the lockf. If a second domain tries to lock a file, it should loop waiting a fixed amount of time until the lock becomes available. If it becomes available is because: 1. The holder released the lock by calling release_lock 2. Or the holder finished its work a called exit * *Either way the lock would be available. I don't understand why the Linux locking script seems that complex. Perhaps I'm missing something, if anyone sees the point, please let me know. Gustau