All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jensen <shencanquan@huawei.com>
To: ocfs2-devel@oss.oracle.com
Subject: [Ocfs2-devel] [PATCH] ocfs2: should call ocfs2_journal_access_di() before ocfs2_delete_entry() in ocfs2_orphan_del()
Date: Sat, 29 Jun 2013 08:32:55 +0800	[thread overview]
Message-ID: <51CE2B37.3090500@huawei.com> (raw)
In-Reply-To: <20130628134948.0c822060ccb324debbd1a16d@linux-foundation.org>

reviewed-by: Jensen <shencanquan@huawei.com>

On 2013/6/29 4:49, Andrew Morton wrote:

> 
> Folks, 3.10 is nigh.  Could we please have some review and test of this
> patch?
> 
> 
> From: Younger Liu <younger.liu@huawei.com>
> Subject: ocfs2: should call ocfs2_journal_access_di() before ocfs2_delete_entry() in ocfs2_orphan_del()
> 
> While deleting a file into orphan dir in ocfs2_orphan_del(), it calls
> ocfs2_delete_entry() before ocfs2_journal_access_di().  If
> ocfs2_delete_entry() succeeded and ocfs2_journal_access_di() failed, there
> would be a inconsistency: the file is deleted from orphan dir, but orphan
> dir dinode is not updated.
> 
> So we need to call ocfs2_journal_access_di() before ocfs2_orphan_del().
> 
> Signed-off-by: Younger Liu <younger.liu@huawei.com>
> Cc: Jie Liu <jeff.liu@oracle.com>
> Cc: Joel Becker <jlbec@evilplan.org>
> Cc: Mark Fasheh <mfasheh@suse.com>
> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
> ---
> 
>  fs/ocfs2/namei.c |   12 ++++++------
>  1 file changed, 6 insertions(+), 6 deletions(-)
> 
> diff -puN fs/ocfs2/namei.c~ocfs2-should-call-ocfs2_journal_access_di-before-ocfs2_delete_entry-in-ocfs2_orphan_del fs/ocfs2/namei.c
> --- a/fs/ocfs2/namei.c~ocfs2-should-call-ocfs2_journal_access_di-before-ocfs2_delete_entry-in-ocfs2_orphan_del
> +++ a/fs/ocfs2/namei.c
> @@ -2095,17 +2095,17 @@ int ocfs2_orphan_del(struct ocfs2_super
>  		goto leave;
>  	}
>  
> -	/* remove it from the orphan directory */
> -	status = ocfs2_delete_entry(handle, orphan_dir_inode, &lookup);
> +	status = ocfs2_journal_access_di(handle,
> +					 INODE_CACHE(orphan_dir_inode),
> +					 orphan_dir_bh,
> +					 OCFS2_JOURNAL_ACCESS_WRITE);
>  	if (status < 0) {
>  		mlog_errno(status);
>  		goto leave;
>  	}
>  
> -	status = ocfs2_journal_access_di(handle,
> -					 INODE_CACHE(orphan_dir_inode),
> -					 orphan_dir_bh,
> -					 OCFS2_JOURNAL_ACCESS_WRITE);
> +	/* remove it from the orphan directory */
> +	status = ocfs2_delete_entry(handle, orphan_dir_inode, &lookup);
>  	if (status < 0) {
>  		mlog_errno(status);
>  		goto leave;
> _
> 
> 
> 
> _______________________________________________
> Ocfs2-devel mailing list
> Ocfs2-devel at oss.oracle.com
> https://oss.oracle.com/mailman/listinfo/ocfs2-devel
> 
> 

      parent reply	other threads:[~2013-06-29  0:32 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-20 13:18 Younger Liu
2013-06-28 20:49 ` Andrew Morton
2013-06-28 22:15   ` Sunil Mushran
2013-06-29  0:32   ` Jensen [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=51CE2B37.3090500@huawei.com \
    --to=shencanquan@huawei.com \
    --cc=ocfs2-devel@oss.oracle.com \
    --subject='Re: [Ocfs2-devel] [PATCH] ocfs2: should call ocfs2_journal_access_di() before ocfs2_delete_entry() in ocfs2_orphan_del()' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.