Bug 236099

Summary: Merge transactions during createi (open) on gfs2
Product: [Fedora] Fedora Reporter: Steve Whitehouse <swhiteho>
Component: GFS-kernelAssignee: Steve Whitehouse <swhiteho>
Status: ASSIGNED --- QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: bashton
Target Milestone: ---Keywords: FutureFeature
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 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: 242066    
Bug Blocks: 338651    
Attachments:
Description Flags
GFS2: combine functions alloc_dinode and make_dinode none

Description Steve Whitehouse 2007-04-11 22:09:50 UTC
Creating a file on gfs2 is broken down into several transactions, at least some
of which should be merged for greater performance.

In addition, it should also be possible to reduce the number of directory
lookups which are required further improving the situation.

Comment 1 Steve Whitehouse 2011-05-10 17:38:21 UTC
Due to recent updated to the upstream code, this task is becoming easier. The ACL/xattr updates were a first part of this, and the currently pending changes to eliminate ops_inode.c are another step towards this goal.

Comment 2 Steve Whitehouse 2011-05-16 10:43:43 UTC
As of today, another set of patches have gone into the -nmw git tree which clean up the inode creation code. We are another step closer to this goal now that it is possible to see the wood for the trees in this area.

Comment 3 Robert Peterson 2012-05-30 19:45:51 UTC
Created attachment 587836 [details]
GFS2: combine functions alloc_dinode and make_dinode

This experimental RHEL6 patch combines two of the transactions by
combining functions alloc_dinode and make_dinode. Getting the
lock ordering was quite tricky. The good news is that it passed
the SAS calibration workload, which is a brutal workout. The bad
news is that it didn't seem to improve GFS2 performance noticeably.
So I don't know if we want to pursue this or not.

Comment 4 Steve Whitehouse 2012-10-31 11:54:16 UTC
An initial patch for this has been posted to cluster-devel today. There is still further work to do, but the initial patch has resolved the ordering issue between creation on the incore inode and the other processes required, so that this should now become much easier to do.