On 2013/5/29 10:42, Joseph Qi wrote:
> If we use le32_add_cpu to set ocfs2_dinode i_flags, it may lead to the
> corresponding flag corrupted. So we should change it to bitwise and/or
> operation.
I think it should be use bitwise and or operation, because one bit stand 
for one meaning.
>
> Signed-off-by: Joseph Qi<[email protected]>
> ---
>   fs/ocfs2/namei.c |    6 +++---
>   1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/fs/ocfs2/namei.c b/fs/ocfs2/namei.c
> index 04ee1b5..3a5269a 100644
> --- a/fs/ocfs2/namei.c
> +++ b/fs/ocfs2/namei.c
> @@ -522,7 +522,7 @@ static int __ocfs2_mknod_locked(struct inode *dir,
>
>       fe->i_last_eb_blk = 0;
>       strcpy(fe->i_signature, OCFS2_INODE_SIGNATURE);
> -     le32_add_cpu(&fe->i_flags, OCFS2_VALID_FL);
> +     fe->i_flags |= cpu_to_le32(OCFS2_VALID_FL);
>       fe->i_atime = fe->i_ctime = fe->i_mtime =
>               cpu_to_le64(CURRENT_TIME.tv_sec);
>       fe->i_mtime_nsec = fe->i_ctime_nsec = fe->i_atime_nsec =
> @@ -2044,7 +2044,7 @@ static int ocfs2_orphan_add(struct ocfs2_super *osb,
>               goto leave;
>       }
>
> -     le32_add_cpu(&fe->i_flags, OCFS2_ORPHANED_FL);
> +     fe->i_flags |= cpu_to_le32(OCFS2_ORPHANED_FL);
>       OCFS2_I(inode)->ip_flags&= ~OCFS2_INODE_SKIP_ORPHAN_DIR;
>
>       /* Record which orphan dir our inode now resides
> @@ -2434,7 +2434,7 @@ int ocfs2_mv_orphaned_inode_to_new(struct inode *dir,
>       }
>
>       di = (struct ocfs2_dinode *)di_bh->b_data;
> -     le32_add_cpu(&di->i_flags, -OCFS2_ORPHANED_FL);
> +     di->i_flags&= cpu_to_le32(~OCFS2_ORPHANED_FL);
>       di->i_orphaned_slot = 0;
>       set_nlink(inode, 1);
>       ocfs2_set_links_count(di, inode->i_nlink);



_______________________________________________
Ocfs2-devel mailing list
[email protected]
https://oss.oracle.com/mailman/listinfo/ocfs2-devel

Reply via email to