Skip to content

Commit 5b5578c

Browse files
chaseyuJaegeuk Kim
authored andcommitted
f2fs: fix to access i_size w/ i_size_read()
It recommends to use i_size_{read,write}() to access and update i_size, otherwise, we may get wrong tearing value due to high 32-bits value and low 32-bits value of i_size field are not updated atomically in 32-bits archicture machine. Signed-off-by: Chao Yu <chao@kernel.org> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
1 parent 297baa4 commit 5b5578c

1 file changed

Lines changed: 4 additions & 4 deletions

File tree

include/trace/events/f2fs.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@ DECLARE_EVENT_CLASS(f2fs__inode,
204204
__entry->pino = F2FS_I(inode)->i_pino;
205205
__entry->mode = inode->i_mode;
206206
__entry->nlink = inode->i_nlink;
207-
__entry->size = inode->i_size;
207+
__entry->size = i_size_read(inode);
208208
__entry->blocks = inode->i_blocks;
209209
__entry->advise = F2FS_I(inode)->i_advise;
210210
),
@@ -353,7 +353,7 @@ TRACE_EVENT(f2fs_unlink_enter,
353353
TP_fast_assign(
354354
__entry->dev = dir->i_sb->s_dev;
355355
__entry->ino = dir->i_ino;
356-
__entry->size = dir->i_size;
356+
__entry->size = i_size_read(dir);
357357
__entry->blocks = dir->i_blocks;
358358
__assign_str(name);
359359
),
@@ -433,7 +433,7 @@ DECLARE_EVENT_CLASS(f2fs__truncate_op,
433433
TP_fast_assign(
434434
__entry->dev = inode->i_sb->s_dev;
435435
__entry->ino = inode->i_ino;
436-
__entry->size = inode->i_size;
436+
__entry->size = i_size_read(inode);
437437
__entry->blocks = inode->i_blocks;
438438
__entry->from = from;
439439
),
@@ -1006,7 +1006,7 @@ TRACE_EVENT(f2fs_fallocate,
10061006
__entry->mode = mode;
10071007
__entry->offset = offset;
10081008
__entry->len = len;
1009-
__entry->size = inode->i_size;
1009+
__entry->size = i_size_read(inode);
10101010
__entry->blocks = inode->i_blocks;
10111011
__entry->ret = ret;
10121012
),

0 commit comments

Comments
 (0)