From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934274AbbEMSTo (ORCPT ); Wed, 13 May 2015 14:19:44 -0400 Received: from mail-wi0-f174.google.com ([209.85.212.174]:35695 "EHLO mail-wi0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752956AbbEMSTl convert rfc822-to-8bit (ORCPT ); Wed, 13 May 2015 14:19:41 -0400 Date: Wed, 13 May 2015 20:19:36 +0200 From: Jordi Pujol Palomer To: Miklos Szeredi Cc: Josh Boyer , Miklos Szeredi , Vincent Batts , David Howells , linux-unionfs@vger.kernel.org, "Linux-Kernel@Vger. Kernel. Org" Subject: Re: Overalyfs regression in 4.0 Message-ID: <20150513201936.22026b44@gmail.com> In-Reply-To: <20150513151101.GA19583@tucsk.suse.de> References: <20150513151101.GA19583@tucsk.suse.de> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hello, Tested-by: Jordi Pujol Palomer Have compiled the version 4.0.3 adding this patch, it works in a Live OS, # rmdir /mnt/ # mkdir -p /mnt # touch /mnt/file # rmdir /mnt/ rmdir: failed to remove ‘/mnt/’: Directory not empty # uname -a Linux pcjordi 4.0.3-1-haswell-lnet-amd64 #1 SMP PREEMPT Wed May 13 19:38:19 CEST 2015 x86_64 GNU/Linux # Thanks, Jordi Pujol EL Wed, 13 May 2015 17:11:01 +0200 Miklos Szeredi escrigué: > --- > Subject: ovl: don't remove non-empty opaque directory > From: Miklos Szeredi > > When removing an opaque directory we can't just call rmdir() to check > for emptyness, because the directory will need to be replaced with a > whiteout. The replacement is done with RENAME_EXCHANGE, which doesn't > check emptyness. > > Solution is just to check emptyness by reading the directory. In the > future we could add a new rename flag to check for emptyness even for > RENAME_EXCHANGE to optimize this case. > > Reported-by: Vincent Batts > Signed-off-by: Miklos Szeredi > Fixes: 263b4a0fee43 ("ovl: dont replace opaque dir") > Cc: # v4.0+ > ---