1. 08 2月, 2008 6 次提交
  2. 29 1月, 2008 1 次提交
  3. 12 1月, 2008 7 次提交
  4. 11 10月, 2007 2 次提交
    • D
      [NET]: make netlink user -> kernel interface synchronious · cd40b7d3
      Denis V. Lunev 提交于
      This patch make processing netlink user -> kernel messages synchronious.
      This change was inspired by the talk with Alexey Kuznetsov about current
      netlink messages processing. He says that he was badly wrong when introduced 
      asynchronious user -> kernel communication.
      
      The call netlink_unicast is the only path to send message to the kernel
      netlink socket. But, unfortunately, it is also used to send data to the
      user.
      
      Before this change the user message has been attached to the socket queue
      and sk->sk_data_ready was called. The process has been blocked until all
      pending messages were processed. The bad thing is that this processing
      may occur in the arbitrary process context.
      
      This patch changes nlk->data_ready callback to get 1 skb and force packet
      processing right in the netlink_unicast.
      
      Kernel -> user path in netlink_unicast remains untouched.
      
      EINTR processing for in netlink_run_queue was changed. It forces rtnl_lock
      drop, but the process remains in the cycle until the message will be fully
      processed. So, there is no need to use this kludges now.
      Signed-off-by: NDenis V. Lunev <den@openvz.org>
      Acked-by: NAlexey Kuznetsov <kuznet@ms2.inr.ac.ru>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      cd40b7d3
    • E
      [NET]: Support multiple network namespaces with netlink · b4b51029
      Eric W. Biederman 提交于
      Each netlink socket will live in exactly one network namespace,
      this includes the controlling kernel sockets.
      
      This patch updates all of the existing netlink protocols
      to only support the initial network namespace.  Request
      by clients in other namespaces will get -ECONREFUSED.
      As they would if the kernel did not have the support for
      that netlink protocol compiled in.
      
      As each netlink protocol is updated to be multiple network
      namespace safe it can register multiple kernel sockets
      to acquire a presence in the rest of the network namespaces.
      
      The implementation in af_netlink is a simple filter implementation
      at hash table insertion and hash table look up time.
      Signed-off-by: NEric W. Biederman <ebiederm@xmission.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b4b51029
  5. 03 6月, 2007 3 次提交
  6. 02 6月, 2007 6 次提交
  7. 26 4月, 2007 2 次提交
  8. 12 3月, 2007 1 次提交
  9. 06 1月, 2007 1 次提交
  10. 22 11月, 2006 1 次提交
  11. 10 11月, 2006 1 次提交
  12. 26 10月, 2006 1 次提交
    • M
      [SCSI] iscsi class: fix slab corruption during restart · 43a145a3
      Mike Christie 提交于
      The transport class recv mempools are causing slab corruption.
      We could hack around netlink's lack of mempool support like dm,
      but it is just too ulgy (dm's hack is ugly enough :) when you need
      to support broadcast.
      
      This patch removes the recv pools. We have not used them even when
      we were allocting 20 MB per session and the system only had 64 MBs.
      And we have no pools on the send side and have been ok there. When
      Peter's work gets merged we can use that since the network guys
      are in favor of that approach and are not going to add mempools
      everywhere.
      Signed-off-by: NMike Christie <michaelc@cs.wisc.edu>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      43a145a3
  13. 03 9月, 2006 1 次提交
  14. 29 7月, 2006 2 次提交
  15. 29 6月, 2006 5 次提交
    • M
      [SCSI] iscsi: add async notification of session events · 53cb8a1f
      Mike Christie 提交于
      This patch adds or modifies the transport class functions
      used to notify userspace of session state events.
      
      We modify the session addition up event and add a destruction event
      to notify userspace of session creation, relogin and destruction.
      
      And we modify the conn error event to be sent by broadcast
      since multiple listeners may want to listen for it.
      Signed-off-by: NMike Christie <michaelc@cs.wisc.edu>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      53cb8a1f
    • M
      [SCSI] iscsi: pass target nr to session creation · 6a8a0d36
      Mike Christie 提交于
      So the drivers do not use the channel numbers, but some do
      use the target numbers. We were just adding some goofy
      variable that just increases for the target nr. This is useless
      for software iscsi because it is always zero. And for qla4xxx
      the target nr is actually the index of the target/session
      in its FW or FLASH tables. We needed to expose this to userspace
      so apps could access those numbers so this patch just adds the
      target nr to the iscsi session creation functions. This way
      when qla4xxx's Hw thinks a session is at target nr 4
      in its hw, it is exposed as that number in sysfs.
      Signed-off-by: NMike Christie <michaelc@cs.wisc.edu>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      6a8a0d36
    • M
      [SCSI] iscsi: break up session creation into two stages · 8434aa8b
      Mike Christie 提交于
      qla4xxx is initialized in two steps like other HW drivers.
      It allocates the host, sets up the HW, then adds the host.
      For iscsi part of HW setup is setting up persistent iscsi
      sessions. At that time, the interupts are off and the driver
      is not completely set up so we just want to allocate them.
      We do not want to add them to sysfs and expose them to userspace
      because userspace could try to do lots of fun things with them
      like scanning and at that time the driver is not ready.
      
      So this patch breakes up the session creation like other
      functions that use the driver model in two the alloc
      and add parts. When the driver is ready, it can then add
      the sessions and userspace can begin using them.
      
      This also fixes a bug in the addition error patch where
      we forgot to do a get on the session.
      Signed-off-by: NMike Christie <michaelc@cs.wisc.edu>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      8434aa8b
    • M
      [SCSI] iscsi: rm channel usage from iscsi · e6f3b63f
      Mike Christie 提交于
      I do not remember what I was thinking when we added the channel
      as a argument to the session create function. It was probably
      due to too much cut and paste work from the FC transport class.
      
      The channel is meaningless for iscsi drivers so this patch drops
      its usage everywhere in the iscsi related code.
      Signed-off-by: NMike Christie <michaelc@cs.wisc.edu>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      e6f3b63f
    • M
      [SCSI] iscsi: fix session refcouting · f53a88da
      Mike Christie 提交于
      iscsi_tcp and iser cannot be rmmod from the kernel when sessions
      are running because session removal is driven from userspace. For
      those modules we get a module reference when a session is
      created then drop it when the session is removed.
      
      For qla4xxx, they can jsut remove the sessions from the pci remove
      function like normal HW drivers, so this patch moves the module
      reference from the transport class functions shared by all
      drivers to the libiscsi functions only used be software iscsi
      modules.
      Signed-off-by: NMike Christie <michaelc@cs.wisc.edu>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      f53a88da