Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753393AbcCGRdY (ORCPT ); Mon, 7 Mar 2016 12:33:24 -0500 Received: from mail-yk0-f181.google.com ([209.85.160.181]:35121 "EHLO mail-yk0-f181.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752830AbcCGRdP (ORCPT ); Mon, 7 Mar 2016 12:33:15 -0500 MIME-Version: 1.0 In-Reply-To: References: <1444419297-16232-1-git-send-email-lk4d4@docker.com> Date: Mon, 7 Mar 2016 09:33:14 -0800 Message-ID: Subject: Re: [PATCH 0/2] Fix hardlinks in overlay From: Alexander Morozov To: Miklos Szeredi Cc: LKML , Alexander Morozov , "linux-unionfs@vger.kernel.org" Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1683 Lines: 36 Sequence of calls is kern_path(filename, LOOKUP_FOLLOW, &path) -> filename_lookup(AT_FDCWD, getname_kernel(name), flags, path, NULL) -> path_lookup(nameidata *nd, flags | LOOKUP_RCU, path) -> path_init(nd, flags). In that function if I understand correctly nd->path is set to current_thread_info()->task->fs->pwd and I don't see any further tricks with dentry, so I suppose that current_thread_info()->task->fs->pwd->dentry already points to overlayfs dentry. Let me know what we can do with it. Thanks! - Alex On Mon, Mar 7, 2016 at 2:49 AM, Miklos Szeredi wrote: > On Fri, Oct 9, 2015 at 9:34 PM, Alexander Morozov > wrote: >> There were reports that overlay doesn't work very well with unix-sockets. >> In particular you can't access unix-socket through hardlink on overlay fs. >> Problem is that overlay creates different inodes for hardlinks and code in >> net/unix/af_unix.c relies on inodes for unix-socket lookup. I think this >> affects any code which relies on inodes from kern_path. There is helper >> d_backing_inode, which I think supposed to get inodes from underlying fs >> (for example ext4), but in current implementation it does nothing. These >> patches made on top of v4.3-rc4 of main linux tree (master is broken for my >> ubuntu VM), but I tested that they applying on master and there was no >> changes to overlay since v4.3-rc4. >> >> Alexander Morozov (2): >> fs/overlay: move update and instantiate dentry code to function >> fs/overlay: use same inodes for hardlinks > > Problem is with lookup: how do we go from backing dentry to overlayfs > dentry so the inode can be shared? > > Thanks, > Miklos