mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-24 13:44:26 -04:00
Merge remote-tracking branch 'aosp/upstream-f2fs-stable-linux-5.4.y' into android-5.4
* aosp/upstream-f2fs-stable-linux-5.4.y: f2fs: fix race conditions in ->d_compare() and ->d_hash() f2fs: fix dcache lookup of !casefolded directories f2fs: Add f2fs stats to sysfs f2fs: delete duplicate information on sysfs nodes f2fs: change to use rwsem for gc_mutex f2fs: update f2fs document regarding to fsync_mode f2fs: add a way to turn off ipu bio cache f2fs: code cleanup for f2fs_statfs_project() f2fs: fix miscounted block limit in f2fs_statfs_project() f2fs: show the CP_PAUSE reason in checkpoint traces f2fs: fix deadlock allocating bio_post_read_ctx from mempool f2fs: remove unneeded check for error allocating bio_post_read_ctx f2fs: convert inline_dir early before starting rename f2fs: fix memleak of kobject f2fs: fix to add swap extent correctly f2fs: run fsck when getting bad inode during GC f2fs: support data compression f2fs: free sysfs kobject f2fs: declare nested quota_sem and remove unnecessary sems f2fs: don't put new_page twice in f2fs_rename f2fs: set I_LINKABLE early to avoid wrong access by vfs f2fs: don't keep META_MAPPING pages used for moving verity file blocks f2fs: introduce private bioset f2fs: cleanup duplicate stats for atomic files f2fs: Check write pointer consistency of non-open zones f2fs: Check write pointer consistency of open zones f2fs: set GFP_NOFS when moving inline dentries f2fs: should avoid recursive filesystem ops f2fs: keep quota data on write_begin failure f2fs: call f2fs_balance_fs outside of locked page f2fs: preallocate DIO blocks when forcing buffered_io Bug: 148667616 Change-Id: Ic885bdb3ef3a8b5d264497b9972b41bcd26b4e85 Signed-off-by: Jaegeuk Kim <jaegeuk@google.com>
This commit is contained in:
commit
2d40d7b36a
22 changed files with 3467 additions and 649 deletions
|
|
@ -49,6 +49,7 @@ TRACE_DEFINE_ENUM(CP_SYNC);
|
|||
TRACE_DEFINE_ENUM(CP_RECOVERY);
|
||||
TRACE_DEFINE_ENUM(CP_DISCARD);
|
||||
TRACE_DEFINE_ENUM(CP_TRIMMED);
|
||||
TRACE_DEFINE_ENUM(CP_PAUSE);
|
||||
|
||||
#define show_block_type(type) \
|
||||
__print_symbolic(type, \
|
||||
|
|
@ -124,13 +125,14 @@ TRACE_DEFINE_ENUM(CP_TRIMMED);
|
|||
{ CP_SYNC, "Sync" }, \
|
||||
{ CP_RECOVERY, "Recovery" }, \
|
||||
{ CP_DISCARD, "Discard" }, \
|
||||
{ CP_UMOUNT, "Umount" }, \
|
||||
{ CP_PAUSE, "Pause" }, \
|
||||
{ CP_TRIMMED, "Trimmed" })
|
||||
|
||||
#define show_fsync_cpreason(type) \
|
||||
__print_symbolic(type, \
|
||||
{ CP_NO_NEEDED, "no needed" }, \
|
||||
{ CP_NON_REGULAR, "non regular" }, \
|
||||
{ CP_COMPRESSED, "compressed" }, \
|
||||
{ CP_HARDLINK, "hardlink" }, \
|
||||
{ CP_SB_NEED_CP, "sb needs cp" }, \
|
||||
{ CP_WRONG_PINO, "wrong pino" }, \
|
||||
|
|
@ -148,6 +150,11 @@ TRACE_DEFINE_ENUM(CP_TRIMMED);
|
|||
{ F2FS_GOING_DOWN_METAFLUSH, "meta flush" }, \
|
||||
{ F2FS_GOING_DOWN_NEED_FSCK, "need fsck" })
|
||||
|
||||
#define show_compress_algorithm(type) \
|
||||
__print_symbolic(type, \
|
||||
{ COMPRESS_LZO, "LZO" }, \
|
||||
{ COMPRESS_LZ4, "LZ4" })
|
||||
|
||||
struct f2fs_sb_info;
|
||||
struct f2fs_io_info;
|
||||
struct extent_info;
|
||||
|
|
@ -1710,6 +1717,100 @@ TRACE_EVENT(f2fs_shutdown,
|
|||
__entry->ret)
|
||||
);
|
||||
|
||||
DECLARE_EVENT_CLASS(f2fs_zip_start,
|
||||
|
||||
TP_PROTO(struct inode *inode, pgoff_t cluster_idx,
|
||||
unsigned int cluster_size, unsigned char algtype),
|
||||
|
||||
TP_ARGS(inode, cluster_idx, cluster_size, algtype),
|
||||
|
||||
TP_STRUCT__entry(
|
||||
__field(dev_t, dev)
|
||||
__field(ino_t, ino)
|
||||
__field(pgoff_t, idx)
|
||||
__field(unsigned int, size)
|
||||
__field(unsigned int, algtype)
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
__entry->dev = inode->i_sb->s_dev;
|
||||
__entry->ino = inode->i_ino;
|
||||
__entry->idx = cluster_idx;
|
||||
__entry->size = cluster_size;
|
||||
__entry->algtype = algtype;
|
||||
),
|
||||
|
||||
TP_printk("dev = (%d,%d), ino = %lu, cluster_idx:%lu, "
|
||||
"cluster_size = %u, algorithm = %s",
|
||||
show_dev_ino(__entry),
|
||||
__entry->idx,
|
||||
__entry->size,
|
||||
show_compress_algorithm(__entry->algtype))
|
||||
);
|
||||
|
||||
DECLARE_EVENT_CLASS(f2fs_zip_end,
|
||||
|
||||
TP_PROTO(struct inode *inode, pgoff_t cluster_idx,
|
||||
unsigned int compressed_size, int ret),
|
||||
|
||||
TP_ARGS(inode, cluster_idx, compressed_size, ret),
|
||||
|
||||
TP_STRUCT__entry(
|
||||
__field(dev_t, dev)
|
||||
__field(ino_t, ino)
|
||||
__field(pgoff_t, idx)
|
||||
__field(unsigned int, size)
|
||||
__field(unsigned int, ret)
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
__entry->dev = inode->i_sb->s_dev;
|
||||
__entry->ino = inode->i_ino;
|
||||
__entry->idx = cluster_idx;
|
||||
__entry->size = compressed_size;
|
||||
__entry->ret = ret;
|
||||
),
|
||||
|
||||
TP_printk("dev = (%d,%d), ino = %lu, cluster_idx:%lu, "
|
||||
"compressed_size = %u, ret = %d",
|
||||
show_dev_ino(__entry),
|
||||
__entry->idx,
|
||||
__entry->size,
|
||||
__entry->ret)
|
||||
);
|
||||
|
||||
DEFINE_EVENT(f2fs_zip_start, f2fs_compress_pages_start,
|
||||
|
||||
TP_PROTO(struct inode *inode, pgoff_t cluster_idx,
|
||||
unsigned int cluster_size, unsigned char algtype),
|
||||
|
||||
TP_ARGS(inode, cluster_idx, cluster_size, algtype)
|
||||
);
|
||||
|
||||
DEFINE_EVENT(f2fs_zip_start, f2fs_decompress_pages_start,
|
||||
|
||||
TP_PROTO(struct inode *inode, pgoff_t cluster_idx,
|
||||
unsigned int cluster_size, unsigned char algtype),
|
||||
|
||||
TP_ARGS(inode, cluster_idx, cluster_size, algtype)
|
||||
);
|
||||
|
||||
DEFINE_EVENT(f2fs_zip_end, f2fs_compress_pages_end,
|
||||
|
||||
TP_PROTO(struct inode *inode, pgoff_t cluster_idx,
|
||||
unsigned int compressed_size, int ret),
|
||||
|
||||
TP_ARGS(inode, cluster_idx, compressed_size, ret)
|
||||
);
|
||||
|
||||
DEFINE_EVENT(f2fs_zip_end, f2fs_decompress_pages_end,
|
||||
|
||||
TP_PROTO(struct inode *inode, pgoff_t cluster_idx,
|
||||
unsigned int compressed_size, int ret),
|
||||
|
||||
TP_ARGS(inode, cluster_idx, compressed_size, ret)
|
||||
);
|
||||
|
||||
#endif /* _TRACE_F2FS_H */
|
||||
|
||||
/* This part must be outside protection */
|
||||
|
|
|
|||
Loading…
Reference in a new issue