On Tue, 2017-01-10 at 20:36 -0800, Joe Perches wrote: > > On Tue, 2017-01-10 at 17:11 -0700, Toshi Kani wrote: > > DAX IO path does not support iostat, but its metadata IO path does. > > Therefore, iostat shows metadata IO statistics only, which has been > > confusing to users. > > [] > > diff --git a/fs/dax.c b/fs/dax.c > > [] > > @@ -1058,12 +1058,22 @@ dax_iomap_rw(struct kiocb *iocb, struct > > iov_iter *iter, > > [] > > + if (blk_queue_io_stat(disk->queue)) { > > + int sec = iov_iter_count(iter) >> 9; > > + > > + start = jiffies; > > + generic_start_io_acct(iov_iter_rw(iter), > > + (!sec) ? 1 : sec, &disk- > > >part0); > > + } > > There is a signed/unsigned conversion of sec > It may be better to use something like: > > size_t sec = iov_iter_count(iter) >> 9; > [...] > generic_start_io_acct(iov_iter_rw(iter), > min_t(unsigned long, 1, sec), > &disk->part0); Good catch. I will change as you suggested, and use 'sector_t' for 'sec'. Thanks, -Toshi��.n��������+%������w��{.n�����{���)��jg��������ݢj����G�������j:+v���w�m������w�������h�����٥