• Christoph Hellwig's avatar
    [PATCH] ioctl rework #2 · 8b635618
    Christoph Hellwig authored
    - add ->unlocked_ioctl method and a do_ioctl wrapper in ioctl.c so all
      places calling ->ioctl get it.  THis provides us a patch to migrate away
      from holding bkl across ioctl implementations.
    
    - add ->compat_ioctl method and call it in compat_sys_ioctl before doing
      the hash lookup for registered handlers.
    
    - streamline compat_sys_ioctl and move the complex error reporting into a
      function of its own
    
    From: "Michael S. Tsirkin" <mst@mellanox.co.il>
    
    Handle generic ioctl commands by falling back on static conversion
    functions in fs/compat_ioctl.c on -ENOIOCTLCMD code.
    
    From: "Michael S. Tsirkin" <mst@mellanox.co.il>
    
    With new unlocked_ioctl and ioctl_compat, ioctls can now be as fast as
    read/write.  So lets use fget_light/fput_light there, to get some speedup
    in common case on SMP.
    Signed-off-by: default avatarMichael s. Tsirkin <mst@mellanox.co.il>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    8b635618
compat.c 44.6 KB