@@ -34,6 +34,7 @@ enum fs_type {
3434 NONE ,
3535 BTRFS ,
3636 EXT4 ,
37+ FUSE ,
3738 NFS ,
3839 XFS ,
3940 F2FS ,
@@ -59,6 +60,13 @@ static struct fs_config {
5960 [F_FSYNC ] = "ext4_sync_file" ,
6061 [F_GETATTR ] = "ext4_file_getattr" ,
6162 }},
63+ [FUSE ] = { "fuse" , {
64+ [F_READ ] = "fuse_file_read_iter" ,
65+ [F_WRITE ] = "fuse_file_write_iter" ,
66+ [F_OPEN ] = "fuse_open" ,
67+ [F_FSYNC ] = "fuse_fsync" ,
68+ [F_GETATTR ] = "fuse_getattr" ,
69+ }},
6270 [NFS ] = { "nfs" , {
6371 [F_READ ] = "nfs_file_read" ,
6472 [F_WRITE ] = "nfs_file_write" ,
@@ -134,7 +142,7 @@ static const struct argp_option opts[] = {
134142 { "timestamp" , 'T' , NULL , 0 , "Print timestamp" , 0 },
135143 { "milliseconds" , 'm' , NULL , 0 , "Millisecond histogram" , 0 },
136144 { "pid" , 'p' , "PID" , 0 , "Process ID to trace" , 0 },
137- { "type" , 't' , "Filesystem" , 0 , "Which filesystem to trace, [btrfs/ext4/nfs/xfs/f2fs/bcachefs/zfs]" , 0 },
145+ { "type" , 't' , "Filesystem" , 0 , "Which filesystem to trace, [btrfs/ext4/fuse/ nfs/xfs/f2fs/bcachefs/zfs]" , 0 },
138146 { "verbose" , 'v' , NULL , 0 , "Verbose debug output" , 0 },
139147 { NULL , 'h' , NULL , OPTION_HIDDEN , "Show the full help" , 0 },
140148 {},
@@ -159,6 +167,8 @@ static error_t parse_arg(int key, char *arg, struct argp_state *state)
159167 fs_type = BTRFS ;
160168 } else if (!strcmp (arg , "ext4" )) {
161169 fs_type = EXT4 ;
170+ } else if (!strcmp (arg , "fuse" )) {
171+ fs_type = FUSE ;
162172 } else if (!strcmp (arg , "nfs" )) {
163173 fs_type = NFS ;
164174 } else if (!strcmp (arg , "xfs" )) {
@@ -219,6 +229,8 @@ static void alias_parse(char *prog)
219229 fs_type = BTRFS ;
220230 } else if (strstr (name , "ext4dist" )) {
221231 fs_type = EXT4 ;
232+ } else if (strstr (name , "fusedist" )) {
233+ fs_type = FUSE ;
222234 } else if (strstr (name , "nfsdist" )) {
223235 fs_type = NFS ;
224236 } else if (strstr (name , "xfsdist" )) {
0 commit comments