Skip to content

Commit 968c4f7

Browse files
chaseyuJaegeuk Kim
authored andcommitted
f2fs: remove unused GC_FAILURE_PIN
After commit 3db1de0 ("f2fs: change the current atomic write way"), we removed all GC_FAILURE_ATOMIC usage, let's change i_gc_failures[] array to i_pin_failure for cleanup. Meanwhile, let's define i_current_depth and i_gc_failures as union variable due to they won't be valid at the same time. Signed-off-by: Chao Yu <[email protected]> Signed-off-by: Jaegeuk Kim <[email protected]>
1 parent a781184 commit 968c4f7

File tree

4 files changed

+13
-22
lines changed

4 files changed

+13
-22
lines changed

fs/f2fs/f2fs.h

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -765,11 +765,6 @@ enum {
765765

766766
#define DEF_DIR_LEVEL 0
767767

768-
enum {
769-
GC_FAILURE_PIN,
770-
MAX_GC_FAILURE
771-
};
772-
773768
/* used for f2fs_inode_info->flags */
774769
enum {
775770
FI_NEW_INODE, /* indicate newly allocated inode */
@@ -816,9 +811,10 @@ struct f2fs_inode_info {
816811
unsigned long i_flags; /* keep an inode flags for ioctl */
817812
unsigned char i_advise; /* use to give file attribute hints */
818813
unsigned char i_dir_level; /* use for dentry level for large dir */
819-
unsigned int i_current_depth; /* only for directory depth */
820-
/* for gc failure statistic */
821-
unsigned int i_gc_failures[MAX_GC_FAILURE];
814+
union {
815+
unsigned int i_current_depth; /* only for directory depth */
816+
unsigned int i_gc_failures; /* for gc failure statistic */
817+
};
822818
unsigned int i_pino; /* parent inode number */
823819
umode_t i_acl_mode; /* keep file acl mode temporarily */
824820

@@ -3133,7 +3129,7 @@ static inline void f2fs_i_depth_write(struct inode *inode, unsigned int depth)
31333129
static inline void f2fs_i_gc_failures_write(struct inode *inode,
31343130
unsigned int count)
31353131
{
3136-
F2FS_I(inode)->i_gc_failures[GC_FAILURE_PIN] = count;
3132+
F2FS_I(inode)->i_gc_failures = count;
31373133
f2fs_mark_inode_dirty_sync(inode, true);
31383134
}
31393135

fs/f2fs/file.c

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3217,13 +3217,11 @@ int f2fs_pin_file_control(struct inode *inode, bool inc)
32173217

32183218
/* Use i_gc_failures for normal file as a risk signal. */
32193219
if (inc)
3220-
f2fs_i_gc_failures_write(inode,
3221-
fi->i_gc_failures[GC_FAILURE_PIN] + 1);
3220+
f2fs_i_gc_failures_write(inode, fi->i_gc_failures + 1);
32223221

3223-
if (fi->i_gc_failures[GC_FAILURE_PIN] > sbi->gc_pin_file_threshold) {
3222+
if (fi->i_gc_failures > sbi->gc_pin_file_threshold) {
32243223
f2fs_warn(sbi, "%s: Enable GC = ino %lx after %x GC trials",
3225-
__func__, inode->i_ino,
3226-
fi->i_gc_failures[GC_FAILURE_PIN]);
3224+
__func__, inode->i_ino, fi->i_gc_failures);
32273225
clear_inode_flag(inode, FI_PIN_FILE);
32283226
return -EAGAIN;
32293227
}
@@ -3287,7 +3285,7 @@ static int f2fs_ioc_set_pin_file(struct file *filp, unsigned long arg)
32873285
}
32883286

32893287
set_inode_flag(inode, FI_PIN_FILE);
3290-
ret = F2FS_I(inode)->i_gc_failures[GC_FAILURE_PIN];
3288+
ret = F2FS_I(inode)->i_gc_failures;
32913289
done:
32923290
f2fs_update_time(sbi, REQ_TIME);
32933291
out:
@@ -3302,7 +3300,7 @@ static int f2fs_ioc_get_pin_file(struct file *filp, unsigned long arg)
33023300
__u32 pin = 0;
33033301

33043302
if (is_inode_flag_set(inode, FI_PIN_FILE))
3305-
pin = F2FS_I(inode)->i_gc_failures[GC_FAILURE_PIN];
3303+
pin = F2FS_I(inode)->i_gc_failures;
33063304
return put_user(pin, (u32 __user *)arg);
33073305
}
33083306

fs/f2fs/inode.c

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -415,8 +415,7 @@ static int do_read_inode(struct inode *inode)
415415
if (S_ISDIR(inode->i_mode))
416416
fi->i_current_depth = le32_to_cpu(ri->i_current_depth);
417417
else if (S_ISREG(inode->i_mode))
418-
fi->i_gc_failures[GC_FAILURE_PIN] =
419-
le16_to_cpu(ri->i_gc_failures);
418+
fi->i_gc_failures = le16_to_cpu(ri->i_gc_failures);
420419
fi->i_xattr_nid = le32_to_cpu(ri->i_xattr_nid);
421420
fi->i_flags = le32_to_cpu(ri->i_flags);
422421
if (S_ISREG(inode->i_mode))
@@ -686,8 +685,7 @@ void f2fs_update_inode(struct inode *inode, struct page *node_page)
686685
ri->i_current_depth =
687686
cpu_to_le32(F2FS_I(inode)->i_current_depth);
688687
else if (S_ISREG(inode->i_mode))
689-
ri->i_gc_failures =
690-
cpu_to_le16(F2FS_I(inode)->i_gc_failures[GC_FAILURE_PIN]);
688+
ri->i_gc_failures = cpu_to_le16(F2FS_I(inode)->i_gc_failures);
691689
ri->i_xattr_nid = cpu_to_le32(F2FS_I(inode)->i_xattr_nid);
692690
ri->i_flags = cpu_to_le32(F2FS_I(inode)->i_flags);
693691
ri->i_pino = cpu_to_le32(F2FS_I(inode)->i_pino);

fs/f2fs/recovery.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -330,8 +330,7 @@ static int recover_inode(struct inode *inode, struct page *page)
330330
F2FS_I(inode)->i_advise = raw->i_advise;
331331
F2FS_I(inode)->i_flags = le32_to_cpu(raw->i_flags);
332332
f2fs_set_inode_flags(inode);
333-
F2FS_I(inode)->i_gc_failures[GC_FAILURE_PIN] =
334-
le16_to_cpu(raw->i_gc_failures);
333+
F2FS_I(inode)->i_gc_failures = le16_to_cpu(raw->i_gc_failures);
335334

336335
recover_inline_flags(inode, raw);
337336

0 commit comments

Comments
 (0)