Description of problem: In GFS, you could use the gfs_tool command to set the inherit_directio flag on a directory (so that all newly-created files in that directory would have the directio flag set). The gfs2_tool does not have this feature. Has this ability moved to the chattr command? (That is, can you set this flag on a directory with chattr?) Dean Jansa helped me look at this and we weren't able to set this flag. I don't know if the feature is not there or if the feature is not documented. (This came up because the gfs manual describes three ways to set the direct I/O flag: with an OPEN system call, with the directio flag in gfs_tool, and, on a directory level, with the inherit_directio flag in gfs_tool. For the GFS2 manual, I'm removing the subsection about doing this on a directory level until I can find out how to do this in GFS2.) Version-Release number of selected component (if applicable): How reproducible: Steps to Reproduce: 1. 2. 3. Actual results: Expected results: Additional info:
You ought to be able to just set the directIO flag using chattr in order to turn this feature on. On the other hand, the directIO flag is more or less useless and I've no idea why we continue to support it, so maybe its not a bad idea to get rid of it at this stage.
This feature was originally added to force certain DB's to use DIRECT IO. This no longer needs to be forced and this feature of GFS1 does not need to be support on GFS2. Note: Trying to force DIRECTIO still requires the application to be block aligned, which it likely won't be. It's much better for the app to initiate DIRECTIO at open and be aware of the block alignment requirement.
So the work for this is to ensure that the GFS2 doc does not include instructions on how to force DIO w/ the inherit. Re-assigning to doc.
Created attachment 241921 [details] Patch to remove the directio flag We probably need to clone this for the GFS2-kernel so that we can actually remove the support for this feature which we've agreed is no longer needed and has never been used in GFS2.
We also need to remove the directio flag from the gfs2_tool man page, which is probably what Steven was getting at to begin with. So now we have the potential for changes to three components, each of which should have its own bugzilla record: (1) Doc. (Steven Levine) (2) GFS2 kernel (Steve Whitehouse) (3) gfs2_tool man page (Bob Peterson) It could be argued that we should take these options out of gfs(1) as well. For now, given our workload, I'm in favor of leaving this all in gfs(1). We don't care about the ioctls and such there, since gfs(1) isn't upstream.
Moving Status to 'Assigned'
Looks like this has stalled, but its easy to do. Needs the patch posting upstream & to rhkernel-list. Also needs the docs doing. All items can be done in parallel I think. ACKs please.
I have opened a new bug -- bug 454659 -- to separate out the documentation component of this bug. Currently the GFS2 manual exists only in draft form -- it has not been released -- and I will remove the references to directio support before the final version (for RHEL 5.3). I have assigned the new bug to myself. So this bug should now apply only to the GFS2 kernel and the gfs2_tool man page, but not the GFS2 document. I have also reassigned this bug to Steve Whitehouse so that he can close the bug when the patch and the man page are in place.
Patch pushed upstream
Moving to 5.4 - no compelling reason to get it into 5.3 and we would like to limit code change at this point.
I'm closing this bug CURRENTRELEASE because the issues are all resolved in RHEL5.3. The doc issue was resolved by Steven Levine in bug #454659. The GFS2 kernel issue was resolved by Steve Whitehouse. The gfs2_tool man page issue was resolved by Abhi Das as part of bug #441636.