From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758285AbcGZVBp (ORCPT ); Tue, 26 Jul 2016 17:01:45 -0400 Received: from mail-db5eur01on0113.outbound.protection.outlook.com ([104.47.2.113]:61807 "EHLO EUR01-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1757179AbcGZVBl (ORCPT ); Tue, 26 Jul 2016 17:01:41 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=avagin@virtuozzo.com; Date: Tue, 26 Jul 2016 11:25:24 -0700 From: Andrew Vagin To: "Michael Kerrisk (man-pages)" CC: "Eric W. Biederman" , Andrey Vagin , Serge Hallyn , "criu@openvz.org" , Linux API , Linux Containers , LKML , James Bottomley , linux-fsdevel , Alexander Viro Subject: Re: [PATCH 0/5 RFC] Add an interface to discover relationships between namespaces Message-ID: <20160726182524.GA328@outlook.office365.com> References: <20160721210650.GA10989@outlook.office365.com> <1515f5f2-5a49-fcab-61f4-8b627d3ba3e2@gmail.com> <87lh0pg8jx.fsf@x220.int.ebiederm.org> <44ca0e41-dc92-45b1-2a6c-c41a048a072d@gmail.com> <87r3ahepb4.fsf@x220.int.ebiederm.org> <20160726025455.GC26206@outlook.office365.com> <3390535b-0660-757f-aeba-c03d936b3485@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset="koi8-r" Content-Disposition: inline In-Reply-To: <3390535b-0660-757f-aeba-c03d936b3485@gmail.com> User-Agent: Mutt/1.6.2 (2016-07-01) X-Originating-IP: [162.246.95.100] X-ClientProxiedBy: BY2PR02CA0045.namprd02.prod.outlook.com (10.141.216.35) To DB6PR0801MB1973.eurprd08.prod.outlook.com (10.168.85.146) X-MS-Office365-Filtering-Correlation-Id: ad5206df-c385-454d-6ae0-08d3b582406f X-Microsoft-Exchange-Diagnostics: 1;DB6PR0801MB1973;2:cKDhnqxwZNN/Syledq2/0nYtKKlh+YKncFHW2LsFyD6Hz/60SOKe+9KlpveuURXWethwIL9qPKG8XHYVawrRKW7c//YmJUVyhqJA9cdGH853m+TAL9wLdyKq9sJhAb0FeeScfwx+/zicupQk20ZsEAAz43H7Lyu02WoYsff3dWAH5hyIMhBSPZmWsTHcXrAc;3:vYIQagIq+ivLsikftaMrbQTMXr/RwVA92QlOXip7CduxiZ/9ZyWgoW2lW+su1wQmiT22l7MHNtNxnxX5XkdkV4m3dfAWbYFkUhZIWuVRCEKLkoZ1hhlvwaMDXXH2culX X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DB6PR0801MB1973; X-Microsoft-Exchange-Diagnostics: 1;DB6PR0801MB1973;25:r11ZpeJ+YI0tbpQMJo9tUoaJcyKFicI71RTn7giXG0r+9f7RCHiyxJSwwjWFiFsw4obCO1Vb/jReVrnaTL0+CK0k/c8K7g4l/ODQBX3k1FfvOw4mwdnH8DIvFdr6udl4qSySk9D2724U0J0RtXOHcfxeB5O6HjsyVHEQS6eXUVFNK+kOx5q9/h+tvJc+vugKzxXjXi5nCt4WnIXFkJcTaen0vyNaJIwwF8QGSHqHP94VHMVaWDXb9zCBK7uS48kleJ51dS8ZAXUMq7PlAx0y9OoCYfT9ihxSPCqQeVvH5fSnP0rroQxeqgmXqhYjwvHnfXKjrXKg1Wo8zigVc2pxxNhmhdpmvyIJPu/R4jDmPYfS3vg4EZbEaQ5HQo7DzeI9Kxi+55Dg8XW9OpDOtXCjhEneHGMWl3OEBgGFiext8DEMni4x/uEwTTvjccLQSo702lTeyMbpTqwqRW1AtHUGbk7jJs9y86CtuvC3eeKtoDXr60VJBNRkUsem+F7PYqXssFwsIT1cc+5LBeEsvrC+JNmoR0+M4wXxmEBJ/XIelV5OL+ef453hJnOplFK0DxyK3QMcDLvJ2bbbgX6LfneycTF1HUxfa0cMCJEeu3CN+sPCrVgpUIBOLBqcIaDQ/bfVyc8JkG78y6gy3HIJRFpqOBo+Whyi6/cwClR2jp0CoRJ43H8j6TvYFoJgmelZYAD5A7vZZC0S6APFuVOAjM+ZUhx7g8/A1SHdRnR8CTBaUPOeCE2wZn4H6oV8GnDvnTtWl+9u0gO2pMZA6r+gkGBnYE+7pEU2dNdZKcrKlRAY7JsM7hOv9DGSkHdogjsxdBvP X-Microsoft-Exchange-Diagnostics: 1;DB6PR0801MB1973;31:Lln+R2vj+dO+U8im9k4VhTYYVq3GBLdO0ed41pIKQ15HNRPliyzUM/stw+7ODlUHrqS47Xm/GvUxxWYKMbZjlZKFvYHlcvlN1zukUzahubcYgrm8dsVITevLSRKIrO5+QAyksD33cGuvPJZmsFV4cjFrX9dww25EVRV2ArqB9zOe90XrFN/phffinTxo+9/4Md3VGgtvPZhyYNRBMEQQTw==;4:+lv8DWFQwrClVF4nwHGmw2MZ4fti+MPuNQWtwl1Nekt/3w4H/9WL/ejRLfZl06oEFCyIxnXHm7DIFQH4hvtEg+X7z2WACuZpnCfbtGNFb40v4Yr9rjGjmjm9rN534r8reoKhHE7YKOmeYiS5vHbZOBLTRddv4Ixkj1TklkAh9SJ/nWmRyQ4Kv4NjOGHDzHy4ySq88QLiQGz2QO2I3vZ9JQ1U60MaNgq4ybr4svyQ2Z5mIQ2ITLOx0UIvOq6maRmOvjeCmeTvfx1+jprvErpyX/08MiWToyX30mp88DhC2WnFExLulrq5sGZG3/iu0MchhPvvRMFgUMPeh0FX2NU1+c5lLcC5Bee/ngJou/QowYB97zEZ8wziGp5mJwokCUi7vT40LHw4AlsjLQnPf9dzLSbdcJHG+CakHWXd/GShsWo= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040130)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(6041072)(6043046);SRVR:DB6PR0801MB1973;BCL:0;PCL:0;RULEID:;SRVR:DB6PR0801MB1973; X-Forefront-PRVS: 00159D1518 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6009001)(7916002)(199003)(24454002)(189002)(377454003)(51444003)(86362001)(7736002)(2906002)(50986999)(586003)(54356999)(305945005)(6116002)(7846002)(33656002)(4326007)(15395725005)(42186005)(77096005)(81156014)(81166006)(9686002)(76176999)(92566002)(3846002)(189998001)(1076002)(101416001)(50466002)(23686003)(68736007)(8676002)(105586002)(83506001)(69596002)(97736004)(93886004)(66066001)(110136002)(19580405001)(106356001)(15975445007)(47776003)(2950100001)(53416004)(19580395003)(4001350100001)(7099028)(18370500001)(26326002)(21314002);DIR:OUT;SFP:1102;SCL:1;SRVR:DB6PR0801MB1973;H:outlook.office365.com;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?koi8-r?Q?1;DB6PR0801MB1973;23:oRqsVmuOJDaqnHRz/2LIeBoAdW60eY5pJqKxObsrX?= =?koi8-r?Q?ouzArrotBvhAcbYI59GwkuDH5KQBnv/uKAJFwZj4lJ+uc04HaEVH479STY6TtR?= =?koi8-r?Q?ngKED6rkzv6T11s5ReK48+32ASZHdNeTgUpe9Xka2fR7whcMKgWbf3QX6Wqewh?= =?koi8-r?Q?IjV4KuRBpwGci7vTJtZGkbUuFAcDai2RRDGqcxdeoG8XBjv62W8VdAUKNiNoPa?= =?koi8-r?Q?yxSpW4DNViCpvpAGYdsPf6avzgctrJ6varLzJ8F1xLT7T3V3B78Rqg6zG5J+w4?= =?koi8-r?Q?bLYMuoQqZoMC0q6RNfxkeOw4ii3Ep5o8zal3Timzr2yRl9rDAc5VeFbnr6NaU1?= =?koi8-r?Q?2zy+KTVxtpOH1sL+WiyQcGLPD9DwPGNT6PsD/ichLOlLVOMPVQy3j8W/ACnPiq?= =?koi8-r?Q?gkzjrOfo7rn3OqX8/9oaPhudfann6qBsLkdS6U8nj/KX7xDr/16/rHdXdxuKTH?= =?koi8-r?Q?+cE4ea5Dxki/3n6ThryHt5phOFQibzKvjPyZa1K8PW4z4rj6nr2yvzYtwCeFj9?= =?koi8-r?Q?MHkzoGYT/5Jdw0Fx1Bt+vVBB+yvGmkqnCEys9K0eAg9ekZy01YtbvLDzpWJH1D?= =?koi8-r?Q?rBDWw8Zg+Z6u2C35kI4AeMjevVZFJHkJWs3EuBU9z4MJP3jYIjlTRhJz4oqq2g?= =?koi8-r?Q?zyQlNCqSWmwwmCInrkTQk5gAAzDTWip+z7HxR8oPVCZ4lopAhxtscet1qHET4G?= =?koi8-r?Q?aLdIT8MmShCrXHB523OFLDKViig90j3d2rlhoF3Aa/gbz+ZSKsFVZ/Zv7cMWGt?= =?koi8-r?Q?JLDTym7ab1dsu7dlzbgmh1cltAXvMWazx2ieS/tGwMF38smmftYW/AZ3kXu+HM?= =?koi8-r?Q?P/gDwDluTNPe9ASQtTDl+G2Pg7V8cAIFDaranIQMGHUvQuKVxHBBkhD8zmeusv?= =?koi8-r?Q?B2H0XY3GbB+dMZpfh+HTtiebqt7FqWpLZs6W1qZwJeS677+bwspHglgxn/q9tb?= =?koi8-r?Q?yGlFpMpaV7LmyGoexl6WgSnKK5fRBNtfcyvtUjMVakmhU8mhbOZEF6kXDnD8TT?= =?koi8-r?Q?JtPsM+VhXAmkolutII1i2Bcn8tXv5xq200y3t7pMioo0H7zozjqqQ7eNcJNEMa?= =?koi8-r?Q?nAilqHPOLgNUlHYk4cgIH7lWaqwKpaah0pZX0grwVWBLe88iuyi6D7dalWF4yf?= =?koi8-r?Q?JTy5zjX76qZrY7vwBYIEcH7NyKKgGFbrVdetRdgl0ZCWaF+fbwaNCBbPLJ4mCR?= =?koi8-r?Q?TzmJ+1tnRB2BKvPyj/Q86vp4cjeU5A5O9+yuA06PhSkl3M7dIHDzr+DlAy43qh?= =?koi8-r?Q?vMziGAnb8TLEZAFAobr8s0PtRpJBza3r31eoW9sMh2ys0DHA2Dbrs/hfYyDBHx?= =?koi8-r?Q?w?= X-Microsoft-Exchange-Diagnostics: 1;DB6PR0801MB1973;6:LgUMRTQ9YbonsQDqaaF0SWUqjge3rulDHZcEBPyNHtiH/Sn1HlCcc3CvXCWM88shcSsnyj1e/dljhXCwil6LqTiWnS6l/oQJtiL03tsEKrQBXG9Uf0JH3y5ryBJhVMPgOlUMPAlOo9jpoI6KVjqcCOZSFORZA0hF8IMr+tYxBx4ykOQotJJt00CLXhapf4VZkoJH5/c/1Qo59gHJS5y2WkZZ+W8kWa67t6A7GwdHiIceKCqyTjD1NWGcazYNMdvfCiwQxNSe4hEt6MVy1YUQTOETeWAs15fEbu/r9YlgXCDGdB8lJ/dJyXGc74hGGM1+;5:Qh6rocZA670VfGryBSkApqTiIGmGNDdwvpFY829p3vao9Gspr+jFXk/YERcYyef6cfAqwhePtUcUT8SlEwLvE6vyspBtxPkc5d3m9Kx560vdltsEdiMCKcZjgfh68wxYV7vjgpjnhQXfgpxLn9LuNQ==;24:Kn1ti1VkbpBYvOo2+3d9f8W007EF6GsBaguJq9NGLG2Mkyuj5gKYAunOx8wYN7Dcw5C+yFmPMv3BMUFhavLJ8w2JwBlqsSf2d6lk+19V9uk=;7:pVhnLEjZbHLvbrsLeWnTPPdEA4KNZZwvrLo3DR44+hj/Z6qui1Dhl1hz9GHbqeW+eEZ813HktiOGhJeJjodxA5u/ZhbqVOqsJ5rCAoi9Nq+R30qHtLfn/XfeA4yBq1ASxc6b2SM0jWDhyFUarQa3CCWPdK59CirD6Or9erwKMMptVlDbypRb99cS8v4/jjt51NtdoEn3XvBhpa+V6QIPgfci/RHI5hS7ROIqTQpOxQaSj7cH2r90YmMSUupnAoBP SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DB6PR0801MB1973;20:vPS8wXICndnHb3uQHwMMe0I8RQO4Bol+Q2AF/TwaW7zwQEI5fyMWCQJyyuPYy6dRlyXF/zYQj+CsbmcFjDqu47PdWG6F0w/zMy4aWeRR453hYiwExdisonmLGHJJgg5mxwpEaHTdtTeE6t2DPMjUCreTtjb9qjliz6NbAx3hFtI= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jul 2016 18:25:38.7693 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB6PR0801MB1973 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Jul 26, 2016 at 10:03:25AM +0200, Michael Kerrisk (man-pages) wrote: > On 07/26/2016 04:54 AM, Andrew Vagin wrote: > > On Mon, Jul 25, 2016 at 09:59:43AM -0500, Eric W. Biederman wrote: > > > "Michael Kerrisk (man-pages)" writes: > > > > [snip] > > > > > [snip] > > > > > > So, from my point of view, the important piece that was missing from > > > > > > your commit message was the note to use readlink("/proc/self/fd/%d") > > > > > > on the returned FDs. I think that detail needs to be part of the > > > > > > commit message (and also the man page text). I think it even be > > > > > > helpful to include the above program as part of the commit message: > > > > > > it helps people more quickly grasp the API. > > > > > > > > > > Please, please make the standard way to compare these things fstat. > > > > > That is much less magic than a symlink, and a little more future proof. > > > > > Possibly even kcmp. > > > > I like the idea to use kcmp to compare namespaces. I am going to add this > > functionality to kcmp and describe all these in the man page. > > Hi Andrey, > > Can you briefly sketch out the proposed API and how it would be used? > I'd find it useful to see that even before the implementation. Sure. If a process wants to compare two namespaces, it needs to get file descriptors for them (open /proc/PID/ns/XXX, use new ioctl-s, find a process which has them), and then it calls kcmp(pid1, pid2, KCMP_NSFD, ns_fd1, ns_fd2) For example, if we want to compare pid namespaces for 1 and 2 processes: pid = getpid(); ns_fd1 = open("/proc/1/ns/pid") ns_fd2 = open("/proc/2/ns/pid") if (!kcmp(pid, pid, KCMP_NSFD, ns_fd1, ns_fd2)) printf("Both processes live in the same pid namespace\n"); Thanks, Andrew > > Cheers, > > Michael > > > -- > Michael Kerrisk > Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/ > Linux/UNIX System Programming Training: http://man7.org/training/