Re: [PATCH 3/3] ext4: enable again per-file data journaling on delalloc mode

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed 18-11-15 10:34:34, Daeho Jeong wrote:
> Several problems occurred when per-file data journaling is enabled on
> "delalloc" mode, so the per-file data journaling was permanently
> deactivated by commit 3d2b15826282 ("ext4: ignore
> EXT4_INODE_JOURNAL_DATA flag with delalloc"). But, those are not
> problems for only "delalloc" mode and when you execute xfstest on
> "nodelalloc" mode, same problems happen on "nodelalloc" mode. We always
> execute xfstest on "delalloc" mode, which is default mode, so we
> haven't realized problems of per-file data journaling feature. Finally,
> problems of per-file data journaling feature were fixed by commit
> 9c02ac97989d ("ext4: fix xfstest generic/269 double revoked buffer bug
> with bigalloc") and previous patchset. Now, we can re-enable the
> feature on "delalloc" mode.

Yeah, once we fix what I pointed out for patch 2/3 and we fix races with
page faults, this should be OK to do.

								Honza

> Signed-off-by: Daeho Jeong <daeho.jeong@xxxxxxxxxxx>
> ---
>  fs/ext4/ext4_jbd2.h |    4 +---
>  1 file changed, 1 insertion(+), 3 deletions(-)
> 
> diff --git a/fs/ext4/ext4_jbd2.h b/fs/ext4/ext4_jbd2.h
> index 9c5b49f..742b3ec 100644
> --- a/fs/ext4/ext4_jbd2.h
> +++ b/fs/ext4/ext4_jbd2.h
> @@ -395,12 +395,10 @@ static inline int ext4_inode_journal_mode(struct inode *inode)
>  {
>  	if (EXT4_JOURNAL(inode) == NULL)
>  		return EXT4_INODE_WRITEBACK_DATA_MODE;	/* writeback */
> -	/* We do not support data journalling with delayed allocation */
>  	if (!S_ISREG(inode->i_mode) ||
>  	    test_opt(inode->i_sb, DATA_FLAGS) == EXT4_MOUNT_JOURNAL_DATA)
>  		return EXT4_INODE_JOURNAL_DATA_MODE;	/* journal data */
> -	if (ext4_test_inode_flag(inode, EXT4_INODE_JOURNAL_DATA) &&
> -	    !test_opt(inode->i_sb, DELALLOC))
> +	if (ext4_test_inode_flag(inode, EXT4_INODE_JOURNAL_DATA))
>  		return EXT4_INODE_JOURNAL_DATA_MODE;	/* journal data */
>  	if (test_opt(inode->i_sb, DATA_FLAGS) == EXT4_MOUNT_ORDERED_DATA)
>  		return EXT4_INODE_ORDERED_DATA_MODE;	/* ordered */
> -- 
> 1.7.9.5
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
-- 
Jan Kara <jack@xxxxxxxx>
SUSE Labs, CR
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux