[PATCH] xfsdump: prune inventory sessions by session id
Bill Kendall
wkendall at sgi.com
Fri Feb 25 15:03:32 CST 2011
On 02/25/2011 01:27 PM, Alex Elder wrote:
> On Thu, 2011-02-24 at 10:25 -0600, Bill Kendall wrote:
>> Allow xfsinvutil to prune inventory sessions by their ID
>> instead of only by filesystem and cutoff date.
>
> This would have been a bit nicer with a little more
> explanation. I.e.:
> - You specify the session id using the new "-s<sessid>"
> command line option.
> - The "-s" option is mutually exclusive with "-u<UUID>"
> and "-M<mount_point> <mm/dd/yy>". It also cannot be
> used together with the "-i" (interactive) or "-C"
> (consistency check) options.
> - The change is implemented by adding a session id argument
> to CheckAndPruneFstab(), CheckAndPruneInvIndexFile(), and
> CheckAndPruneStObjFile(). That session becomes a third
> way of identifying entries to be pruned (in addition
> to mount point and UUID).
Feel free to amend the commit message when you check this
in. I agree that at least it should have mentioned that
this adds a new xfsinvutil -s option.
>
> Anyway, this looks good to me. I have one question
> below, but regardless of your answer...
>
> Reviewed-by: Alex Elder<aelder at sgi.com>
>
>> Signed-off-by: Bill Kendall<wkendall at sgi.com>
>>
>> ---
> . . .
>
>> diff --git a/invutil/invutil.c b/invutil/invutil.c
>> index af6836b..37489c0 100644
>> --- a/invutil/invutil.c
>> +++ b/invutil/invutil.c
>
> . . .
>
>> @@ -594,14 +648,8 @@ CheckAndPruneInvIndexFile( bool_t checkonly,
>> removeflag = BOOL_TRUE;
>> }
>>
>> - if (( !removeflag )&& (checkonly == BOOL_FALSE)&&
>> - ( invIndexEntry[i].ie_timeperiod.tp_start< prunetime))
>> - {
>> - IdxCheckOnly = BOOL_FALSE;
>> - printf(" Mount point match\n");
>> - }
>
> Why do you no longer print this in this case?
The message did not seem to serve a purpose. To reach the print
we already had to match on the mount point, and a message is
already issued for that.
As you probably noticed, the 'if' statement did not serve a
functional purpose since the prune time has to be checked for
each session anyway, and further the 'if' statement would have
to be reworked to consider whether this is a prune-by-session run.
As a side note, it's too bad that the consistency checking and
pruning is coupled together. It would be much cleaner to
implement the various pruning filters as separate functions.
Bill
>
>> - if (CheckAndPruneStObjFile(IdxCheckOnly, invIndexEntry[i].ie_filename,
>> - prunetime, r_mf_label) == -1) {
>> + if (CheckAndPruneStObjFile(checkonly, invIndexEntry[i].ie_filename,
>> + sessionp, prunetime, r_mf_label) == -1) {
>> removeflag = BOOL_TRUE; /* The StObj is gone */
>> }
>>
>
> . . .
More information about the xfs
mailing list