1. 23 Sep, 2009 1 commit
  2. 15 Jun, 2009 1 commit
  3. 22 May, 2009 1 commit
  4. 05 May, 2009 1 commit
    • Coly Li's avatar
      ocfs2: update comments in masklog.h · 2b53bc7b
      Coly Li authored
      
      
      In the mainline ocfs2 code, the interface for masklog is in files under
      /sys/fs/o2cb/masklog, but the comments in fs/ocfs2/cluster/masklog.h
      reference the old /proc interface.  They are out of date.
      
      This patch modifies the comments in cluster/masklog.h, which also provides
      a bash script example on how to change the log mask bits.
      Signed-off-by: default avatarColy Li <coly.li@suse.de>
      Signed-off-by: default avatarJoel Becker <joel.becker@oracle.com>
      2b53bc7b
  5. 03 Apr, 2009 1 commit
  6. 06 Jan, 2009 1 commit
  7. 05 Jan, 2009 2 commits
    • Tao Ma's avatar
      ocfs2/quota: Add QUOTA in mlog_attribute. · 754938c1
      Tao Ma authored
      
      
      A new mlog mask has to be added into mlog_attribute before it can
      be really used in mlog. ML_QUOTA is only added in masklog.h, so
      add it to the array to enable it.
      Signed-off-by: default avatarTao Ma <tao.ma@oracle.com>
      Signed-off-by: default avatarMark Fasheh <mfasheh@suse.com>
      754938c1
    • Jan Kara's avatar
      ocfs2: Implementation of local and global quota file handling · 9e33d69f
      Jan Kara authored
      
      
      For each quota type each node has local quota file. In this file it stores
      changes users have made to disk usage via this node. Once in a while this
      information is synced to global file (and thus with other nodes) so that
      limits enforcement at least aproximately works.
      
      Global quota files contain all the information about usage and limits. It's
      mostly handled by the generic VFS code (which implements a trie of structures
      inside a quota file). We only have to provide functions to convert structures
      from on-disk format to in-memory one. We also have to provide wrappers for
      various quota functions starting transactions and acquiring necessary cluster
      locks before the actual IO is really started.
      Signed-off-by: default avatarJan Kara <jack@suse.cz>
      Signed-off-by: default avatarMark Fasheh <mfasheh@suse.com>
      9e33d69f
  8. 31 Oct, 2008 1 commit
  9. 21 Oct, 2008 2 commits
  10. 13 Oct, 2008 1 commit
    • Tao Ma's avatar
      ocfs2: Add extent tree operation for xattr value btrees · f56654c4
      Tao Ma authored
      
      
      Add some thin wrappers around ocfs2_insert_extent() for each of the 3
      different btree types, ocfs2_inode_insert_extent(),
      ocfs2_xattr_value_insert_extent() and ocfs2_xattr_tree_insert_extent(). The
      last is for the xattr index btree, which will be used in a followup patch.
      
      All the old callers in file.c etc will call ocfs2_dinode_insert_extent(),
      while the other two handle the xattr issue. And the init of extent tree are
      handled by these functions.
      
      When storing xattr value which is too large, we will allocate some clusters
      for it and here ocfs2_extent_list and ocfs2_extent_rec will also be used. In
      order to re-use the b-tree operation code, a new parameter named "private"
      is added into ocfs2_extent_tree and it is used to indicate the root of
      ocfs2_exent_list. The reason is that we can't deduce the root from the
      buffer_head now. It may be in an inode, an ocfs2_xattr_block or even worse,
      in any place in an ocfs2_xattr_bucket.
      Signed-off-by: default avatarTao Ma <tao.ma@oracle.com>
      Signed-off-by: default avatarMark Fasheh <mfasheh@suse.com>
      f56654c4
  11. 22 Aug, 2008 2 commits
  12. 17 Jul, 2008 2 commits
  13. 14 Jul, 2008 2 commits
    • Joel Becker's avatar
      configfs: Allow ->make_item() and ->make_group() to return detailed errors. · 11c3b792
      Joel Becker authored
      
      
      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: default avatarJoel Becker <joel.becker@oracle.com>
      11c3b792
    • Sunil Mushran's avatar
      ocfs2/net: Silence build warnings on sparc64 · 461c6a30
      Sunil Mushran authored
      
      
      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: default avatarSunil Mushran <sunil.mushran@oracle.com>
      Signed-off-by: default avatarMark Fasheh <mfasheh@suse.com>
      461c6a30
  14. 16 Jun, 2008 1 commit
  15. 30 May, 2008 2 commits
  16. 01 May, 2008 1 commit
  17. 18 Apr, 2008 4 commits
    • Sunil Mushran's avatar
      ocfs2/net: Add debug interface to o2net · 2309e9e0
      Sunil Mushran authored
      
      
      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: default avatarSunil Mushran <sunil.mushran@oracle.com>
      Reviewed-by: default avatarJoel Becker <joel.becker@oracle.com>
      Signed-off-by: default avatarMark Fasheh <mfasheh@suse.com>
      2309e9e0
    • Jeff Mahoney's avatar
      ocfs2/cluster: Get rid of arguments to the timeout routines · 409753bf
      Jeff Mahoney authored
      
      
      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: default avatarJeff Mahoney <jeffm@suse.com>
      Signed-off-by: default avatarMark Fasheh <mfasheh@suse.com>
      409753bf
    • Mark Fasheh's avatar
      ocfs2: Move /sys/o2cb to /sys/fs/o2cb · 52f7c21b
      Mark Fasheh authored
      
      
      /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: default avatarMark Fasheh <mfasheh@suse.com>
      52f7c21b
    • Tao Ma's avatar
      ocfs2: Reconnect after idle time out. · 5cc3bf27
      Tao Ma authored
      
      
      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: default avatarTao Ma <tao.ma@oracle.com>
      Signed-off-by: default avatarMark Fasheh <mfasheh@suse.com>
      5cc3bf27
  18. 10 Mar, 2008 1 commit
  19. 08 Feb, 2008 1 commit
    • Marcin Slusarz's avatar
      byteorder: move le32_add_cpu & friends from OCFS2 to core · 8b5f6883
      Marcin Slusarz authored
      
      
      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: default avatarMarcin Slusarz <marcin.slusarz@gmail.com>
      Acked-by: default avatarMark 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: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      8b5f6883
  20. 07 Feb, 2008 1 commit
    • Joel Becker's avatar
      ocfs2: Negotiate locking protocol versions. · d24fbcda
      Joel Becker authored
      
      
      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: default avatarJoel Becker <joel.becker@oracle.com>
      Signed-off-by: default avatarMark Fasheh <mark.fasheh@oracle.com>
      d24fbcda
  21. 29 Jan, 2008 1 commit
  22. 25 Jan, 2008 6 commits
    • Mark Fasheh's avatar
      ocfs2: bump version number · 0e5ae032
      Mark Fasheh authored
      
      
      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: default avatarMark Fasheh <mark.fasheh@oracle.com>
      0e5ae032
    • Sunil Mushran's avatar
      ocfs2: Update default cluster timeouts · 17104683
      Sunil Mushran authored
      
      
      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: default avatarSunil Mushran <sunil.mushran@oracle.com>
      Signed-off-by: default avatarMark Fasheh <mark.fasheh@oracle.com>
      17104683
    • Mark Fasheh's avatar
      ocfs2: Remove data locks · c934a92d
      Mark Fasheh authored
      
      
      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: default avatarMark Fasheh <mark.fasheh@oracle.com>
      c934a92d
    • Mark Fasheh's avatar
      ocfs2: Remove mount/unmount votes · 34d024f8
      Mark Fasheh authored
      
      
      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: default avatarMark Fasheh <mark.fasheh@oracle.com>
      34d024f8
    • Greg Kroah-Hartman's avatar
      kset: convert ocfs2 to use kset_create · c60b7178
      Greg Kroah-Hartman authored
      
      
      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: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      c60b7178
    • Greg Kroah-Hartman's avatar
      kobject: remove struct kobj_type from struct kset · 3514faca
      Greg Kroah-Hartman authored
      
      
      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: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      3514faca
  23. 05 Dec, 2007 1 commit
  24. 28 Nov, 2007 1 commit
  25. 13 Nov, 2007 1 commit
  26. 06 Nov, 2007 1 commit