Skip to content

Commit

Permalink
Fix chown fail for nfs file without necessary permission
Browse files Browse the repository at this point in the history
chown failed in case of volumes on nfs export when the
permission is not granted on the storage system. Upload
volume only requires read access on the nfs file and hence
chown is not neccessary when current user has read permission.
Chown only executed when read is not granted to the user.

Change-Id: Ifa8eff7e79c6e4f15a1feb7cabec8cae8a0b0a83
Closes-Bug:#1221205
  • Loading branch information
singn committed Aug 3, 2013
1 parent 0a2fc78 commit 1498958
Showing 1 changed file with 7 additions and 9 deletions.
16 changes: 7 additions & 9 deletions cinder/image/image_utils.py
Expand Up @@ -316,11 +316,8 @@ def fetch_to_volume_format(context, image_service,
if backing_file is not None:
raise exception.ImageUnacceptable(
image_id=image_id,
reason=_("fmt=%(fmt)s backed by:"
"%(backing_file)s") % {
'fmt': fmt,
'backing_file': backing_file,
})
reason=_("fmt=%(fmt)s backed by:%(backing_file)s")
% {'fmt': fmt, 'backing_file': backing_file, })

# NOTE(jdg): I'm using qemu-img convert to write
# to the volume regardless if it *needs* conversion or not
Expand Down Expand Up @@ -349,12 +346,13 @@ def upload_volume(context, image_service, image_meta, volume_path,
if (image_meta['disk_format'] == volume_format):
LOG.debug("%s was %s, no need to convert to %s" %
(image_id, volume_format, image_meta['disk_format']))
if os.name == 'nt':
with fileutils.file_open(volume_path) as image_file:
image_service.update(context, image_id, {}, image_file)
with utils.temporary_chown(volume_path):
if os.name == 'nt' or os.access(volume_path, os.R_OK):
with fileutils.file_open(volume_path) as image_file:
image_service.update(context, image_id, {}, image_file)
else:
with utils.temporary_chown(volume_path):
with fileutils.file_open(volume_path) as image_file:
image_service.update(context, image_id, {}, image_file)
return

if (CONF.image_conversion_dir and not
Expand Down

0 comments on commit 1498958

Please sign in to comment.