1. 17 7月, 2012 3 次提交
    • D
      dlm: fix race between remove and lookup · 05c32f47
      David Teigland 提交于
      It was possible for a remove message on an old
      rsb to be sent after a lookup message on a new
      rsb, where the rsbs were for the same resource
      name.  This could lead to a missing directory
      entry for the new rsb.
      
      It is fixed by keeping a copy of the resource
      name being removed until after the remove has
      been sent.  A lookup checks if this in-progress
      remove matches the name it is looking up.
      Signed-off-by: NDavid Teigland <teigland@redhat.com>
      05c32f47
    • D
      dlm: use idr instead of list for recovered rsbs · 1d7c484e
      David Teigland 提交于
      When a large number of resources are being recovered,
      a linear search of the recover_list takes a long time.
      Use an idr in place of a list.
      Signed-off-by: NDavid Teigland <teigland@redhat.com>
      1d7c484e
    • D
      dlm: use rsbtbl as resource directory · c04fecb4
      David Teigland 提交于
      Remove the dir hash table (dirtbl), and use
      the rsb hash table (rsbtbl) as the resource
      directory.  It has always been an unnecessary
      duplication of information.
      
      This improves efficiency by using a single rsbtbl
      lookup in many cases where both rsbtbl and dirtbl
      lookups were needed previously.
      
      This eliminates the need to handle cases of rsbtbl
      and dirtbl being out of sync.
      
      In many cases there will be memory savings because
      the dir hash table no longer exists.
      Signed-off-by: NDavid Teigland <teigland@redhat.com>
      c04fecb4
  2. 06 6月, 2012 11 次提交
  3. 05 6月, 2012 18 次提交
  4. 04 6月, 2012 7 次提交
  5. 03 6月, 2012 1 次提交
    • N
      target/file: Use O_DSYNC by default for FILEIO backends · a4dff304
      Nicholas Bellinger 提交于
      Convert to use O_DSYNC for all cases at FILEIO backend creation time to
      avoid the extra syncing of pure timestamp updates with legacy O_SYNC during
      default operation as recommended by hch.  Continue to do this independently of
      Write Cache Enable (WCE) bit, as WCE=0 is currently the default for all backend
      devices and enabled by user on per device basis via attrib/emulate_write_cache.
      
      This patch drops the now unnecessary fd_buffered_io= token usage that was
      originally signalling when to explictly disable O_SYNC at backend creation
      time for buffered I/O operation.  This can end up being dangerous for a number
      of reasons during physical node failure, so go ahead and drop this option
      for now when O_DSYNC is used as the default.
      
      Also allow explict FUA WRITEs -> vfs_fsync_range() call to function in
      fd_execute_cmd() independently of WCE bit setting.
      Reported-by: NChristoph Hellwig <hch@lst.de>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NNicholas Bellinger <nab@linux-iscsi.org>
      a4dff304