Red Hat Bugzilla – Bug 235931
gfs2_edit command to set NOALLOC flag
Last modified: 2010-01-11 22:38:00 EST
+++ This bug was initially created as a clone of Bug #234168 +++
We will eventually need to add an interface which allows setting of the flags,
but for now, just making sure that the NOALLOC flag is obeyed correctly is the
priority so that its there for future use.
This should be straightforward to do in gfs2_edit, but the question is:
what's the most useful way for this to work for you? Suppose you have
a 50GB file system that contains 200 RGs. Do you want to specify a
size range? For example, something like:
gfs2_edit -rgflag NOALLOC 0G 49G /dev/vg/lv
This example would set the NOALLOC flag on for all RGs within the
range 0G to 49G. The two RGs for 49G and 50G wouldn't have the flag.
Is that what you had in mind? Or do you want to specify a specific
block range? Or RG number? RG range? RG percent?
Since it's an RG flag, I would expect to specify RG numbers or a range. That
said, is it easy to get the number of RGs?
To get the number of rg index entries (and thus RGs) you can do
something like this:
gfs2_edit -p rindex /dev/roth_vg/roth1 | grep "RG index entries found: " | cut
-d ' ' -f 5
Specifying an rg number, range of numbers or series of numbers would be
easier than trying to calculate what range those RGs cover.
Created attachment 226091 [details]
Patch to add this function
It was easier to do this in gfs2_edit rather than gfs2_tool.
Changing summary accordingly.
This should be available in the RHEL5.2 version of gfs2_edit from
gfs2-utils. It was done for RHEL5 as part of bug #369771. Since
most of the QE tests are needed for RHEL anyway (not Fedora) I'm
changing the product to RHEL5 and closing this bug as a duplicate
of 369771. BTW, the fix also appears in the HEAD and RHEL5 branches
of CVS. Here are some example commands:
gfs2_edit -p rgs /dev/sdb1
Print all the rgs for the device
gfs2_edit -p rg 17 /dev/sdb1
Print the contents of the eighteenth Resource Group on /dev/sdb1.
gfs2_edit rgflags 3 /dev/sdb1
Print the rg_flags value for the fourth Resource Group on /dev/sdb1.
gfs2_edit rgflags 3 8 /dev/sdb1
Set the GFS2_RGF_NOALLOC flag on for the fourth Resource Group.
*** This bug has been marked as a duplicate of 369771 ***