1. 01 2月, 2009 2 次提交
  2. 30 1月, 2009 2 次提交
  3. 28 1月, 2009 1 次提交
  4. 27 1月, 2009 4 次提交
  5. 24 1月, 2009 1 次提交
  6. 23 1月, 2009 2 次提交
    • B
      netns: ipmr: enable namespace support in ipv4 multicast routing code · 4feb88e5
      Benjamin Thery 提交于
      This last patch makes the appropriate changes to use and propagate the
      network namespace where needed in IPv4 multicast routing code.
      
      This consists mainly in replacing all the remaining init_net occurences
      with current netns pointer retrieved from sockets, net devices or
      mfc_caches depending on the routines' contexts.
      
      Some routines receive a new 'struct net' parameter to propagate the current
      netns:
      * vif_add/vif_delete
      * ipmr_new_tunnel
      * mroute_clean_tables
      * ipmr_cache_find
      * ipmr_cache_report
      * ipmr_cache_unresolved
      * ipmr_mfc_add/ipmr_mfc_delete
      * ipmr_get_route
      * rt_fill_info (in route.c)
      Signed-off-by: NBenjamin Thery <benjamin.thery@bull.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      4feb88e5
    • B
      netns: ipmr: store netns in struct mfc_cache · 5c0a66f5
      Benjamin Thery 提交于
      This patch stores into struct mfc_cache the network namespace each
      mfc_cache belongs to. The new member is mfc_net.
      
      mfc_net is assigned at cache allocation and doesn't change during
      the rest of the cache entry life.
      A new net parameter is added to ipmr_cache_alloc/ipmr_cache_alloc_unres.
      
      This will help to retrieve the current netns around the IPv4 multicast
      routing code.
      
      At the moment, all mfc_cache are allocated in init_net.
      Signed-off-by: NBenjamin Thery <benjamin.thery@bull.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5c0a66f5
  7. 22 1月, 2009 16 次提交
  8. 21 1月, 2009 2 次提交
    • J
      klist.c: bit 0 in pointer can't be used as flag · c0e69a5b
      Jesper Nilsson 提交于
      The commit a1ed5b0c
      (klist: don't iterate over deleted entries) introduces use of the
      low bit in a pointer to indicate if the knode is dead or not,
      assuming that this bit is always free.
      
      This is not true for all architectures, CRIS for example may align data
      on byte borders.
      
      The result is a bunch of warnings on bootup, devices not being
      added correctly etc, reported by Hinko Kocevar <hinko.kocevar@cetrtapot.si>:
      
      ------------[ cut here ]------------
      WARNING: at lib/klist.c:62 ()
      Modules linked in:
      
      Stack from c1fe1cf0:
             c01cc7f4 c1fe1d11 c000eb4e c000e4de 00000000 00000000 c1f4f78f c1f50c2d
             c01d008c c1fdd1a0 c1fdd1a0 c1fe1d38 c0192954 c1fe0000 00000000 c1fe1dc0
             00000002 7fffffff c1fe1da8 c0192d50 c1fe1dc0 00000002 7fffffff c1ff9fcc
      Call Trace: [<c000eb4e>] [<c000e4de>] [<c0192954>] [<c0192d50>] [<c001d49e>] [<c000b688>] [<c0192a3c>]
             [<c000b63e>] [<c000b63e>] [<c001a542>] [<c00b55b0>] [<c00411c0>] [<c00b559c>] [<c01918e6>] [<c0191988>]
             [<c01919d0>] [<c00cd9c8>] [<c00cdd6a>] [<c0034178>] [<c000409a>] [<c0015576>] [<c0029130>] [<c0029078>]
             [<c0029170>] [<c0012336>] [<c00b4076>] [<c00b4770>] [<c006d6e4>] [<c006d974>] [<c006dca0>] [<c0028d6c>]
             [<c0028e12>] [<c0006424>] <4>---[ end trace 4eaa2a86a8e2da22 ]---
      ------------[ cut here ]------------
      Repeat ad nauseam.
      
      Wed, Jan 14, 2009 at 12:11:32AM +0100, Bastien ROUCARIES wrote:
      > Perhaps using a pointerhackalign trick on this structure where
      > #define pointerhackalign(x) __attribute__ ((aligned (x)))
      > and declare
      > struct klist_node {
      > ...
      > }  pointerhackalign(2);
      >
      > Because  __attribute__ ((aligned (x))) could only increase alignment
      > it will safe to do that and serve as documentation purpose :)
      
      That works, but we need to do it not for the struct klist_node,
      but for the struct we insert into the void * in klist_node,
      which is struct klist.
      
      Reported-by: Hinko Kocevar <hinko.kocevar@cetrtapot.si
      Cc: Bastien ROUCARIES <roucaries.bastien@gmail.com>
      Signed-off-by: NJesper Nilsson <jesper.nilsson@axis.com>
      Cc: stable <stable@kernel.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      c0e69a5b
    • I
      debugfs: introduce stub for debugfs_create_size_t() when DEBUG_FS=n · 8adb711f
      Inaky Perez-Gonzalez 提交于
      Toralf Förster <toralf.foerster@gmx.de> reported a build failure in
      the WiMAX stack when CONFIG_DEBUG_FS=n
      
      http://linuxwimax.org/pipermail/wimax/2009-January/000449.html
      
      This is due to debugfs_create_size_t() missing an stub that returns
      -ENODEV when the DEBUGFS subsystem is not configured in (like the rest
      of the debugfs API).
      
      This patch adds said stub.
      Reported-by: NToralf Förster <toralf.foerster@gmx.de>
      Signed-off-by: NInaky Perez-Gonzalez <inaky@linux.intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      8adb711f
  9. 20 1月, 2009 2 次提交
  10. 17 1月, 2009 2 次提交
    • R
      PCI PM: Restore standard config registers of all devices early · aa8c6c93
      Rafael J. Wysocki 提交于
      There is a problem in our handling of suspend-resume of PCI devices that
      many of them have their standard config registers restored with
      interrupts enabled and they are put into the full power state with
      interrupts enabled as well.  This may lead to the following scenario:
        * an interrupt vector is shared between two or more devices
        * one device is resumed earlier and generates an interrupt
        * the interrupt handler of another device tries to handle it and
          attempts to access the device the config space of which hasn't been
          restored yet and/or which still is in a low power state
        * the system crashes as a result
      
      To prevent this from happening we should restore the standard
      configuration registers of all devices with interrupts disabled and we
      should put them into the D0 power state right after that.
      Unfortunately, this cannot be done using the existing
      pci_set_power_state(), because it can sleep.  Also, to do it we have to
      make sure that the config spaces of all devices were actually saved
      during suspend.
      Signed-off-by: NRafael J. Wysocki <rjw@sisk.pl>
      Acked-by: NLinus Torvalds <torvalds@linux-foundation.org>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      aa8c6c93
    • J
      quota: Improve locking · cc33412f
      Jan Kara 提交于
      We implement dqget() and dqput() that need neither dqonoff_mutex nor dqptr_sem.
      Then move dqget() and dqput() calls so that they are not called from under
      dqptr_sem. This is important because filesystem callbacks aren't called from
      under dqptr_sem which used to cause *lots* of problems with lock ranking
      (and with OCFS2 they became close to unsolvable).
      
      The patch also removes two functions which were introduced solely because OCFS2
      needed them to cope with the old locking scheme. As time showed, they were not
      enough for OCFS2 anyway and it would be unnecessary work to adapt them to the
      new locking scheme in which they aren't needed.  As a result OCFS2 needs the
      following patch to compile properly with quotas.  Sorry to any bisecters which
      hit this in advance.
      Signed-off-by: NJan Kara <jack@suse.cz>
      cc33412f
  11. 16 1月, 2009 6 次提交