1. 15 7月, 2008 2 次提交
    • J
      configfs: Allow ->make_item() and ->make_group() to return detailed errors. · 11c3b792
      Joel Becker 提交于
      The configfs operations ->make_item() and ->make_group() currently
      return a new item/group.  A return of NULL signifies an error.  Because
      of this, -ENOMEM is the only return code bubbled up the stack.
      
      Multiple folks have requested the ability to return specific error codes
      when these operations fail.  This patch adds that ability by changing the
      ->make_item/group() ops to return an int.
      
      Also updated are the in-kernel users of configfs.
      Signed-off-by: NJoel Becker <joel.becker@oracle.com>
      11c3b792
    • S
      ocfs2/net: Silence build warnings on sparc64 · 461c6a30
      Sunil Mushran 提交于
      suseconds_t is type long on most arches except sparc64 where it is type int.
      This patch silences the following warnings that are generated when building
      on it.
      
      netdebug.c: In function 'nst_seq_show':
      netdebug.c:152: warning: format '%lu' expects type 'long unsigned int', but argument 13 has type 'suseconds_t'
      netdebug.c:152: warning: format '%lu' expects type 'long unsigned int', but argument 15 has type 'suseconds_t'
      netdebug.c:152: warning: format '%lu' expects type 'long unsigned int', but argument 17 has type 'suseconds_t'
      netdebug.c: In function 'sc_seq_show':
      netdebug.c:332: warning: format '%lu' expects type 'long unsigned int', but argument 19 has type 'suseconds_t'
      netdebug.c:332: warning: format '%lu' expects type 'long unsigned int', but argument 21 has type 'suseconds_t'
      netdebug.c:332: warning: format '%lu' expects type 'long unsigned int', but argument 23 has type 'suseconds_t'
      netdebug.c:332: warning: format '%lu' expects type 'long unsigned int', but argument 25 has type 'suseconds_t'
      netdebug.c:332: warning: format '%lu' expects type 'long unsigned int', but argument 27 has type 'suseconds_t'
      netdebug.c:332: warning: format '%lu' expects type 'long unsigned int', but argument 29 has type 'suseconds_t'
      Signed-off-by: NSunil Mushran <sunil.mushran@oracle.com>
      Signed-off-by: NMark Fasheh <mfasheh@suse.com>
      461c6a30
  2. 17 6月, 2008 1 次提交
  3. 31 5月, 2008 2 次提交
  4. 01 5月, 2008 1 次提交
  5. 18 4月, 2008 4 次提交
    • S
      ocfs2/net: Add debug interface to o2net · 2309e9e0
      Sunil Mushran 提交于
      This patch exposes o2net information via debugfs. The information includes
      the list of sockets (sock_containers) as well as the list of outstanding
      messages (send_tracking). Useful for o2dlm debugging.
      
      (This patch is derived from an earlier one written by Zach Brown that
      exposed the same information via /proc.)
      
      [Mark: checkpatch fixes]
      Signed-off-by: NSunil Mushran <sunil.mushran@oracle.com>
      Reviewed-by: NJoel Becker <joel.becker@oracle.com>
      Signed-off-by: NMark Fasheh <mfasheh@suse.com>
      2309e9e0
    • J
      ocfs2/cluster: Get rid of arguments to the timeout routines · 409753bf
      Jeff Mahoney 提交于
      We keep seeing bug reports related to NULL pointer derefs in
      o2net_set_nn_state(). When I originally wrote up the configurable timeout
      patch, I had tried to plan for multiple clusters. This was silly.
      
      The timeout routines all use o2nm_single_cluster so there's no point in
      passing an argument at all. This patch removes the arguments and kills those
      bugs dead.
      Signed-off-by: NJeff Mahoney <jeffm@suse.com>
      Signed-off-by: NMark Fasheh <mfasheh@suse.com>
      409753bf
    • M
      ocfs2: Move /sys/o2cb to /sys/fs/o2cb · 52f7c21b
      Mark Fasheh 提交于
      /sys/fs is where we really want file system specific sysfs objects.
      
      Ocfs2-tools has been updated to look in /sys/fs/o2cb. We can maintain
      backwards compatibility with old ocfs2-tools by using a sysfs symlink. After
      some time (2 years), the symlink can be safely removed. This patch also adds
      documentation to make it easier for people to figure out what /sys/fs/o2cb
      is used for.
      Signed-off-by: NMark Fasheh <mfasheh@suse.com>
      52f7c21b
    • T
      ocfs2: Reconnect after idle time out. · 5cc3bf27
      Tao Ma 提交于
      Currently, o2net connects to a node on hb_up and disconnects on
      hb_down and net timeout.
      
      It disconnects on net timeout is ok, but it should attempt to
      reconnect back. This is because sometimes nodes get overloaded
      enough that the network connection breaks but the disk hb does not.
      And if we get into that situation, we either fence (unnecessarily)
      or wait for its disk hb to die (and sometimes hang in the process).
      
      So in this updated scheme, when the network disconnects, we keep
      attempting to reconnect till we succeed or we get a disk hb down
      event.
      
      If the other node is really dead, then we will eventually get a
      node down event. If not, we should be able to connect again and
      continue.
      Signed-off-by: NTao Ma <tao.ma@oracle.com>
      Signed-off-by: NMark Fasheh <mfasheh@suse.com>
      5cc3bf27
  6. 11 3月, 2008 1 次提交
  7. 09 2月, 2008 1 次提交
    • M
      byteorder: move le32_add_cpu & friends from OCFS2 to core · 8b5f6883
      Marcin Slusarz 提交于
      This patchset moves le*_add_cpu and be*_add_cpu functions from OCFS2 to core
      header (1st), converts ext3 filesystem to this API (2nd) and replaces XFS
      different named functions with new ones (3rd).
      
      There are many places where these functions will be useful.  Just look at:
      grep -r 'cpu_to_[ble12346]*([ble12346]*_to_cpu.*[-+]' linux-src/ Patch for
      ext3 is an example how conversions will probably look like.
      
      This patch:
      
      - move inline functions which add native byte order variable to
        little/big endian variable to core header
        * le16_add_cpu(__le16 *var, u16 val)
        * le32_add_cpu(__le32 *var, u32 val)
        * le64_add_cpu(__le64 *var, u64 val)
        * be32_add_cpu(__be32 *var, u32 val)
      - add for completeness:
        * be16_add_cpu(__be16 *var, u16 val)
        * be64_add_cpu(__be64 *var, u64 val)
      Signed-off-by: NMarcin Slusarz <marcin.slusarz@gmail.com>
      Acked-by: NMark Fasheh <mark.fasheh@oracle.com>
      Cc: David Chinner <dgc@sgi.com>
      Cc: Timothy Shimmin <tes@sgi.com>
      Cc: <linux-ext4@vger.kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      8b5f6883
  8. 07 2月, 2008 1 次提交
    • J
      ocfs2: Negotiate locking protocol versions. · d24fbcda
      Joel Becker 提交于
      Currently, when ocfs2 nodes connect via TCP, they advertise their
      compatibility level.  If the versions do not match, two nodes cannot speak
      to each other and they disconnect. As a result, this provides no forward or
      backwards compatibility.
      
      This patch implements a simple protocol negotiation at the dlm level by
      introducing a major/minor version number scheme for entities that
      communicate.  Specifically, o2dlm has a major/minor version for interaction
      with o2dlm on other nodes, and ocfs2 itself has a major/minor version for
      interacting with the filesystem on other nodes.
      
      This will allow rolling upgrades of ocfs2 clusters when changes to the
      locking or network protocols can be done in a backwards compatible manner.
      In those cases, only the minor number is changed and the negotatied protocol
      minor is returned from dlm join. In the far less likely event that a
      required protocol change makes backwards compatibility impossible, we simply
      bump the major number.
      Signed-off-by: NJoel Becker <joel.becker@oracle.com>
      Signed-off-by: NMark Fasheh <mark.fasheh@oracle.com>
      d24fbcda
  9. 29 1月, 2008 1 次提交
  10. 26 1月, 2008 4 次提交
    • M
      ocfs2: bump version number · 0e5ae032
      Mark Fasheh 提交于
      Bump the printed version to 1.5.0. This helps us quickly identify which
      version of Ocfs2 a bug filer is running.
      Signed-off-by: NMark Fasheh <mark.fasheh@oracle.com>
      0e5ae032
    • S
      ocfs2: Update default cluster timeouts · 17104683
      Sunil Mushran 提交于
      Lots of people are having trouble with the default timeouts, which are too
      low. These new values are derived from an informal survey taken on
      ocfs2-users, as well as data from bug reports. This should reduce the amount
      of cluster disconnects and subsequent fencing seen during normal workloads.
      Signed-off-by: NSunil Mushran <sunil.mushran@oracle.com>
      Signed-off-by: NMark Fasheh <mark.fasheh@oracle.com>
      17104683
    • M
      ocfs2: Remove data locks · c934a92d
      Mark Fasheh 提交于
      The meta lock now covers both meta data and data, so this just removes the
      now-redundant data lock.
      
      Combining locks saves us a round of lock mastery per inode and one less lock
      to ping between nodes during read/write.
      
      We don't lose much - since meta locks were always held before a data lock
      (and at the same level) ordered writeout mode (the default) ensured that
      flushing for the meta data lock also pushed out data anyways.
      Signed-off-by: NMark Fasheh <mark.fasheh@oracle.com>
      c934a92d
    • M
      ocfs2: Remove mount/unmount votes · 34d024f8
      Mark Fasheh 提交于
      The node maps that are set/unset by these votes are no longer relevant, thus
      we can remove the mount and umount votes. Since those are the last two
      remaining votes, we can also remove the entire vote infrastructure.
      
      The vote thread has been renamed to the downconvert thread, and the small
      amount of functionality related to managing it has been moved into
      fs/ocfs2/dlmglue.c. All references to votes have been removed or updated.
      Signed-off-by: NMark Fasheh <mark.fasheh@oracle.com>
      34d024f8
  11. 25 1月, 2008 2 次提交
    • G
      kset: convert ocfs2 to use kset_create · c60b7178
      Greg Kroah-Hartman 提交于
      Dynamically create the kset instead of declaring it statically.
      
      Also use the new kobj_attribute which cleans up this file a _lot_.
      
      Cc: Kay Sievers <kay.sievers@vrfy.org>
      Cc: Mark Fasheh <mark.fasheh@oracle.com>
      Cc: Kurt Hackel <kurt.hackel@oracle.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      c60b7178
    • G
      kobject: remove struct kobj_type from struct kset · 3514faca
      Greg Kroah-Hartman 提交于
      We don't need a "default" ktype for a kset.  We should set this
      explicitly every time for each kset.  This change is needed so that we
      can make ksets dynamic, and cleans up one of the odd, undocumented
      assumption that the kset/kobject/ktype model has.
      
      This patch is based on a lot of help from Kay Sievers.
      
      Nasty bug in the block code was found by Dave Young
      <hidave.darkstar@gmail.com>
      
      Cc: Kay Sievers <kay.sievers@vrfy.org>
      Cc: Dave Young <hidave.darkstar@gmail.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      3514faca
  12. 06 12月, 2007 1 次提交
  13. 28 11月, 2007 1 次提交
  14. 13 11月, 2007 1 次提交
  15. 07 11月, 2007 1 次提交
  16. 20 10月, 2007 1 次提交
  17. 13 10月, 2007 1 次提交
  18. 12 10月, 2007 1 次提交
  19. 10 10月, 2007 1 次提交
  20. 10 8月, 2007 1 次提交
  21. 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
  22. 11 7月, 2007 5 次提交
  23. 07 6月, 2007 1 次提交
  24. 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
  25. 03 5月, 2007 2 次提交
  26. 27 4月, 2007 1 次提交
    • T
      ocfs2: Remove delete inode vote · 50008630
      Tiger Yang 提交于
      Ocfs2 currently does cluster-wide node messaging to check the open state of
      an inode during delete. This patch removes that mechanism in favor of an
      inode cluster lock which is taken at shared read when an inode is first read
      and dropped in clear_inode(). This allows a deleting node to test the
      liveness of an inode by attempting to take an exclusive lock.
      Signed-off-by: NTiger Yang <tiger.yang@oracle.com>
      Signed-off-by: NMark Fasheh <mark.fasheh@oracle.com>
      50008630