Re: [f2fs-dev] [PATCH 2/2] f2fs: add reserved blocks for root user

2018-01-05 Thread Yunlong Song



On 2018/1/4 2:58, Jaegeuk Kim wrote:

@@ -1590,11 +1598,17 @@ static inline int inc_valid_block_count(struct 
f2fs_sb_info *sbi,
sbi->total_valid_block_count += (block_t)(*count);
avail_user_block_count = sbi->user_block_count -
sbi->current_reserved_blocks;
+
+   if (!(test_opt(sbi, RESERVE_ROOT) && capable(CAP_SYS_RESOURCE)))
+   avail_user_block_count -= sbi->root_reserved_blocks;


Should better be:

+   if (test_opt(sbi, RESERVE_ROOT) && !capable(CAP_SYS_RESOURCE))
+   avail_user_block_count -= sbi->root_reserved_blocks;


@@ -1783,9 +1797,13 @@ static inline int inc_valid_node_count(struct 
f2fs_sb_info *sbi,
  
  	spin_lock(>stat_lock);
  
-	valid_block_count = sbi->total_valid_block_count + 1;

-   if (unlikely(valid_block_count + sbi->current_reserved_blocks >
-   sbi->user_block_count)) {
+   valid_block_count = sbi->total_valid_block_count +
+   sbi->current_reserved_blocks + 1;
+



+   if (!(test_opt(sbi, RESERVE_ROOT) && capable(CAP_SYS_RESOURCE)))
+   valid_block_count += sbi->root_reserved_blocks;
+

should better be:

+   if (test_opt(sbi, RESERVE_ROOT) && !capable(CAP_SYS_RESOURCE))
+   valid_block_count += sbi->root_reserved_blocks;



+   if (unlikely(valid_block_count > sbi->user_block_count)) {
spin_unlock(>stat_lock);
goto enospc;
}



--
Thanks,
Yunlong Song




Re: [f2fs-dev] [PATCH 2/2] f2fs: add reserved blocks for root user

2018-01-05 Thread Yunlong Song



On 2018/1/4 2:58, Jaegeuk Kim wrote:

@@ -1590,11 +1598,17 @@ static inline int inc_valid_block_count(struct 
f2fs_sb_info *sbi,
sbi->total_valid_block_count += (block_t)(*count);
avail_user_block_count = sbi->user_block_count -
sbi->current_reserved_blocks;
+
+   if (!(test_opt(sbi, RESERVE_ROOT) && capable(CAP_SYS_RESOURCE)))
+   avail_user_block_count -= sbi->root_reserved_blocks;


Should better be:

+   if (test_opt(sbi, RESERVE_ROOT) && !capable(CAP_SYS_RESOURCE))
+   avail_user_block_count -= sbi->root_reserved_blocks;


@@ -1783,9 +1797,13 @@ static inline int inc_valid_node_count(struct 
f2fs_sb_info *sbi,
  
  	spin_lock(>stat_lock);
  
-	valid_block_count = sbi->total_valid_block_count + 1;

-   if (unlikely(valid_block_count + sbi->current_reserved_blocks >
-   sbi->user_block_count)) {
+   valid_block_count = sbi->total_valid_block_count +
+   sbi->current_reserved_blocks + 1;
+



+   if (!(test_opt(sbi, RESERVE_ROOT) && capable(CAP_SYS_RESOURCE)))
+   valid_block_count += sbi->root_reserved_blocks;
+

should better be:

+   if (test_opt(sbi, RESERVE_ROOT) && !capable(CAP_SYS_RESOURCE))
+   valid_block_count += sbi->root_reserved_blocks;



+   if (unlikely(valid_block_count > sbi->user_block_count)) {
spin_unlock(>stat_lock);
goto enospc;
}



--
Thanks,
Yunlong Song