Linux Headquarters
[ Register ]
[ About us ] [ Home Page ]

[ Kernel ] [ Documentation ] [ Links ] [ Books ]

Kernel v2.6.24 /fs/ioprio.c

Filename:/fs/ioprio.c
Lines Added:9
Lines Deleted:4
Also changed in: (Previous) 2.6.24-rc8  2.6.24-rc7  2.6.24-rc6  2.6.24-rc5  2.6.24-rc4  2.6.24-rc3 
(Following) 2.6.24-git5  2.6.24-git6  2.6.24-git7  2.6.24-git8  2.6.24-git9  2.6.24-git10 

Location
[  2.6.24
  [  fs
     o  ioprio.c

Patch

diff --git a/fs/ioprio.c b/fs/ioprio.c
index 10d2c21..e4e01bc 100644
--- a/fs/ioprio.c
+++ b/fs/ioprio.c
@@ -25,6 +25,7 @@
 #include <linux/capability.h>
 #include <linux/syscalls.h>
 #include <linux/security.h>
+#include <linux/pid_namespace.h>
 
 static int set_task_ioprio(struct task_struct *task, int ioprio)
 {
@@ -77,6 +78,10 @@ asmlinkage long sys_ioprio_set(int which, int who, int ioprio)
          if (!capable(CAP_SYS_ADMIN))
             return -EPERM;
          break;
+      case IOPRIO_CLASS_NONE:
+         if (data)
+            return -EINVAL;
+         break;
       default:
          return -EINVAL;
    }
@@ -93,7 +98,7 @@ asmlinkage long sys_ioprio_set(int which, int who, int ioprio)
          if (!who)
             p = current;
          else
-            p = find_task_by_pid(who);
+            p = find_task_by_vpid(who);
          if (p)
             ret = set_task_ioprio(p, ioprio);
          break;
@@ -101,7 +106,7 @@ asmlinkage long sys_ioprio_set(int which, int who, int ioprio)
          if (!who)
             pgrp = task_pgrp(current);
          else
-            pgrp = find_pid(who);
+            pgrp = find_vpid(who);
          do_each_pid_task(pgrp, PIDTYPE_PGID, p) {
             ret = set_task_ioprio(p, ioprio);
             if (ret)
@@ -180,7 +185,7 @@ asmlinkage long sys_ioprio_get(int which, int who)
          if (!who)
             p = current;
          else
-            p = find_task_by_pid(who);
+            p = find_task_by_vpid(who);
          if (p)
             ret = get_task_ioprio(p);
          break;
@@ -188,7 +193,7 @@ asmlinkage long sys_ioprio_get(int which, int who)
          if (!who)
             pgrp = task_pgrp(current);
          else
-            pgrp = find_pid(who);
+            pgrp = find_vpid(who);
          do_each_pid_task(pgrp, PIDTYPE_PGID, p) {
             tmpio = get_task_ioprio(p);
             if (tmpio < 0)


Comments: webmaster (at) linuxhq.com.
Advertising: banners (at) linuxhq.com.
Compilation ©1998-2008 Linux Headquarters, Inc.