From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757038AbbJITfT (ORCPT ); Fri, 9 Oct 2015 15:35:19 -0400 Received: from mail-pa0-f52.google.com ([209.85.220.52]:34157 "EHLO mail-pa0-f52.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756959AbbJITfO (ORCPT ); Fri, 9 Oct 2015 15:35:14 -0400 From: Alexander Morozov X-Google-Original-From: Alexander Morozov To: Miklos Szeredi Cc: LKML , Alexander Morozov Subject: [PATCH 0/2] Fix hardlinks in overlay Date: Fri, 9 Oct 2015 12:34:55 -0700 Message-Id: <1444419297-16232-1-git-send-email-lk4d4@docker.com> X-Mailer: git-send-email 2.6.1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 fs/overlayfs/dir.c | 41 +++++++++++++++++++++++++++++------------ 1 file changed, 29 insertions(+), 12 deletions(-) -- 2.6.1