1/*
2	$1: 	dev_t
3	$2: 	RWBS
4	$3:     strlen($2)
5*/
6BEGIN {
7	@last_rw[$1, str($2)] = 0;
8}
9tracepoint:block:block_rq_complete
10{
11	$dev = $1;
12	if ((int64)args.dev == $1 && !strncmp(args.rwbs, str($2), $3)) {
13		$last = @last_rw[$dev, str($2)];
14		if ((uint64)args.sector != $last) {
15			printf("io_out_of_order: exp %llu actual %llu\n",
16				args.sector, $last);
17		}
18		@last_rw[$dev, str($2)] = (args.sector + args.nr_sector);
19	}
20	@ios = count();
21}
22
23END {
24	clear(@last_rw);
25}
26