From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757144AbbJITfc (ORCPT ); Fri, 9 Oct 2015 15:35:32 -0400 Received: from mail-pa0-f45.google.com ([209.85.220.45]:32829 "EHLO mail-pa0-f45.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757062AbbJITf0 (ORCPT ); Fri, 9 Oct 2015 15:35:26 -0400 From: Alexander Morozov X-Google-Original-From: Alexander Morozov To: Miklos Szeredi Cc: LKML , Alexander Morozov Subject: [PATCH 1/2] fs/overlay: move update and instantiate dentry code to function Date: Fri, 9 Oct 2015 12:34:56 -0700 Message-Id: <1444419297-16232-2-git-send-email-lk4d4@docker.com> X-Mailer: git-send-email 2.6.1 In-Reply-To: <1444419297-16232-1-git-send-email-lk4d4@docker.com> References: <1444419297-16232-1-git-send-email-lk4d4@docker.com> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org ovl_create_upper and ovl_create_over_whiteout shared same code about updating and instantiating dentry. Move that code to ovl_dentry_update_instantiate function, so it'll be easier to bring new changes there. Signed-off-by: Alexander Morozov --- fs/overlayfs/dir.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/fs/overlayfs/dir.c b/fs/overlayfs/dir.c index 692ceda..487a157 100644 --- a/fs/overlayfs/dir.c +++ b/fs/overlayfs/dir.c @@ -158,6 +158,16 @@ static int ovl_dir_getattr(struct vfsmount *mnt, struct dentry *dentry, return 0; } +static void ovl_dentry_update_instantiate(struct dentry *dentry, + struct dentry *newdentry, + struct inode *inode) +{ + ovl_dentry_version_inc(dentry->d_parent); + ovl_dentry_update(dentry, newdentry); + ovl_copyattr(newdentry->d_inode, inode); + d_instantiate(dentry, inode); +} + static int ovl_create_upper(struct dentry *dentry, struct inode *inode, struct kstat *stat, const char *link, struct dentry *hardlink) @@ -177,10 +187,7 @@ static int ovl_create_upper(struct dentry *dentry, struct inode *inode, if (err) goto out_dput; - ovl_dentry_version_inc(dentry->d_parent); - ovl_dentry_update(dentry, newdentry); - ovl_copyattr(newdentry->d_inode, inode); - d_instantiate(dentry, inode); + ovl_dentry_update_instantiate(dentry, newdentry, inode); newdentry = NULL; out_dput: dput(newdentry); @@ -363,10 +370,7 @@ static int ovl_create_over_whiteout(struct dentry *dentry, struct inode *inode, if (err) goto out_cleanup; } - ovl_dentry_version_inc(dentry->d_parent); - ovl_dentry_update(dentry, newdentry); - ovl_copyattr(newdentry->d_inode, inode); - d_instantiate(dentry, inode); + ovl_dentry_update_instantiate(dentry, newdentry, inode); newdentry = NULL; out_dput2: dput(upper); -- 2.6.1