1. 14 2月, 2013 32 次提交
  2. 30 1月, 2013 1 次提交
  3. 26 1月, 2013 6 次提交
    • C
      libceph: fix undefined behavior when using snprintf() · 1ec3911d
      Cong Ding 提交于
      The variable "str" is used as both the source and destination in
      function snprintf(), which is undefined behavior based on C11. The
      original description in C11 is:
      	"If copying takes place between objects that
      	overlap, the behavior is undefined."
      
      And, the function of ceph_osdmap_state_str() is to return the osdmap
      state, so it should return "doesn't exist" when all the conditions
      are not satisfied. I fix it in this patch.
      
      [elder@inktank.com: shortened the commit message]
      Signed-off-by: NCong Ding <dinggnu@gmail.com>
      Reviewed-by: NAlex Elder <elder@inktank.com>
      1ec3911d
    • A
      rbd: don't retry setting up header watch · c0430647
      Alex Elder 提交于
      When an rbd image is initially mapped a watch event is registered so
      we can do something if the header object changes.
      
      The code that does this currently loops if initiating the watch
      request results in an ERANGE error.  The osds will never return
      ERANGE, so there's no reason to do this loop, so get rid of it.
      
      This resolves:
          http://tracker.newdream.net/issues/3860
      
      Note that the problem this loop was intended to solve is a race
      between collecting image header information and setting up the watch
      on the header object.  The real fix for that problem is described
      here:
          http://tracker.newdream.net/issues/3871Signed-off-by: NAlex Elder <elder@inktank.com>
      Reviewed-by: NJosh Durgin <josh.durgin@inktank.com>
      c0430647
    • A
      rbd: check for overflow in rbd_get_num_segments() · 38901e0f
      Alex Elder 提交于
      The return type of rbd_get_num_segments() is int, but the values it
      operates on are u64.  Although it's not likely, there's no guarantee
      the result won't exceed what can be respresented in an int.  The
      function is already designed to return -ERANGE on error, so just add
      this possible overflow as another reason to return that.
      Signed-off-by: NAlex Elder <elder@inktank.com>
      Reviewed-by: NDan Mick <dan.mick@inktank.com>
      Reviewed-by: NJosh Durgin <josh.durgin@inktank.com>
      38901e0f
    • A
      rbd: small changes · 98571b5a
      Alex Elder 提交于
      A few very minor changes to the rbd code:
          - RBD_MAX_OPT_LEN is unused, so get rid of it
          - Consolidate rbd options definitions
          - Make rbd_segment_name() return pointer to const char
      Signed-off-by: NAlex Elder <elder@inktank.com>
      Reviewed-by: NDan Mick <dan.mick@inktank.com>
      Reviewed-by: NJosh Durgin <josh.durgin@inktank.com>
      98571b5a
    • L
      Linux 3.8-rc5 · 949db153
      Linus Torvalds 提交于
      949db153
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs · d7df025e
      Linus Torvalds 提交于
      Pull btrfs fixes from Chris Mason:
       "It turns out that we had two crc bugs when running fsx-linux in a
        loop.  Many thanks to Josef, Miao Xie, and Dave Sterba for nailing it
        all down.  Miao also has a new OOM fix in this v2 pull as well.
      
        Ilya fixed a regression Liu Bo found in the balance ioctls for pausing
        and resuming a running balance across drives.
      
        Josef's orphan truncate patch fixes an obscure corruption we'd see
        during xfstests.
      
        Arne's patches address problems with subvolume quotas.  If the user
        destroys quota groups incorrectly the FS will refuse to mount.
      
        The rest are smaller fixes and plugs for memory leaks."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs: (30 commits)
        Btrfs: fix repeated delalloc work allocation
        Btrfs: fix wrong max device number for single profile
        Btrfs: fix missed transaction->aborted check
        Btrfs: Add ACCESS_ONCE() to transaction->abort accesses
        Btrfs: put csums on the right ordered extent
        Btrfs: use right range to find checksum for compressed extents
        Btrfs: fix panic when recovering tree log
        Btrfs: do not allow logged extents to be merged or removed
        Btrfs: fix a regression in balance usage filter
        Btrfs: prevent qgroup destroy when there are still relations
        Btrfs: ignore orphan qgroup relations
        Btrfs: reorder locks and sanity checks in btrfs_ioctl_defrag
        Btrfs: fix unlock order in btrfs_ioctl_rm_dev
        Btrfs: fix unlock order in btrfs_ioctl_resize
        Btrfs: fix "mutually exclusive op is running" error code
        Btrfs: bring back balance pause/resume logic
        btrfs: update timestamps on truncate()
        btrfs: fix btrfs_cont_expand() freeing IS_ERR em
        Btrfs: fix a bug when llseek for delalloc bytes behind prealloc extents
        Btrfs: fix off-by-one in lseek
        ...
      d7df025e
  4. 25 1月, 2013 1 次提交