All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] f2fs: set dirty state for filesystem only when updating meta data
@ 2016-08-18  9:05 ` Chao Yu
  0 siblings, 0 replies; 4+ messages in thread
From: Chao Yu @ 2016-08-18  9:05 UTC (permalink / raw)
  To: jaegeuk; +Cc: linux-f2fs-devel, linux-kernel, Chao Yu

We don't guarantee integrity of user data after checkpoint, since we only
guarantee meta data integrity for data consistency of filesystem.

Due to above reason, we only need to set fs as dirty when meta data is
updated, so that we can skip writing checkpoint in some case of non-meta
data is updated.

Signed-off-by: Chao Yu <yuchao0@huawei.com>
---
 fs/f2fs/f2fs.h | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h
index 5a10bce..1659d10 100644
--- a/fs/f2fs/f2fs.h
+++ b/fs/f2fs/f2fs.h
@@ -1220,7 +1220,9 @@ static inline void dec_valid_block_count(struct f2fs_sb_info *sbi,
 static inline void inc_page_count(struct f2fs_sb_info *sbi, int count_type)
 {
 	percpu_counter_inc(&sbi->nr_pages[count_type]);
-	set_sbi_flag(sbi, SBI_IS_DIRTY);
+	if (count_type == F2FS_DIRTY_DENTS || count_type == F2FS_DIRTY_NODES ||
+			count_type == F2FS_DIRTY_META)
+		set_sbi_flag(sbi, SBI_IS_DIRTY);
 }
 
 static inline void inode_inc_dirty_pages(struct inode *inode)
-- 
2.8.2.311.gee88674

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH] f2fs: set dirty state for filesystem only when updating meta data
@ 2016-08-18  9:05 ` Chao Yu
  0 siblings, 0 replies; 4+ messages in thread
From: Chao Yu @ 2016-08-18  9:05 UTC (permalink / raw)
  To: jaegeuk; +Cc: linux-f2fs-devel, linux-kernel, Chao Yu

We don't guarantee integrity of user data after checkpoint, since we only
guarantee meta data integrity for data consistency of filesystem.

Due to above reason, we only need to set fs as dirty when meta data is
updated, so that we can skip writing checkpoint in some case of non-meta
data is updated.

Signed-off-by: Chao Yu <yuchao0@huawei.com>
---
 fs/f2fs/f2fs.h | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h
index 5a10bce..1659d10 100644
--- a/fs/f2fs/f2fs.h
+++ b/fs/f2fs/f2fs.h
@@ -1220,7 +1220,9 @@ static inline void dec_valid_block_count(struct f2fs_sb_info *sbi,
 static inline void inc_page_count(struct f2fs_sb_info *sbi, int count_type)
 {
 	percpu_counter_inc(&sbi->nr_pages[count_type]);
-	set_sbi_flag(sbi, SBI_IS_DIRTY);
+	if (count_type == F2FS_DIRTY_DENTS || count_type == F2FS_DIRTY_NODES ||
+			count_type == F2FS_DIRTY_META)
+		set_sbi_flag(sbi, SBI_IS_DIRTY);
 }
 
 static inline void inode_inc_dirty_pages(struct inode *inode)
-- 
2.8.2.311.gee88674

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] f2fs: set dirty state for filesystem only when updating meta data
  2016-08-18  9:05 ` Chao Yu
@ 2016-08-18  9:45   ` Chao Yu
  -1 siblings, 0 replies; 4+ messages in thread
From: Chao Yu @ 2016-08-18  9:45 UTC (permalink / raw)
  To: jaegeuk; +Cc: linux-f2fs-devel, linux-kernel

On 2016/8/18 17:05, Chao Yu wrote:
> We don't guarantee integrity of user data after checkpoint, since we only
> guarantee meta data integrity for data consistency of filesystem.
> 
> Due to above reason, we only need to set fs as dirty when meta data is
> updated, so that we can skip writing checkpoint in some case of non-meta
> data is updated.
> 
> Signed-off-by: Chao Yu <yuchao0@huawei.com>
> ---
>  fs/f2fs/f2fs.h | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h
> index 5a10bce..1659d10 100644
> --- a/fs/f2fs/f2fs.h
> +++ b/fs/f2fs/f2fs.h
> @@ -1220,7 +1220,9 @@ static inline void dec_valid_block_count(struct f2fs_sb_info *sbi,
>  static inline void inc_page_count(struct f2fs_sb_info *sbi, int count_type)
>  {
>  	percpu_counter_inc(&sbi->nr_pages[count_type]);
> -	set_sbi_flag(sbi, SBI_IS_DIRTY);
> +	if (count_type == F2FS_DIRTY_DENTS || count_type == F2FS_DIRTY_NODES ||
> +			count_type == F2FS_DIRTY_META)

Sorry, I miss one condition here, please ignore this patch.

Thanks,

> +		set_sbi_flag(sbi, SBI_IS_DIRTY);
>  }
>  
>  static inline void inode_inc_dirty_pages(struct inode *inode)
> 

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] f2fs: set dirty state for filesystem only when updating meta data
@ 2016-08-18  9:45   ` Chao Yu
  0 siblings, 0 replies; 4+ messages in thread
From: Chao Yu @ 2016-08-18  9:45 UTC (permalink / raw)
  To: jaegeuk; +Cc: linux-f2fs-devel, linux-kernel

On 2016/8/18 17:05, Chao Yu wrote:
> We don't guarantee integrity of user data after checkpoint, since we only
> guarantee meta data integrity for data consistency of filesystem.
> 
> Due to above reason, we only need to set fs as dirty when meta data is
> updated, so that we can skip writing checkpoint in some case of non-meta
> data is updated.
> 
> Signed-off-by: Chao Yu <yuchao0@huawei.com>
> ---
>  fs/f2fs/f2fs.h | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h
> index 5a10bce..1659d10 100644
> --- a/fs/f2fs/f2fs.h
> +++ b/fs/f2fs/f2fs.h
> @@ -1220,7 +1220,9 @@ static inline void dec_valid_block_count(struct f2fs_sb_info *sbi,
>  static inline void inc_page_count(struct f2fs_sb_info *sbi, int count_type)
>  {
>  	percpu_counter_inc(&sbi->nr_pages[count_type]);
> -	set_sbi_flag(sbi, SBI_IS_DIRTY);
> +	if (count_type == F2FS_DIRTY_DENTS || count_type == F2FS_DIRTY_NODES ||
> +			count_type == F2FS_DIRTY_META)

Sorry, I miss one condition here, please ignore this patch.

Thanks,

> +		set_sbi_flag(sbi, SBI_IS_DIRTY);
>  }
>  
>  static inline void inode_inc_dirty_pages(struct inode *inode)
> 

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2016-08-18  9:45 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-08-18  9:05 [PATCH] f2fs: set dirty state for filesystem only when updating meta data Chao Yu
2016-08-18  9:05 ` Chao Yu
2016-08-18  9:45 ` Chao Yu
2016-08-18  9:45   ` Chao Yu

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.