Message ID | 1479831214-19760-2-git-send-email-gorcunov@virtuozzo.com |
---|---|
State | Superseded |
Series | "sk-unix: Handle case when socket is deleted together with parent dir" |
Headers | show
Delivered-To: criupatchwork@gmail.com Received: from gmail-imap.l.google.com [74.125.199.108] by patchwork.criu.org with IMAP (fetchmail-6.3.26) for <root@localhost> (single-drop); Tue, 22 Nov 2016 17:15:07 +0100 (CET) Received: by 10.37.116.212 with SMTP id p203csp1580916ybc; Tue, 22 Nov 2016 08:15:02 -0800 (PST) X-Received: by 10.99.102.69 with SMTP id a66mr45322227pgc.49.1479831302754; Tue, 22 Nov 2016 08:15:02 -0800 (PST) Return-Path: <criu-bounces@openvz.org> Received: from mail.openvz.org (mail.openvz.org. [199.115.104.192]) by mx.google.com with ESMTPS id h63si17736908pgc.109.2016.11.22.08.15.01 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 22 Nov 2016 08:15:02 -0800 (PST) Received-SPF: pass (google.com: domain of criu-bounces@openvz.org designates 199.115.104.192 as permitted sender) client-ip=199.115.104.192; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com; spf=pass (google.com: domain of criu-bounces@openvz.org designates 199.115.104.192 as permitted sender) smtp.mailfrom=criu-bounces@openvz.org; dmarc=fail (p=NONE dis=NONE) header.from=gmail.com Received: from mail.openvz.org (localhost [127.0.0.1]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id uAMGEhgn003338; Tue, 22 Nov 2016 08:14:43 -0800 Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01lp0180.outbound.protection.outlook.com [213.199.154.180]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id uAMGDtl1003321 for <criu@openvz.org>; Tue, 22 Nov 2016 08:13:56 -0800 Received: from AM3PR08CA0057.eurprd08.prod.outlook.com (10.163.23.153) by AM4PR0801MB1601.eurprd08.prod.outlook.com (10.168.6.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.734.8; Tue, 22 Nov 2016 16:13:54 +0000 Received: from HE1EUR01FT057.eop-EUR01.prod.protection.outlook.com (2a01:111:f400:7e1f::207) by AM3PR08CA0057.outlook.office365.com (2a01:111:e400:8854::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.734.8 via Frontend Transport; Tue, 22 Nov 2016 16:13:54 +0000 Authentication-Results: spf=pass (sender IP is 209.85.216.193) smtp.mailfrom=gmail.com; openvz.org; dkim=pass (signature was verified) header.d=gmail.com;openvz.org; dmarc=pass action=none header.from=gmail.com; openvz.org; dkim=pass (signature was verified) header.d=gmail.com; Received-SPF: Pass (protection.outlook.com: domain of gmail.com designates 209.85.216.193 as permitted sender) receiver=protection.outlook.com; client-ip=209.85.216.193; helo=mail-qt0-f193.google.com; Received: from mail-qt0-f193.google.com (209.85.216.193) by HE1EUR01FT057.mail.protection.outlook.com (10.152.0.208) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA_P384) id 15.1.734.4 via Frontend Transport; Tue, 22 Nov 2016 16:13:53 +0000 X-IncomingTopHeaderMarker: OriginalChecksum:; UpperCasedChecksum:; SizeAsReceived:2658; Count:18 Received: by mail-qt0-f193.google.com with SMTP id m48so3013744qta.2 for <criu@openvz.org>; Tue, 22 Nov 2016 08:13:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=wEzoV0XDcagq/A/d4jpHS2pemuo3wMkLabADPBbRl64=; b=fbHG412m5/Pk5ANvOjnsC1M2MQFwacQCFLuXdwTNiWya9p5ZJed5ew4K4N9CgAmp+d 8XfpUNglKx/kfGLHgravdqKi7e2kE4PffKu8BqZiNSGyGFpSk6lvWZ5Iolvn1LXOEAnf A71tn8XX3qD1V1PEJvGMKSag46MjPdiS2h87nqtx15J/cfjKyviXzo4esmG3iHht6JzH RlHXJ1c+AGb+VHBcXb8oxa4zBj+BpHaxG5paY+M2jstgDJzXeOWZHBKPhJJz3b31hplp H5zi8nQngUXFKFiIndj77x1e5gv0cOmzEaK08F/BOdu37swLNpwWYqoee3FAg7ZdsYdp ffWA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=wEzoV0XDcagq/A/d4jpHS2pemuo3wMkLabADPBbRl64=; b=GDqnLlxv64iUSTh8ow+OTJOTxiYUbvbCKGQQ/Zz8zHeFwnameHCxoAmy5k4xC9RCFF LJAAon9MWQbGuB3oBdKTRHsThtz8QReyuNVqse4aPj1iqWe4vWY3vu0IrRaewB3BhRWw Pw21oicjglvqfaM0GVX1xBaIu2yInNUWvCYbYUoAPgxCvlX17ZCkT3Su1zf37TYkIhVj USjGzWLd9zbNLMvCE/Tck39a1haBa811kpkW9YTrVM2ArXHc7Ig/oKQ8bAgIPaZqXQaa l4VtCGQGDtahIlBflkPgQrBlbYcj+tRag3PpVH7WSvMkEmkd/xuG7f6VBVVLgnluPRHU h8og== X-Gm-Message-State: AKaTC00Zo5T5DqkRA1V6eUAT0z+2BRENkjpdQQnGBh2zU/TihecQgjUrqKZdL52lgSDOKg== X-Received: by 10.25.15.36 with SMTP id e36mr4620152lfi.19.1479831232050; Tue, 22 Nov 2016 08:13:52 -0800 (PST) Received: from uranus.localdomain ([5.18.178.32]) by smtp.gmail.com with ESMTPSA id u126sm6375541lja.12.2016.11.22.08.13.51 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 22 Nov 2016 08:13:51 -0800 (PST) From: Cyrill Gorcunov <gorcunov@gmail.com> X-Google-Original-From: Cyrill Gorcunov <gorcunov@virtuozzo.com> Received: by uranus.localdomain (Postfix, from userid 1000) id 09FFF20F54; Tue, 22 Nov 2016 19:13:39 +0300 (MSK) To: crml <criu@openvz.org> Date: Tue, 22 Nov 2016 19:13:32 +0300 Message-Id: <1479831214-19760-2-git-send-email-gorcunov@virtuozzo.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1479831214-19760-1-git-send-email-gorcunov@virtuozzo.com> References: <1479831214-19760-1-git-send-email-gorcunov@virtuozzo.com> X-IncomingHeaderCount: 18 X-EOPAttributedMessage: 0 X-EOPTenantAttributedMessage: 0bc7f26d-0264-416e-a6fc-8352af79c58f:0 X-Forefront-Antispam-Report: CIP:209.85.216.193; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(6009001)(8196002)(2980300002)(438002)(199003)(189002)(81442002)(83322999)(59536001)(4001430100002)(82202002)(8896002)(73972006)(4326007)(106466001)(92566002)(356003)(42186005)(36756003)(246002)(33646002)(9686002)(73392002)(305945005)(1096003)(956001)(7846002)(7636002)(50226002)(8676002)(86362001)(5660300001)(76482005)(47776003)(189998001)(107886002)(110136003)(90966002)(46386002)(45336002)(50466002)(48376002)(626004)(7596002)(2950100002)(236004)(6666003)(52956003)(450100001)(50986999)(63696999)(5003940100001)(76176999)(6916009)(93516999)(87572001)(38730400001)(60616004)(45356006); DIR:INB; SFP:; SCL:1; SRVR:AM4PR0801MB1601; H:mail-qt0-f193.google.com; FPR:; SPF:Pass; PTR:mail-qt0-f193.google.com; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; HE1EUR01FT057; 1:4cnKX9Z1lzpIlAprKawuBMNZCSBtpKyxM30OoVp+u1AoTWWqLoebyTow0m0zXuqzr3zq+sEHix9scahbiyiiUxUSEZIUR5hvUBuhcWVOk0TBh4nMpVOWMuV14ettUf1JaPE35etA3sHLpo4mDckNWNIKTpOil/N3R9GobYPIgZRVPGkE5r72ggOrlwCYo+eu8vLkk/PuKsJAWppyGiVFAdCoF9Y669VBrSSqCeAezVOfOIQty/8TJEULWBPn3Va+fyW9RKcYU4z+f6Fu6h+Kms4wxCseBGjjbaIc9gqUXW94odT7rV2YNkJ6DCmZgVFw15V/0s8ebUexjd0XBzXsLQG45dAS9n1AIGiPGt2C0lCcXB9qT2aKfxjGWalb6gwilyqLAl23Epyz6E/yHaJqsPJiEULEyKM9kFEj1/zfyIWmTaz36wUZ8g0dRwTI6cEL0H84n7nlj+JYEkAEbXO8AuYpgNtRLbqIKSvoJ81ynoN8YArCpONM7aSGUqnwyuaxONOaJ9k/Tih/07FMwMZYUkCMI+6SO2Ri7SfWKaIzMbYig6KR7kJ32kWwzFOwWhY6tCqS41grEDR7E+Pl9X8LwNFogJ+Uv9E6iQOG14Dro3w= MIME-Version: 1.0 X-Microsoft-Exchange-Diagnostics: 1; AM4PR0801MB1601; 2:Jdhrk18lCD/2DnB4iRLoeiX7l0hwDzZV/mobxR/Zng0fwzBDAAhCEKJfk8w6b0GlTAijZQ4tDDTMZ59awLHea+Jme2+hPQp5QUruW16LUsQa7jYXnQLg3e0C5nvLnNe7XRtMEHRffj6lyI+nemjnUhvwbcoScitxYXh3anGFhAs=; 3:LRdXQFjbVO9S6CK/G965BxBoS0Pfd3YN4QKutXY+/ul1Pi7jLL3SSCJyr/MfERi9nPvWndOGOeP1w2n5AEU1YcmnlHlvjeA9+mEFsR5VtsI0FMCGttsCrMs+2QgfWI2a0NOpy/26rg3498VVrBVWkZBlQXK6r1Bfvn1cY9Kwtc2FJiMwhmMrag+exbG2socajCw5XHgdGxSxcRJrebhk9JSRa2g/f9sa/T7SDlTywwkwCn0p7iekCuUNpe2+HryE+kF1GWQP8c/WjLzhFBzBLU3qEI1SezWwSf7zJlSvQi3srAxp8VRXGW7tjRoV/ke2oDdg+muoJUj7ObpTsvZAoqoqTGmP3NtEWZ4VHeN5PxUYLDlL0uWFddY/EwhtIZNto4Px0PnCzjwKGECrlfB01A== X-MS-Office365-Filtering-Correlation-Id: b4ebd713-a918-4ec3-3a06-08d412f28dea X-DkimResult-Test: Passed X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(81800161)(8251501002)(3001016)(3010002)(71701004)(71702002); SRVR:AM4PR0801MB1601; X-Microsoft-Exchange-Diagnostics: 1; AM4PR0801MB1601; 25:sNCA+fvL0WL2wQJaFCVgumiy8dM+bSFHQruv8LaanCjhG1uQwBW+e70vl0l+yhZxqWhk4cUNRrghpf3ZZynuh0/XwtnmiCtTP6ATpWVIm0S3Ia78P+5u/1d6LIllSznWUSTjZ58djkVpRTKf8/NYO31RdSVtlyUwVQm9LnQ1Aylb38RdT3Bo44NwBreTzjs2+66YiQd5CuFa9qebTYNCGxOjT2qaBjRwxFeyFrX9shae1uOxRkP/+lk/1hJF7mMgdTM2meLMLnO4ZTx8cfRh/ncNGfip3MhT8/8Q06kbZVQYMegyshozFFS82WRDEMQFysGThOXhW/FDaeWW/1udUitAe3m103zyF0AX1tCiG/tXe/Wu/aSbYj0IJiycDQOcTMwOQaj/bo182ODjxgqcjmlasc3p+zSSYu6WPsYWNMeuW7ECUciCtPooyKeuzfOqj0gk+8gGoDCCIEbgtVx8Ypumi60d6sgEhGOlL9XB/v8OSIUAMoWSvRA3AGralwPvuyAPKSMLCVLu4BCnPQ5B49CUwscR/ttFRcZ8Wmt526MTNbPQBwgvziDCzwHXn4l3/Lw/bEAJbREKW527rcAr1IWRPgTcJkk2PiDjMqi83+Tvph7SBBNo8Pa1IfHe9HbITyqYAgQuzOYRvJGpxxWU2/ocHfjuUielMmP02sWeK+ETbKfVXGGNGnQR1yW2XX6jiP5hsgfZrwWMyJimTqiERYD2875KtujwNEzK+qySpw4lR0fkJYSHX9f5GRGG0hs9AHEmhSrNHSaWwEPashWJ6g== X-Microsoft-Exchange-Diagnostics: 1; AM4PR0801MB1601; 31:Wvq7LKIkzit/neWh4BPbeKANn3heBIX643co77+/X+fUKEI1VCN6A04KLH0Qhpu3KnNv5f9Y7cXe8aQbISikSO/d1/mbzqZ4iemy4YFTYmyR+GDDRkgEUuIMhc+1vIo4u1jwJ4vY3yjw3pmmbFP/ASwp2thWuyG6fQwVLtXaQ5bppaUdnAsBf/WHVqz1tUnzidFp59WqzDaKCfQ+6bGNRJQilsRH2CP6V5tOt9A3cnMdGXs7QsnV+phQvpmjTl1fP0fRkSI8RPVjQXKsAezIdw==; 20:2rcg1/PzSAKGcey4IWKmG60h2Xj9ofhVksDzBkomLfF7oyPVIZ1WuNuK8IpsChdQ3Pli+97MyAtJMGNqyl7aQizckHdQie+OXAF3gSnL2AnI8nDgQyXHXpoheq1mr7wHeH4reyV7+fVJFFtxI4bw7ovQza/2MIAzId8mQFTD4uY= X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(9101531078)(601004)(2401047)(13023025)(13018025)(13024025)(8121501046)(13016025)(9101536074)(10201501046)(3002001); SRVR:AM4PR0801MB1601; BCL:0; PCL:0; RULEID:; SRVR:AM4PR0801MB1601; X-Microsoft-Exchange-Diagnostics: 1; AM4PR0801MB1601; 4:L0Bc1og1OK3W66NjCjehAWau9bl2olEfhiJdByWSC1zGSgwrw8bdh0oETyH18mYJ7gzVfEO6a1GpTuPzOpPDq9kMVAreqJPHR2+mF2i2qjIkRU3q2EWMTgc3N6D+i5bkT3ZM9wny76zZ3Mdb8dfB0wUOPCbck/pWYeZnnYkJ42jqj8iSi9s4o1Rg8uT973jeCY9GjEcjDGRxjkYq6k90H3Wo7Sb4epXt4ecptEkgZS/b+z6r7ZOFs7yagjI8WxSivlp6AfNrSDRydMY2AHtiEF9UO1Ro1hjEFrgT7r6sFjtN8v88nEj3fXX+Db8R4DHxS4IrQVOT/tjDKKatntilF6Mw0sA/hbL4Du+/0DZayqsLmCAM9Dn50uP+DJc2ps5/82wxK8XsxF8zHR3exHbT8ezterlSGeW8Y2k1luiLcrHxJix6DeCCWKV5dSXatErfykzpaQQh+6uVCc5wsIZ6Yg0961MUS6UhQj52RI0F6p294LkrgRoQlx3zSa0ykBPx X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM4PR0801MB1601; 23:HenHf1vMB/HoTcivOXue3Ac//lzDQCe1cesSj4t?= =?us-ascii?Q?aJGEkggiB6r8b9M2XuqUZcmgz2jNvZjHWKetHkw25JLo9E5PMQRO1CfHWtAr?= =?us-ascii?Q?vxpUJGFye2yBnUQfQf89R4/jLOG8Z+nE3JCnVfoWjSMfLD8bvEfCMUNQkHtZ?= =?us-ascii?Q?VLerusxu0mqwuBoohGO3jzI8VaR5ItMP9kfZzeK/xYezbnEUxsvNfWw5C4Zs?= =?us-ascii?Q?tQ1+p+bnlg8lugy36Z054dELJOh+l7lx+zp9Gg70IFhyLAMb7549yimK4zph?= =?us-ascii?Q?mlAZMIdzuXnsB0s2S72C+NjXsx/qFjCALBcU3srVzoJNgyC50/eDBVUaZ6NY?= =?us-ascii?Q?NGyEgtWrsYzqvpB6iHJYSjtiPqaI4bD2Z++rgDJruHmoL3IoCGpL0Qvq3xN9?= =?us-ascii?Q?3ureJ3qifhmzbH8SIjnO4MRDsXDATB+jNhJIxPrqwUc79eIWai4SeCqP5DHZ?= =?us-ascii?Q?oKfO0cDge9BsbHuEATGef+sqFfELLdnMtmY1YWYJIXp+EhGbrUfsSJdcK69Q?= =?us-ascii?Q?j9yzLdj7W5N/3iKx9GHNkg+sBJz18SUzxRxUzyzowJ/HBolXleRdSRotfrjx?= =?us-ascii?Q?lQKcp04ZfBKgsLHK9/mgZJeSNxseG6tmPGW38lMkExxreD8ioMhzIiUfP3Co?= =?us-ascii?Q?Ju/+q69z4htd9im6tHe7+MyVrJuLg89QT2BCVfCptDKsZ09pq8FSaKY2SAAJ?= =?us-ascii?Q?wL9IkCAzu24KokCwhC9skna3KqQ59O/gLBhVTinW9Q1MslgUohYxrIOf3EdN?= =?us-ascii?Q?bKZG1PnkFWnoC5gbmZ7pUpvC3FT/to0mxpuzWGmVIMZsLJ58GKu/5C7RSZIc?= =?us-ascii?Q?Icmm8Im2brMG7iZtjMj2WqpEiDYwB6uCjizjrpGQn2uZWSe3Tzl1/sMRO537?= =?us-ascii?Q?s0VEbJBlLWY/oyDLLpAJvXRSLdty12SknRZGWVozSWXGtmBTOaVCD2p9tLKo?= =?us-ascii?Q?kGXM+2R1kcl33F1cE59Xc4Ds9Lh6o7pVARBeiKhDm60YiXLFSC6EA/PbkyON?= =?us-ascii?Q?YpLXfuG+VTnGAbUSeF6ww0EH4xI33IhELM5Mu2mEgoqw6sxmIRnluzjTVwF2?= =?us-ascii?Q?9GmVkr5QmhJWvbCeTKmKjZOTBJwBLO396duLNxyfzALYfkn8O8On0/SsPG3j?= =?us-ascii?Q?rWcXN3VAWmIVugFLKGe+k0E3nzm14W5QNABz2Q3S3neBRs4Jn8CzllXyYXUG?= =?us-ascii?Q?7glEyF5NczbWebB1xho/TcvH2r/DU1t/uJygJBe/qyR+yD6yU7J/7d9AAABt?= =?us-ascii?Q?yyrZVhz5/WWajjpg57Pf46qQgHGO7I8zTiPBuXwioXOCthwXYZQtFPU7ncD4?= =?us-ascii?Q?BnfAZ3U1+NhyHmLEjSbpZx/MPhB4RQmwqT4n/1qr+EL0kDrn+EVNBGK9YbYN?= =?us-ascii?Q?N2MU+wwCmFD/txjBXBHe3rm2o0z7GL7Plh3nQspB4ayC447+LuxT6pVYqMlm?= =?us-ascii?Q?Ad4mfnGJvvg=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; AM4PR0801MB1601; 6:uBtEVFVkItBokFRWtKs/rueTDQZa1uucfo2yJ9ZHX8RATo/9NPS2edF885FmOJ4fo7nMj/Ziwaj/rAS13ldhv4jfCisOM5tUame1Q/efQ2BMInbuhQZ84MOBaGtAqPCmh1f7wP01lErBV+DAM3xuPBxOu90+gut5OtTItAeE6uAlnLzjUeCVieUop0lI4C7PfO2RKK/gK5L4OxGKleMi9wbqfAHZkxXwbNVOzhyX6boh/ZKeozMdRHEnnrzkaq+d/HIlkFbTMm+mwuQEx1fQh8EG79DPDM3BdJmuLg30+lPT1TWeDX8VJxn43mQDci716ztBuVKqUJNR5gh2NXujZg==; 5:MTHBo8CdbFBhpLo3sm9LIe2yuYVZ555wMZjQLv1Q2YP3n9PL89zTlVqRik3xDf3+1KrjYU/PV+LHvlOWTh+A7/EM5MHdCxoKixi/sLRr0DUpqEQwHvcO6vlesWBq+gKin0QA+S8B5JArT39Ln5HyeQ==; 24:4FSHdnjicSuCBGw2Mddf5Q9YQYdqXBPdRgpy8IjBlzH3ioSP7gFC/K5AVElhHjziqyHaC1Z/gwQYjaqZzgqXyD1Fn1nEVI5yTedJqDW4v+w= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; AM4PR0801MB1601; 7:SHUdEpu3xdihy2vXQMlG9ny4YHzurb65Zsnfa408U8hJKzXC7jB2gua7dkNNHwbmhEMdj/KC3MVWyXoOcFfWnigdw5szUEUTdmQOd8xVbV/QEZCwBG4oJlA7+UBb8Mpv/8aIC/mieeObH4PZkBeCHi5wP9hbvTpZ1JoIsnlgENPV1znlfXBrmTyqY6IalvfTPTMUO8gqFFJAmK+BTXmUxRx1iSdMlkVvzs2aVnPISznk8SuPv21bgEjF6x0nFU3cg5motu8cKBmCCHd8OEE3A5OGfBklKYq3eXu7E75idhkW98nKbWojgTKu9VmXwCtdsoyLNcZGsWp+DHHcsk13kAoWU5wfhwWZemg0hS9ccV+Y5u7AD7MCj/XV/SRlOqnp; 20:uZuVgYkCLsOA+rYIAwaD2hUp4PISCJrjjM+g2fRPf8VMQqqJnaDx1F3Vv2uRBJWIwa7LMF7bu7KLyaZ19cABEPWDyskWCn4DhN6OctuueO0WwtFhSRwcWsqyh5lsNU1HN5xcA6b+UbH6ofukzsUMBHdYKxJp/5XBFl264vmOmuk= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Nov 2016 16:13:53.4343 (UTC) X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-FromEntityHeader: Internet X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM4PR0801MB1601 X-MS-Exchange-CrossPremises-OriginalClientIPAddress: 209.85.216.193 X-MS-Exchange-CrossPremises-AuthSource: HE1EUR01FT057.eop-EUR01.prod.protection.outlook.com X-MS-Exchange-CrossPremises-AuthAs: Anonymous X-MS-Exchange-CrossPremises-AVStamp-Service: 1.0 X-MS-Exchange-CrossPremises-SCL: 1 X-MS-Exchange-CrossPremises-Antispam-ScanContext: DIR:Incoming; SFV:NSPM; SKIP:0; X-MS-Exchange-CrossPremises-Processed-By-Journaling: Journal Agent X-OrganizationHeadersPreserved: AM4PR0801MB1601.eurprd08.prod.outlook.com Cc: Andrey Vagin <avagin@virtuozzo.com>, Cyrill Gorcunov <gorcunov@virtuozzo.com>, Pavel Emelyanov <xemul@virtuozzo.com> Subject: [CRIU] [PATCH 1/3] util: Add rmdirp helper X-BeenThere: criu@openvz.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: CRIU development <criu.openvz.org> List-Unsubscribe: <https://lists.openvz.org/mailman/options/criu>, <mailto:criu-request@openvz.org?subject=unsubscribe> List-Archive: <http://lists.openvz.org/pipermail/criu/> List-Post: <mailto:criu@openvz.org> List-Help: <mailto:criu-request@openvz.org?subject=help> List-Subscribe: <https://lists.openvz.org/mailman/listinfo/criu>, <mailto:criu-request@openvz.org?subject=subscribe> Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: criu-bounces@openvz.org Errors-To: criu-bounces@openvz.org |
diff --git a/criu/include/util.h b/criu/include/util.h index b5e6f7b..1374fa1 100644 --- a/criu/include/util.h +++ b/criu/include/util.h @@ -254,6 +254,8 @@ int mkdirpat(int fd, const char *path, int mode); */ int mkdirname(const char *path); +int rmdirp(const char *path, size_t keep); + /* * Tests whether a path is a prefix of another path. This is different than * strstartswith because "/foo" is _not_ a path prefix of "/foobar", since they diff --git a/criu/util.c b/criu/util.c index 6ce2007..312f76a 100644 --- a/criu/util.c +++ b/criu/util.c @@ -848,6 +848,46 @@ int mkdirpat(int fd, const char *path, int mode) return 0; } +/* + * Remove directory @path together with parents, + * keeping @keep len of path if provided. Directories + * must be empty of course. + */ +int rmdirp(const char *path, size_t keep) +{ + char made_path[PATH_MAX], *pos; + size_t len = strlen(path); + int ret; + + if (len >= PATH_MAX) { + pr_err("path %s is longer than PATH_MAX\n", path); + return -ENOSPC; + } + + /* Nothing to do */ + if (len <= keep) + return 0; + + strcpy(made_path, path); + + for (pos = strrchr(made_path, '/'); + pos && (pos - made_path) >= keep; + pos = strrchr(made_path, '/')) { + ret = rmdir(made_path); + + if (ret < 0 && errno != ENOENT) { + ret = -errno; + pr_perror("Can't delete %s", made_path); + goto out; + } + *pos = '\0'; + } + + ret = 0; +out: + return ret; +} + int mkdirname(const char *path) { int err;
To remove series of dentries. Signed-off-by: Cyrill Gorcunov <gorcunov@virtuozzo.com> --- criu/include/util.h | 2 ++ criu/util.c | 40 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+)