Skip to content
Snippets Groups Projects
  1. Jan 26, 2010
  2. Dec 24, 2009
  3. Dec 03, 2009
  4. Oct 19, 2009
    • Eric Dumazet's avatar
      inet: rename some inet_sock fields · c720c7e8
      Eric Dumazet authored
      
      In order to have better cache layouts of struct sock (separate zones
      for rx/tx paths), we need this preliminary patch.
      
      Goal is to transfert fields used at lookup time in the first
      read-mostly cache line (inside struct sock_common) and move sk_refcnt
      to a separate cache line (only written by rx path)
      
      This patch adds inet_ prefix to daddr, rcv_saddr, dport, num, saddr,
      sport and id fields. This allows a future patch to define these
      fields as macros, like sk_refcnt, without name clashes.
      
      Signed-off-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c720c7e8
  5. Oct 02, 2009
  6. Sep 23, 2009
  7. Jun 15, 2009
  8. May 22, 2009
  9. May 05, 2009
    • 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
  10. Apr 03, 2009
  11. Jan 06, 2009
  12. Jan 05, 2009
    • 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
  13. Oct 31, 2008
  14. Oct 21, 2008
  15. Oct 14, 2008
    • 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
  16. Aug 22, 2008
  17. Jul 18, 2008
    • Joel Becker's avatar
      configfs: Allow ->make_item() and ->make_group() to return detailed errors. · a6795e9e
      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 ERR_PTR() values.  These errors are
      bubbled up appropriately.  NULL returns are changed to -ENOMEM for
      compatibility.
      
      Also updated are the in-kernel users of configfs.
      
      This is a rework of reverted commit 11c3b792.
      
      Signed-off-by: default avatarJoel Becker <joel.becker@oracle.com>
      a6795e9e
  18. Jul 17, 2008
  19. Jul 14, 2008
    • 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
  20. Jun 16, 2008
  21. May 31, 2008
  22. May 01, 2008
  23. Apr 18, 2008
    • 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
  24. Mar 10, 2008
  25. Feb 08, 2008
    • 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
  26. Feb 07, 2008
    • 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
  27. Jan 29, 2008
  28. Jan 26, 2008
  29. Jan 25, 2008
    • 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
Loading