Bug 702313

Summary: GFS2: [RFE] Add compression to gfs2_edit savemeta/restoremeta
Product: Red Hat Enterprise Linux 6 Reporter: Andrew Price <anprice>
Component: clusterAssignee: Andrew Price <anprice>
Status: CLOSED ERRATA QA Contact: Cluster QE <mspqa-list>
Severity: low Docs Contact:
Priority: medium    
Version: 6.2CC: adas, agk, bmarzins, ccaulfie, cluster-maint, fdinitto, lhh, rpeterso, ssaha, swhiteho, teigland
Target Milestone: rcKeywords: FutureFeature
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: cluster-3.0.12.1-3.el6 Doc Type: Enhancement
Doc Text:
Cause: Previous versions of gfs2_edit saved GFS2 metadata uncompressed. Consequence: Saved GFS2 metadata sets could take up a lot of storage space and transferring them (e.g. for support and debugging) would be slow. Change: gzip compression was added to the metadata saving and restoring functions of gfs2_edit. Result: GFS2 metadata sets are now compressed when saving and decompressed when restoring. The user can specify the compression level with a command line option.
Story Points: ---
Clone Of: 695767 Environment:
Last Closed: 2011-12-06 14:51:52 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 695767    
Bug Blocks: 695824, 702296    
Attachments:
Description Flags
Additional patch for RHEL6
none
Test results from /CoreOS/gfs2-utils/Sanity/bz695767-savemeta-compression-test none

Description Andrew Price 2011-05-05 10:28:45 UTC
+++ This bug was initially created as a clone of Bug #695767 +++

(Bob's idea)

1) "gfs2_edit savemeta" should compress metadata.
2) "gfs2_edit restoremeta" should decompress the metadata if it recognises the file as being compressed

Things to decide:
a) Preference of bzip2, gzip, or other for compression?
b) --nozip flag to turn off the feature and just save the metadata as before?

--- Additional comment from anprice on 2011-04-13 09:23:23 EDT ---

Created attachment 491757 [details]
First attempt

Attaching a first attempt patch. The usually restoremeta warnings apply.

--- Additional comment from anprice on 2011-04-14 12:29:24 EDT ---

Created attachment 492167 [details]
Second attempt

This patch adds a -nocompress option, abstracts away the calls to write/gzwrite, and adds more documentation. It also uses compression level 5 instead of the default 6 as it seems to speed up the compression significantly with very little effect on the compressed file size (for my small test cases at least).

--- Additional comment from anprice on 2011-05-04 14:02:14 EDT ---

Created attachment 496861 [details]
Third attempt

This revision of the patch replaces the -nocompress option with the -z <0-9> option and removes the unnecessary strdup() mentioned on the mailing list.

--- Additional comment from anprice on 2011-05-05 05:50:20 EDT ---

Third patch is now in gfs2_utils.git master

Comment 1 Sayan Saha 2011-05-26 13:25:34 UTC
pm_ack granted for RHEL 6.2 inclusion.

Comment 3 Andrew Price 2011-06-13 16:33:49 UTC
Patch is now in the RHEL6 branch of cluster.git, ref: 103de0c93a208ae96b9771b8d7410e0537af9327

Comment 4 Nate Straz 2011-06-14 14:49:45 UTC
Since this is a FutureFeature, development needs to show some functional test results.  Please show option is available in gfs2-utils-3.0.12.1-2.el6 and is working as expected.

https://wiki.test.redhat.com/ClusterStorage/WhyNeedDevTestResults

Comment 5 Andrew Price 2011-06-15 13:25:52 UTC
Created attachment 504874 [details]
Additional patch for RHEL6

Further testing threw up a problem with the older zlib version in RHEL6. This additional patch makes my tests pass and is now in the RHEL6 branch of cluster.git, so setting back to POST.

Comment 6 Andrew Price 2011-06-16 10:18:22 UTC
The above patch is now in build cluster-3.0.12.1-3.el6

Comment 7 Andrew Price 2011-06-16 10:56:14 UTC
Created attachment 505016 [details]
Test results from /CoreOS/gfs2-utils/Sanity/bz695767-savemeta-compression-test

Comment 10 Nate Straz 2011-07-29 20:07:25 UTC
Verified against gfs2-utils-3.0.12.1-7.el6.x86_64

Comment 11 Andrew Price 2011-10-27 11:45:24 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
Cause:
Previous versions of gfs2_edit saved GFS2 metadata uncompressed.
Consequence:
Saved GFS2 metadata sets could take up a lot of storage space and transferring them (e.g. for support and debugging) would be slow.
Change:
gzip compression was added to the metadata saving and restoring functions of gfs2_edit.
Result:
GFS2 metadata sets are now compressed when saving and decompressed when restoring. The user can specify the compression level with a command line option.

Comment 12 errata-xmlrpc 2011-12-06 14:51:52 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2011-1516.html