1. 10 8月, 2007 1 次提交
  2. 12 7月, 2007 1 次提交
    • T
      sysfs: kill unnecessary attribute->owner · 7b595756
      Tejun Heo 提交于
      sysfs is now completely out of driver/module lifetime game.  After
      deletion, a sysfs node doesn't access anything outside sysfs proper,
      so there's no reason to hold onto the attribute owners.  Note that
      often the wrong modules were accounted for as owners leading to
      accessing removed modules.
      
      This patch kills now unnecessary attribute->owner.  Note that with
      this change, userland holding a sysfs node does not prevent the
      backing module from being unloaded.
      
      For more info regarding lifetime rule cleanup, please read the
      following message.
      
        http://article.gmane.org/gmane.linux.kernel/510293
      
      (tweaked by Greg to not delete the field just yet, to make it easier to
      merge things properly.)
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Cc: Cornelia Huck <cornelia.huck@de.ibm.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      7b595756
  3. 11 7月, 2007 5 次提交
  4. 07 6月, 2007 1 次提交
  5. 11 5月, 2007 1 次提交
    • R
      ocfs2: kobject/kset foobar · c4a7f5eb
      Randy Dunlap 提交于
      Fix gcc warning and Oops that it causes:
      
      fs/ocfs2/cluster/masklog.c:161: warning: assignment from incompatible pointer type
      [ 2776.204120] OCFS2 Node Manager 1.3.3
      [ 2776.211729] BUG: spinlock bad magic on CPU#0, modprobe/4424
      [ 2776.214269]  lock: ffff810021c8fe18, .magic: ffffffff, .owner: /6394416, .owner_cpu: 0
      [ 2776.217864] [ 2776.217865] Call Trace:
      [ 2776.219662]  [<ffffffff803426c8>] spin_bug+0x9e/0xe9
      [ 2776.221921]  [<ffffffff803427bf>] _raw_spin_lock+0x23/0xf9
      [ 2776.224417]  [<ffffffff8051acf4>] _spin_lock+0x9/0xb
      [ 2776.226676]  [<ffffffff8033c3b1>] kobject_shadow_add+0x98/0x1ac
      [ 2776.229367]  [<ffffffff8033c4d0>] kobject_add+0xb/0xd
      [ 2776.231665]  [<ffffffff8033c4df>] kset_add+0xd/0xf
      [ 2776.233845]  [<ffffffff8033c5a6>] kset_register+0x23/0x28
      [ 2776.236309]  [<ffffffff8808ccb7>] :ocfs2_nodemanager:mlog_sys_init+0x68/0x6d
      [ 2776.239518]  [<ffffffff8808ccee>] :ocfs2_nodemanager:o2cb_sys_init+0x32/0x4a
      [ 2776.242726]  [<ffffffff880b80a6>] :ocfs2_nodemanager:init_o2nm+0xa6/0xd5
      [ 2776.245772]  [<ffffffff8025266c>] sys_init_module+0x1471/0x15d2
      [ 2776.248465]  [<ffffffff8033f250>] simple_strtoull+0x0/0xdc
      [ 2776.250959]  [<ffffffff8020948e>] system_call+0x7e/0x83
      Signed-off-by: NRandy Dunlap <randy.dunlap@oracle.com>
      Acked-by: NMark Fasheh <mark.fasheh@oracle.com>
      Cc: Greg KH <greg@kroah.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      c4a7f5eb
  6. 03 5月, 2007 2 次提交
  7. 27 4月, 2007 2 次提交
  8. 15 3月, 2007 2 次提交
  9. 15 2月, 2007 2 次提交
  10. 08 2月, 2007 6 次提交
    • P
      [PATCH] ocfs2 heartbeat: clean up bio submission code · b559292e
      Philipp Reisner 提交于
      As was already pointed out Mathieu Avila on Thu, 07 Sep 2006 03:15:25 -0700
      that OCFS2 is expecting bio_add_page() to add pages to BIOs in an easily
      predictable manner.
      
      That is not true, especially for devices with own merge_bvec_fn().
      
      Therefore OCFS2's heartbeat code is very likely to fail on such devices.
      
      Move the bio_put() call into the bio's bi_end_io() function. This makes the
      whole idea of trying to predict the behaviour of bio_add_page() unnecessary.
      Removed compute_max_sectors() and o2hb_compute_request_limits().
      Signed-off-by: NPhilipp Reisner <philipp.reisner@linbit.com>
      Signed-off-by: NMark Fasheh <mark.fasheh@oracle.com>
      b559292e
    • Z
      ocfs2: introduce sc->sc_send_lock to protect outbound outbound messages · 925037bc
      Zhen Wei 提交于
      When there is a lot of multithreaded I/O usage, two threads can collide
      while sending out a message to the other nodes. This is due to the lack of
      locking between threads while sending out the messages.
      
      When a connected TCP send(), sendto(), or sendmsg() arrives in the Linux
      kernel, it eventually comes through tcp_sendmsg(). tcp_sendmsg() protects
      itself by acquiring a lock at invocation by calling lock_sock().
      tcp_sendmsg() then loops over the buffers in the iovec, allocating
      associated sk_buff's and cache pages for use in the actual send. As it does
      so, it pushes the data out to tcp for actual transmission. However, if one
      of those allocation fails (because a large number of large sends is being
      processed, for example), it must wait for memory to become available. It
      does so by jumping to wait_for_sndbuf or wait_for_memory, both of which
      eventually cause a call to sk_stream_wait_memory(). sk_stream_wait_memory()
      contains a code path that calls sk_wait_event(). Finally, sk_wait_event()
      contains the call to release_sock().
      
      The following patch adds a lock to the socket container in order to
      properly serialize outbound requests.
      
      From: Zhen Wei <zwei@novell.com>
      Acked-by: NJeff Mahoney <jeffm@suse.com>
      Signed-off-by: NMark Fasheh <mark.fasheh@oracle.com>
      925037bc
    • S
      ocfs2_dlm: disallow a domain join if node maps mismatch · 1faf2894
      Srinivas Eeda 提交于
      There is a small window where a joining node may not see the node(s) that
      just died but are still part of the domain. To fix this, we must disallow
      join requests if the joining node has a different node map.
      
      A new field node_map is added to dlm_query_join_request to send the current
      nodes nodemap along with join request. On the receiving end the nodes that
      are part of the cluster verifies if this new node sees all the nodes that
      are still part of the cluster. They disallow the join if the maps mismatch.
      Signed-off-by: NSrinivas Eeda <srinivas.eeda@oracle.com>
      Signed-off-by: NMark Fasheh <mark.fasheh@oracle.com>
      1faf2894
    • S
      ocfs2: Binds listener to the configured ip address · ab81afd3
      Sunil Mushran 提交于
      This patch binds the o2net listener to the configured ip address
      instead of INADDR_ANY for security. Fixes oss.oracle.com bugzilla#814.
      Signed-off-by: NSunil Mushran <sunil.mushran@oracle.com>
      Signed-off-by: NMark Fasheh <mark.fasheh@oracle.com>
      ab81afd3
    • K
      ocfs2: Added post handler callable function in o2net message handler · d74c9803
      Kurt Hackel 提交于
      Currently o2net allows one handler function per message type. This
      patch adds the ability to call another function to be called after
      the handler has returned the message to the other node.
      
      Handlers are now given the option of returning a context (in the form of a
      void **) which will be passed back into the post message handler function.
      Signed-off-by: NKurt Hackel <kurt.hackel@oracle.com>
      Signed-off-by: NSunil Mushran <sunil.mushran@oracle.com>
      Signed-off-by: NMark Fasheh <mark.fasheh@oracle.com>
      d74c9803
    • K
      ocfs2_dlm: fix cluster-wide refcounting of lock resources · ba2bf218
      Kurt Hackel 提交于
      This was previously broken and migration of some locks had to be temporarily
      disabled. We use a new (and backward-incompatible) set of network messages
      to account for all references to a lock resources held across the cluster.
      once these are all freed, the master node may then free the lock resource
      memory once its local references are dropped.
      Signed-off-by: NKurt Hackel <kurt.hackel@oracle.com>
      Signed-off-by: NMark Fasheh <mark.fasheh@oracle.com>
      ba2bf218
  11. 29 12月, 2006 1 次提交
  12. 14 12月, 2006 1 次提交
  13. 12 12月, 2006 1 次提交
    • A
      [patch 3/3] OCFS2 Configurable timeouts - Protocol changes · 828ae6af
      Andrew Beekhof 提交于
      Modify the OCFS2 handshake to ensure essential timeouts are configured
      identically on all nodes.
      
      Only allow changes when there are no connected peers
      
      Improves the logic in o2net_advance_rx() which broke now that
      sizeof(struct o2net_handshake) is greater than sizeof(struct o2net_msg)
      
      Included is the field for userspace-heartbeat timeout to avoid the need for
      further protocol changes.
      
      Uses a global spinlock to ensure the decisions to update configfs entries
      are made on the correct value.  The region covered by the spinlock when
      incrementing the counter is much larger as this is the more critical case.
      
      Small cleanup contributed by Adrian Bunk <bunk@stusta.de>
      Signed-off-by: NAndrew Beekhof <abeekhof@suse.de>
      Signed-off-by: NMark Fasheh <mark.fasheh@oracle.com>
      828ae6af
  14. 08 12月, 2006 2 次提交
  15. 22 11月, 2006 1 次提交
  16. 21 10月, 2006 1 次提交
  17. 25 9月, 2006 2 次提交
    • M
      ocfs2: Remove i_generation from inode lock names · 24c19ef4
      Mark Fasheh 提交于
      OCFS2 puts inode meta data in the "lock value block" provided by the DLM.
      Typically, i_generation is encoded in the lock name so that a deleted inode
      on and a new one in the same block don't share the same lvb.
      
      Unfortunately, that scheme means that the read in ocfs2_read_locked_inode()
      is potentially thrown away as soon as the meta data lock is taken - we
      cannot encode the lock name without first knowing i_generation, which
      requires a disk read.
      
      This patch encodes i_generation in the inode meta data lvb, and removes the
      value from the inode meta data lock name. This way, the read can be covered
      by a lock, and at the same time we can distinguish between an up to date and
      a stale LVB.
      
      This will help cold-cache stat(2) performance in particular.
      
      Since this patch changes the protocol version, we take the opportunity to do
      a minor re-organization of two of the LVB fields.
      Signed-off-by: NMark Fasheh <mark.fasheh@oracle.com>
      24c19ef4
    • M
      ocfs2: Hook rest of the file system into dentry locking API · 379dfe9d
      Mark Fasheh 提交于
      Actually replace the vote calls with the new dentry operations. Make any
      necessary adjustments to get the scheme to work.
      Signed-off-by: NMark Fasheh <mark.fasheh@oracle.com>
      379dfe9d
  18. 21 9月, 2006 1 次提交
  19. 30 6月, 2006 3 次提交
  20. 28 6月, 2006 1 次提交
  21. 08 4月, 2006 1 次提交
  22. 25 3月, 2006 2 次提交