Hi Adam, Thank you for the patch! Yet something to improve: [auto build test ERROR on next-20180517] [cannot apply to linus/master block/for-next v4.17-rc6 v4.17-rc5 v4.17-rc4 v4.17-rc6] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/adam-manzanares-wdc-com/AIO-add-per-command-iopriority/20180522-232203 config: x86_64-randconfig-s0-05230027 (attached as .config) compiler: gcc-6 (Debian 6.4.0-9) 6.4.0 20171026 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 All errors (new ones prefixed by >>): fs/aio.o: In function `aio_prep_rw': >> fs/aio.c:1460: undefined reference to `ioprio_check_cap' vim +1460 fs/aio.c 1440 1441 static int aio_prep_rw(struct kiocb *req, struct iocb *iocb) 1442 { 1443 int ret; 1444 1445 req->ki_filp = fget(iocb->aio_fildes); 1446 if (unlikely(!req->ki_filp)) 1447 return -EBADF; 1448 req->ki_complete = aio_complete_rw; 1449 req->ki_pos = iocb->aio_offset; 1450 req->ki_flags = iocb_flags(req->ki_filp); 1451 if (iocb->aio_flags & IOCB_FLAG_RESFD) 1452 req->ki_flags |= IOCB_EVENTFD; 1453 req->ki_hint = file_write_hint(req->ki_filp); 1454 if (iocb->aio_flags & IOCB_FLAG_IOPRIO) { 1455 /* 1456 * If the IOCB_FLAG_IOPRIO flag of aio_flags is set, then 1457 * aio_reqprio is interpreted as an I/O scheduling 1458 * class and priority. 1459 */ > 1460 ret = ioprio_check_cap(iocb->aio_reqprio); 1461 if (ret) { 1462 pr_debug("aio ioprio check cap error\n"); 1463 return -EINVAL; 1464 } 1465 1466 req->ki_ioprio = iocb->aio_reqprio; 1467 } else 1468 req->ki_ioprio = IOPRIO_PRIO_VALUE(IOPRIO_CLASS_NONE, 0); 1469 1470 ret = kiocb_set_rw_flags(req, iocb->aio_rw_flags); 1471 if (unlikely(ret)) 1472 fput(req->ki_filp); 1473 return ret; 1474 } 1475 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation