Red Hat Bugzilla – Bug 352501
GFS2 seems to be missing ability to flag a directory as inherit_directio
Last modified: 2010-01-11 22:40:13 EST
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):
Steps to Reproduce:
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)
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.
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