Add cinder 2015.1 for Kilo
[openstack-build/cinder-build.git] / trusty / debian / patches / fix-long-casting.patch
1 Description: Workaround problematic type casting in 15.04
2  ======================================================================
3  FAIL: cinder.tests.test_utils.GetBlkdevMajorMinorTestCase.test_get_blkdev_major_minor_file
4  cinder.tests.test_utils.GetBlkdevMajorMinorTestCase.test_get_blkdev_major_minor_file
5  ----------------------------------------------------------------------
6  _StringException: Traceback (most recent call last):
7    File "/build/buildd/cinder-2015.1~b3/cinder/tests/test_utils.py", line 721, in test_get_blkdev_major_minor_file
8      dev = self._test_get_blkdev_major_minor_file('/dev/made_up_disk1')
9    File "/usr/lib/python2.7/dist-packages/mock.py", line 1210, in patched
10      return func(*args, **keywargs)
11    File "/build/buildd/cinder-2015.1~b3/cinder/tests/test_utils.py", line 712, in _test_get_blkdev_major_minor_file
12      dev = utils.get_blkdev_major_minor(test_file)
13    File "/build/buildd/cinder-2015.1~b3/cinder/utils.py", line 656, in get_blkdev_major_minor
14      return get_blkdev_major_minor(devpath, False)
15    File "/build/buildd/cinder-2015.1~b3/cinder/utils.py", line 645, in get_blkdev_major_minor
16      return '%d:%d' % (os.major(st.st_rdev), os.minor(st.st_rdev))
17  SystemError: ../Objects/longobject.c:998: bad argument to internal function
18  Traceback (most recent call last):
19  _StringException: Empty attachments:
20    stderr
21    stdout
22 Author: James Page <james.page@ubuntu.com>
23 Forwarded: no
24
25 --- a/cinder/utils.py
26 +++ b/cinder/utils.py
27 @@ -643,7 +643,8 @@ def get_blkdev_major_minor(path, lookup_
28      st = os.stat(path)
29      if stat.S_ISBLK(st.st_mode):
30          path, st = _get_disk_of_partition(path, st)
31 -        return '%d:%d' % (os.major(st.st_rdev), os.minor(st.st_rdev))
32 +        return '%d:%d' % (os.major(long(st.st_rdev)),
33 +                          os.minor(long(st.st_rdev)))
34      elif stat.S_ISCHR(st.st_mode):
35          # No I/O ratelimit control is provided for character devices
36          return None