From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753028AbZJ0OgR (ORCPT ); Tue, 27 Oct 2009 10:36:17 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752697AbZJ0OgQ (ORCPT ); Tue, 27 Oct 2009 10:36:16 -0400 Received: from mail-pw0-f42.google.com ([209.85.160.42]:50123 "EHLO mail-pw0-f42.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752446AbZJ0OgP convert rfc822-to-8bit (ORCPT ); Tue, 27 Oct 2009 10:36:15 -0400 MIME-Version: 1.0 In-Reply-To: <1256152779-10054-11-git-send-email-vaurora@redhat.com> References: <1256152779-10054-1-git-send-email-vaurora@redhat.com> <1256152779-10054-3-git-send-email-vaurora@redhat.com> <1256152779-10054-4-git-send-email-vaurora@redhat.com> <1256152779-10054-5-git-send-email-vaurora@redhat.com> <1256152779-10054-6-git-send-email-vaurora@redhat.com> <1256152779-10054-7-git-send-email-vaurora@redhat.com> <1256152779-10054-8-git-send-email-vaurora@redhat.com> <1256152779-10054-9-git-send-email-vaurora@redhat.com> <1256152779-10054-10-git-send-email-vaurora@redhat.com> <1256152779-10054-11-git-send-email-vaurora@redhat.com> Date: Tue, 27 Oct 2009 10:36:18 -0400 Message-ID: <7e0fb38c0910270736h13860a3ckf2690a76f99b35be@mail.gmail.com> Subject: Re: [PATCH 10/41] whiteout: Add vfs_whiteout() and whiteout inode operation From: Eric Paris To: Valerie Aurora Cc: Jan Blunck , Alexander Viro , Christoph Hellwig , Andy Whitcroft , Scott James Remnant , Sandu Popa Marius , Jan Rekorajski , "J. R. Okajima" , Arnd Bergmann , Vladimir Dronnikov , Felix Fietkau , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, David Woodhouse Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Oct 21, 2009 at 3:19 PM, Valerie Aurora wrote: > From: Jan Blunck > > Simply white-out a given directory entry. This functionality is usually used > in the sense of unlink. Therefore the given dentry can still be in-use and > contains an in-use inode. The filesystems inode operation has to do what > unlink or rmdir would in that case. Since the dentry still might be in-use > we have to provide a fresh unhashed dentry that is used as the whiteout > dentry instead. The given dentry is dropped and the whiteout dentry is > rehashed instead. > > Signed-off-by: Jan Blunck > Signed-off-by: David Woodhouse > Signed-off-by: Valerie Aurora > --- >  fs/dcache.c            |    4 +- >  fs/namei.c             |  104 ++++++++++++++++++++++++++++++++++++++++++++++++ >  include/linux/dcache.h |    6 +++ >  include/linux/fs.h     |    3 + >  4 files changed, 116 insertions(+), 1 deletions(-) > > diff --git a/include/linux/dcache.h b/include/linux/dcache.h > index 30b93b2..7648b49 100644 > --- a/include/linux/dcache.h > +++ b/include/linux/dcache.h > @@ -183,6 +183,7 @@ d_iput:             no              no              no       yes >  #define DCACHE_INOTIFY_PARENT_WATCHED  0x0020 /* Parent inode is watched by inotify */ > >  #define DCACHE_COOKIE          0x0040  /* For use by dcookie subsystem */ > +#define DCACHE_WHITEOUT                0x0080  /* This negative dentry is a whiteout */ > >  #define DCACHE_FSNOTIFY_PARENT_WATCHED 0x0080 /* Parent inode is watched by some fsnotify listener */ > I don't think you want 2 flags with the 0x0080 value....... This can't be right.