[PATCH 1/2] block: adjust code for get_task_ioprio()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a preparation patch which adjusts the code and exports
get_task_ioprio().

Signed-off-by: Chaitanya Kulkarni <chaitanya.kulkarni@xxxxxxx>
---
 block/ioprio.c         | 20 ++++++++++++++++----
 include/linux/ioprio.h |  2 ++
 2 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/block/ioprio.c b/block/ioprio.c
index f9821080c92c..9853e9077022 100644
--- a/block/ioprio.c
+++ b/block/ioprio.c
@@ -156,7 +156,7 @@ SYSCALL_DEFINE3(ioprio_set, int, which, int, who, int, ioprio)
 	return ret;
 }
 
-static int get_task_ioprio(struct task_struct *p)
+static int __get_task_ioprio(struct task_struct *p)
 {
 	int ret;
 
@@ -172,6 +172,18 @@ static int get_task_ioprio(struct task_struct *p)
 	return ret;
 }
 
+int get_task_ioprio(struct task_struct *p)
+{
+	int ret;
+
+	rcu_read_lock();
+	ret = __get_task_ioprio(p);
+	rcu_read_unlock();
+
+	return ret;
+}
+EXPORT_SYMBOL_GPL(get_task_ioprio);
+
 int ioprio_best(unsigned short aprio, unsigned short bprio)
 {
 	if (!ioprio_valid(aprio))
@@ -199,7 +211,7 @@ SYSCALL_DEFINE2(ioprio_get, int, which, int, who)
 			else
 				p = find_task_by_vpid(who);
 			if (p)
-				ret = get_task_ioprio(p);
+				ret = __get_task_ioprio(p);
 			break;
 		case IOPRIO_WHO_PGRP:
 			if (!who)
@@ -207,7 +219,7 @@ SYSCALL_DEFINE2(ioprio_get, int, which, int, who)
 			else
 				pgrp = find_vpid(who);
 			do_each_pid_thread(pgrp, PIDTYPE_PGID, p) {
-				tmpio = get_task_ioprio(p);
+				tmpio = __get_task_ioprio(p);
 				if (tmpio < 0)
 					continue;
 				if (ret == -ESRCH)
@@ -230,7 +242,7 @@ SYSCALL_DEFINE2(ioprio_get, int, which, int, who)
 				if (!uid_eq(task_uid(p), user->uid) ||
 				    !task_pid_vnr(p))
 					continue;
-				tmpio = get_task_ioprio(p);
+				tmpio = __get_task_ioprio(p);
 				if (tmpio < 0)
 					continue;
 				if (ret == -ESRCH)
diff --git a/include/linux/ioprio.h b/include/linux/ioprio.h
index e9bfe6972aed..1384446c614d 100644
--- a/include/linux/ioprio.h
+++ b/include/linux/ioprio.h
@@ -90,6 +90,8 @@ extern int ioprio_best(unsigned short aprio, unsigned short bprio);
 
 extern int set_task_ioprio(struct task_struct *task, int ioprio);
 
+extern int get_task_ioprio(struct task_struct *p);
+
 #ifdef CONFIG_BLOCK
 extern int ioprio_check_cap(int ioprio);
 #else
-- 
2.19.1




[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux