Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933491AbdC3K2K (ORCPT ); Thu, 30 Mar 2017 06:28:10 -0400 Received: from mail-he1eur01on0093.outbound.protection.outlook.com ([104.47.0.93]:32942 "EHLO EUR01-HE1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S933062AbdC3K15 (ORCPT ); Thu, 30 Mar 2017 06:27:57 -0400 Authentication-Results: hallyn.com; dkim=none (message not signed) header.d=none;hallyn.com; dmarc=none action=none header.from=virtuozzo.com; Subject: [PATCH RESEND 1/2] ns: Allow ns_entries to have custom symlink content From: Kirill Tkhai To: , , , , , , , , , , , , , , Date: Thu, 30 Mar 2017 13:27:49 +0300 Message-ID: <149086966919.4388.10564546347286785860.stgit@localhost.localdomain> In-Reply-To: <149086931397.4388.9604947335273204415.stgit@localhost.localdomain> References: <149086931397.4388.9604947335273204415.stgit@localhost.localdomain> User-Agent: StGit/0.17.1-dirty MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: DB6PR0802CA0036.eurprd08.prod.outlook.com (10.172.252.150) To HE1PR0802MB2284.eurprd08.prod.outlook.com (10.172.127.14) X-MS-Office365-Filtering-Correlation-Id: 73e7a078-5a46-4de2-6050-08d477576d29 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(201703131423075)(201703031133081);SRVR:HE1PR0802MB2284; X-Microsoft-Exchange-Diagnostics: 1;HE1PR0802MB2284;3:pXRkn/9vMpu9ToLK/Zi2gatJ2SSSbfc8ESxtSrd3dyjoo+QosFTQ6vZhdAsSUYkgwN4VbohsKrw1QANuPDi9p9mBrxFmk4qOSUWItQl+e9CBtyXpgE9OxDxbKdLn8JL1aPMnf8VRkTxsmT8mM2TGL2dEiDJR2XtDpr4oBojvYX/+QoDdSVuWRcjuafPCl5Z7Dl2v8s6ws+0iJlKkk69qTk0zfOwvJN93RqSUt+KYahCd/a6U4wmk7uhA79cgtcK475Mu4gct279YzD/mttBWRZVWgrGYy0PoDS2GQC4/Hgk4GwwEcOspCWr1Q5E1wqKCD87Fn/9z5dmHyCofVXXgqA==;25:/C3kPMAFq8EMmJb7/HsRK82+ar82jwCssUEIxEZuNOec46Pf3NUfuQMfFx56IqFDbXPda3KoHJzDtRWHmVDEQaJaRaFzCf5EHggrgvWw4TTKgvtMfIOlqCWHdbexPP0xLKqGms6lOOTNshmcn8PHTTMv01mnj/1fpxqx+ZAtPEW6InByDNur2/lsAOvpa0QosI5hC98LQ+2KarqiO8mc++JRIT4CPdw9Ggh1HBjD/00m/cv9tsAdz48Gvot1xBeJLwl2WCobMG6kfEBhKoYers1x87bm7TEqvwPun+i/X32/P6fjR78AV0pR+f2D8NsjzxfVcuw/d6ZabjvC5T4u3FbY9KZxM+L56fgQSnWAGdGiHJLlKAy/QfIL3wncxw8RLXR4Yy1wfEvT7rVCK0ayESA0XTTmu0GoVQjvrUM+ZYP3PFjmcBCXRtQrdFD0QIwC9wdfQX7aeVKU2MUc/hjYFA== X-Microsoft-Exchange-Diagnostics: 1;HE1PR0802MB2284;31:W1O1nROCNcFnAOqUTfa3ymUBQFSBV5vxdZOIuT4d38O940sifZKsXgatW6TruM1pAImU52ueUqVND8SR9Ld0oIg6fytPyGsmKshIUS7hsWzlE+sl89SFQroIho9JRYlnDFwnYehVyzfs7NHDV185lQft0cLQCqdJRz9iE8nLkNloj5GA5ne9d5+9IHjO4edeXelnA53m8UgiyntFPG8r6IlsypNv3bexwT1zkh05HhBt8n60zs+UGDq98sniyLpj;20:cFwQRbzzEzPrajp0T3u5A7aaBDOJWXZQIdEtlN7vcs2RyUOnuRhw6MInZmnP35KNeX6wNqn87e++ZOPtzH1u2fXhvggknSFxM9WWhoTFGpjBjT6hZj1kdTPhEKyvb6oc7FhHyIRRHFGPHJeggymkJHzCkzlVOsi/B5uxncECw9GoOgAPfg2SqUf2hd/uYeTUx6b+38LkrwO7KyoL5Nqqe28jEJf01/NNNvI1oiwp65u47JqKAJA7QoiE4XnW0SELYJfi69gP8HeJh06sVH9N2vGg2Vx3Hi5rOBggGFp7MaoYAkYdTPS9h8l45ctyeDchjptAqnT9Eh0bCwXpJC9N1KBaca9InTFBMlQdsPoGhV5+NtCGmCwS1pO3jTH/QRv7LEJ5OGbJaxGkqI/WzlGXwmzk6UJ3IsaEFODbcT4SoH4= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040450)(601004)(2401047)(8121501046)(5005006)(93006067)(93001067)(3002001)(10201501046)(6041248)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(20161123564025)(20161123562025)(20161123555025)(6072148);SRVR:HE1PR0802MB2284;BCL:0;PCL:0;RULEID:;SRVR:HE1PR0802MB2284; X-Microsoft-Exchange-Diagnostics: 1;HE1PR0802MB2284;4:VOPX6XhbD31LbxavkA7yl3x7mul5ZCa2L8ionBPM7lEtaKBZa5qRORzD1bm/7/p1OUHjvDw5YyquVsJkbvlGhM4VCWXSW+dFNGt065FJEOXMexNvjEsR00IWWFlB4dnx7as/caoYY9X4p49ABlohsky/U+NGCl+PXX3xTztDcw9tj+IcQJZONTB9dKVCdlb2pYYJAU+GPki1C8Z3qK9k65ixc6vqeTn+kiQ+hs3Q4QbmhwoOidJ2p7FeBDss4ZKfJZ7PsPF7AJyYGhA3Sq9rze7ejMeJ3W4aEofZJUhokBMaf1U258UekROdsi5gaYAGyNeQJZ1wGuS+hDm8LspA8aJBC3TKHpzx0Ntt1OmnQKKuzS9MJsfIOIg+6ypHg8roL2xKdJDjdGP7U9g18usmWnYEw2esrzqDOd1juHbJpY1kH4QgJqgBMyZICq+3P2f0B+S4ogwJAnvFWp7olPTA5wAbQt/03ik6pZNPA4D/0AkgssMzKwgekSxV2tXAJIhNeacOXFBzHC8+es0EUfoBdFLhNKdztfFLRRa8dNhFVljwsEy4vviFmVA9XAJiX8DsRujnFAfZseIS2x5KuEshCBd/Q7oEPrEle8Q5OAHRD1fwIS/cxBE9lDIflnT7E92IBFNw1aFEvheF15L0G2F6xKbmMFmNzOwkxdl1F41FA3sj//VxAgOmdGb1xfMVm0ejuW2W1psVKt8TfLmPMd5dYw== X-Forefront-PRVS: 02622CEF0A X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(4630300001)(6069001)(6009001)(39450400003)(39840400002)(39400400002)(39410400002)(81166006)(33646002)(83506001)(8676002)(50466002)(5660300001)(7416002)(6666003)(2950100002)(305945005)(61506002)(6506006)(50986999)(76176999)(54356999)(7736002)(86362001)(2201001)(9686003)(38730400002)(53936002)(230700001)(4001350100001)(55016002)(23676002)(42186005)(66066001)(47776003)(103116003)(25786009)(189998001)(6116002)(3846002)(2906002)(21314002)(921003)(217873001)(1121003);DIR:OUT;SFP:1102;SCL:1;SRVR:HE1PR0802MB2284;H:localhost.localdomain;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtIRTFQUjA4MDJNQjIyODQ7MjM6YzhHdVBtV0tKMUtWZ2RHYjI3VmlKbnJC?= =?utf-8?B?T2o4T21GK3NNL2ZWYXJ6MGVPdnFzeDg0N2NtRXByZGpkVkIwU3dMc1BjYmNG?= =?utf-8?B?TWtMK2Rma3J3b1VwZGlPR20rT3R3K2lTVEdyVEJrTzQ2VlFSMG5RWTgwQmtj?= =?utf-8?B?ZHV4aUdYZHZ0NGNEc0NqWFVzR3Eya2xXUk9GZjJ6dGxXMHNmaVczYzN5VWl5?= =?utf-8?B?N25QTTN6enJJd0NnMzRpVHdQYlNzbVRkRXE4T0t3TjFIVlgyUlR2T0piVTNC?= =?utf-8?B?WmtxZUFES1FiM0ppZVJueENoNkI5YUk2WWV0YXZCTWFISmlxQXRXaHZDYVJr?= =?utf-8?B?SE5FNzNhWkkyamY3UmgrcTBrVmZmSnNLWmRXcEYyeG9NNnR1SWtZdlgxREhQ?= =?utf-8?B?U05WM1MyTVF1Z1QzRjBJdlI1U2xkWjRSOFhlWVNyOHpWN1ZLclAzbHdnMzRl?= =?utf-8?B?TS8wVmRRRXo3SjNYMjJXa2s5Wm9PU0toRzc5VG5sYjFjdENKRG9OL3IyWHIv?= =?utf-8?B?c3o4aStQQjc5My9LWWgxWW81d2M1dXIwNVE4bjJTOGs4aDNjQWlKaHFXQjM4?= =?utf-8?B?MWQ0ak5ja2VRS2VYV3ZPeHVveThtYS95ZnJsT2I5ZkFTalFweVFnTmlYRi9t?= =?utf-8?B?SUUxZ1d2ZThEZXo4d25BSDZwdFE4SlFkQU5qck4ybVQ3RFFjS2NjcU9DSnlj?= =?utf-8?B?UTk0dWRWeThXREVCYWlHVXp0Q2EwVms5SEw0bFFmbkhhNTBWZkJNejdsbC90?= =?utf-8?B?dUdsd3E1NUsvMTFiK2RGZC9yNUwyRHpXdkV4MjgxUTNHb3VBeUlzY1ExZkFT?= =?utf-8?B?eWhSL2VqbVc3RmplMGtFd0QxdDRGSlJvV08yQ3JnY3VJYk1aaG1VUlJOcnNa?= =?utf-8?B?NU5aNkR4MWo1ZHhRVlRQSWR1dDIyc3dabkd6dy9PSWpSUzlFUE56Z1Y0dmt1?= =?utf-8?B?Vk5iRlF6WSs1ZEl1c25wMmZPM1NKeU9PRFFlUWFLT3I0NVhRdmt1Wi9VdC9Y?= =?utf-8?B?Ni93aE5UdXZiQmpOcnZhUm5wTlZqR3E2cjFUTlZaMVRNbkpwWENVRFRpTVRJ?= =?utf-8?B?UTdKM3FwZCtYdUhKb25SUlB3cGtHRUFxRjQwZlhWTktNa2xwV2ppTklsL3Zh?= =?utf-8?B?dzRrTmN1TVNzQVlvaU50d2FORWVNQkR4bTNqZCt3eTgvMGV1ZjNlb3V4c0FQ?= =?utf-8?B?Z3d0TEo3MzY4MzIrelZCUGtzczhNSmVEdythWHI1TS9oaDRuT1VQdzMwc01h?= =?utf-8?B?VEpOcEtZSG9jZ3FtdEJOOWFzV0hocGQvTWRuMEdhajRBOUZWNVR6aUJBYW13?= =?utf-8?B?YnM2TlpGZ2NBYmxEcGRpM0JqTk1oeEVoSmJUZ2ZsOVExUEVvNWkxc3YzMVNU?= =?utf-8?B?cUFWbzZuU2h5T09QZThFOGdjbVAwYVJyTlc0dzRQdGNpT2QzNmJ3ckVHSWti?= =?utf-8?B?aEk0RHJ1dGVLTVJ4NjNxaUFaTXZaSkJkREM0dkFCUWlkUnhWOEFoL2ZvUmZa?= =?utf-8?Q?pSxkVH2zHIQlkLJONg194pe1vjk=3D?= X-Microsoft-Exchange-Diagnostics: 1;HE1PR0802MB2284;6:uRbnzGNojed20zEVNnTr1O5wns9p0ZkHEAp4Sk1bbQljXsjyi7jgB3Ab6XwDmYFZT3RXm6RzGlE0ofOdVvGTYoqqFhfqG0o5Ks58u42fn8jsEbV5ApN/Ck4+UUhmbio50llDDHLoTtjEONI7WOaOClAd72I/jraSrSbv/QzbE8bl6Ae86jD7GubVAoNa4RGjdoPIMwwLyo8tril4VzeYZ+sjbkxCJ3+jZxF1MPhL5Qup/V2QOgTl3NMrsTfsfDexhf+aMFqZgcMmDJcWbtz6x3RHlqFZlSDn7vVbYykhSxUHQe1NTpizKnFH64NgQauF2ldP0k2S+ai9XQtVd9CI4BrxfUWRk5bHNvsYuq23iXNg6bkM699khBOqVW0XWKI/1m8el8nT/EyQBwa81k3oRA==;5:g3p7Ok7XB8KHUVsO3FNpFWHD4umizFda9F8fVTIW070UavTYNSJ5/8rY+3h41A93p4YeGjwiNui1OoLQJXPp2JxlV9fRq9Q0Lag+OZcLWQa4qMBjEEU6aGYOzZHnJtWXEkNQysAbFUyoae8rQn7V+Q==;24:XP2ztSrsQtOUPjH4g5mR3ciKBev3HH5VPbIVMqI2eyts4pVR4CEnhcrBk2Jqth9+uwK/IBvUlCbP9UgjpQ+ATgyJbrYmOh4jrWJBfNfYn3s= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;HE1PR0802MB2284;7:zN98FajcB1/rKz4S+PIgPPPIM4y8h9vZ2c38y3Fs5iRLmKoJ406nLqb6TysuyBqmfPU/BOxDkiq2XDRnJ8d8UhineXzHEvybLgvkcd5CTxezGli0d637k8LmSd2dOmuJ69tNQ1ls/VlsjfzhXvS14mR0vTISluE1rKYUggvs/FqoE7RWUGW4pDU2jep+i09+SUqkze0p6YWwXh0yWykxxmJw8B/1QphfxD8y5D4leCSp/f/4iT1DBxk6FB2bj1MvQpl+tNGdJQv6GvWw02EsWCkC3YHLBMQ3NYrfXh+wLIVYEWzuVN2iggvXrEDG5zIsncHprWZPqfw3YRvEZpBQWA==;20:vwiVQrvQEFkE5I3f8mLwhKcgxeYKhux7jDVAmCTt5vD3nWXubwH9K5Klz262q0kYMt7DwpCx3jMHiJFJYq5IYCSRdTNCNh6BwIaNoKWPsVMe1MWBwUelpT84vl8vp+9a7mQCSoJ8+Jr2AHAst/RzoamA83AfPInfkPe6b7MLfws= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Mar 2017 10:27:52.4084 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0802MB2284 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1322 Lines: 45 Make possible to have link content prefix yyy different from the link name xxx: $ readlink /proc/[pid]/ns/xxx yyy:[4026531838] This will be used in next patch. Signed-off-by: Kirill Tkhai Reviewed-by: Cyrill Gorcunov Acked-by: Andrei Vagin --- fs/nsfs.c | 4 +++- include/linux/proc_ns.h | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/fs/nsfs.c b/fs/nsfs.c index 1656843e87d2..495f12b83a7b 100644 --- a/fs/nsfs.c +++ b/fs/nsfs.c @@ -195,9 +195,11 @@ int ns_get_name(char *buf, size_t size, struct task_struct *task, { struct ns_common *ns; int res = -ENOENT; + const char *name; ns = ns_ops->get(task); if (ns) { - res = snprintf(buf, size, "%s:[%u]", ns_ops->name, ns->inum); + name = ns_ops->real_ns_name ? : ns_ops->name; + res = snprintf(buf, size, "%s:[%u]", name, ns->inum); ns_ops->put(ns); } return res; diff --git a/include/linux/proc_ns.h b/include/linux/proc_ns.h index 12cb8bd81d2d..88dba3b53375 100644 --- a/include/linux/proc_ns.h +++ b/include/linux/proc_ns.h @@ -14,6 +14,7 @@ struct inode; struct proc_ns_operations { const char *name; + const char *real_ns_name; int type; struct ns_common *(*get)(struct task_struct *task); void (*put)(struct ns_common *ns);