cloudstack-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CLOUDSTACK-9423) Object storage should get the correct size for compressed templates
Date Tue, 28 Jun 2016 15:25:57 GMT

    [ https://issues.apache.org/jira/browse/CLOUDSTACK-9423?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15353213#comment-15353213
] 

ASF GitHub Bot commented on CLOUDSTACK-9423:
--------------------------------------------

Github user swill commented on a diff in the pull request:

    https://github.com/apache/cloudstack/pull/1598#discussion_r68779423
  
    --- Diff: core/src/com/cloud/storage/template/VhdProcessor.java ---
    @@ -91,27 +97,58 @@ public long getVirtualSize(File file) throws IOException {
             return file.length();
         }
     
    -    protected long getTemplateVirtualSize(File file) throws IOException {
    +        protected long getTemplateVirtualSize(File file) throws IOException {
             byte[] currentSize = new byte[8];
    +        byte[] cookie = new byte[8];
             byte[] creatorApp = new byte[4];
     
    -        try (FileInputStream strm = new FileInputStream(file)) {
    -            long skipped = strm.skip(file.length() - vhdFooterSize + vhdFooterCreatorAppOffset);
    +
    +        BufferedInputStream fileStream = new BufferedInputStream(new FileInputStream(file));
    +        InputStream strm = fileStream;
    +
    +        boolean isCompressed = checkCompressed(file.getAbsolutePath());
    +
    +        if ( isCompressed ) {
    +            try {
    +                strm = new CompressorStreamFactory().createCompressorInputStream(fileStream);
    +            } catch (CompressorException e) {
    +                s_logger.info("error opening compressed VHD file " + file.getName());
    +                return file.length();
    +            }
    +        }
    +
    +        try {
    +
    --- End diff --
    
    Can you remove the unneeded line break here since I already have another change for you
to make.  :)  Thx...


> Object storage should get the correct size for compressed templates
> -------------------------------------------------------------------
>
>                 Key: CLOUDSTACK-9423
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-9423
>             Project: CloudStack
>          Issue Type: Bug
>      Security Level: Public(Anyone can view this level - this is the default.) 
>            Reporter: syed ahmed
>              Labels: secondary_storage, swift, template
>
> When uploading templates to an object store like Swift, if the template is compressed,
we get an invalid size (negative). This fix tries to see if the template is compressed, if
so, gets the correct size by partially decompressing the VHD header. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message