Created attachment 467867 [details] patch to fix rindex growing and truncating problems. This patch does a couple of things. 1. It removes gfs2_ri_update_special(), since gfs2_ri_update() works correctly for all callers. 2. It calls gfs2_ri_update() if the rindex list is not uptodate, and gfs2 runs out of space growing the rindex file. This allows you to use space allocated earlier in the grow to finish the grow. 3. It keeps do_strip() from grabbing the rindex glock, if it is working on the rindex file. This allows you to truncate the rindex file.
This request was evaluated by Red Hat Product Management for inclusion in a Red Hat Enterprise Linux maintenance release. Product Management has requested further review of this request by Red Hat Engineering, for potential inclusion in a Red Hat Enterprise Linux Update release for currently deployed products. This request is not yet committed for inclusion in an Update release.
in kernel-2.6.18-243.el5 You can download this test kernel (or newer) from http://people.redhat.com/jwilson/el5 Detailed testing feedback is always welcomed.
Verified against kernel-2.6.18-261.el5 and gfs2-utils-0.1.62-30.el5.
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on therefore solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHSA-2011-1065.html
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: When GFS2 grew the file system, it never reread the rindex file during the grow. This is necessary for large grows when the file system is almost full, and GFS2 needs to use some of the space allocated earlier in the grow to complete it. Now, if GFS2 fails to reserve the necessary space and the rindex data is not up-to-date, it rereads it, fixing this bug.