On 11/26/2010 2:41 AM, Eric Bollengier wrote:
> Hello Dan,
>
>
> On Friday 26 November 2010 04:53:52 Dan Langille wrote:
>> Background: A copy/migrate job has at least two Volumes:
>>
>>    * the Volume[s] for the original Job (at least one)
>>    * the Volume[s] for the new Job (i.e. Copy/Migrate) (at least one)
>>
>> My problem: When a copy/migrate job includes a RunAfterScript, the %v
>> parameter passed into the script is *always* the source Volume; the
>> destination Volume cannot be passed in.  This means the script cannot
>> know the destination volume, which is something I want.[1]
>>
>> Proposal: add a %V (capital V) option to edit_job_codes in lib/util.c
>
> I agree, this is a nice addition.
>
>> Issue: The volume name we need is contained in mig_jcr, which is created
>> within migration_cleanup().  I know this based upon the job output (see
>> below)[2][3]
>>
>> My initial attempt failed.  See the attached patches.  The problem I
>> encountered may not be related to the patch.  The tape was having a seek
>> problem (which has since gone away after switching to a new tape and
>> restarting the tape library).  If the feedback here indicates I should
>> try again, I will.  I first want to ensure I'm not taking the wrong
>> approach.
>
> We have a callback mechanism that permits to add per daemon job code
> variables, so instead of modifying the edit_job_code(), you can add specific
> variables to the Director in dird_conf.c job_code_callback_filesetname()

I found the function.  Should I be adding another if statement, such as:

    /* add in the migration/copy job's destintation Volume name for %V */
    if (param[0] == 'V') {
       return jcr->fileset->name();
    } else {
       return NULL;
    }

NOTE: this doesn't return the Volume name; I'm just using it as a simple 
test case.  I copy/pasted/modified an existing if statement.

I ask, because that fails.  I get:

shell command: run AfterJob "/home/dan/bin/dlt-stats-kraken Incremental %V"

Which makes me think I'm doing it wrong.


> (it's a good idea to change the callback name to something less specific).

Do you mean job_code_callback_filesetname() becomes 
job_code_callback_subtitutions(), for example?

> Can you also provide the documentation associated with this change? (few lines
> for the newfeature section and runscript part)

Yes.  I also want to reorganize the copy/migrate documentation based on 
what I've recently learned from using this feature.

-- 
Dan Langille - http://langille.org/

------------------------------------------------------------------------------
Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
Tap into the largest installed PC base & get more eyes on your game by
optimizing for Intel(R) Graphics Technology. Get started today with the
Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
http://p.sf.net/sfu/intelisp-dev2dev
_______________________________________________
Bacula-devel mailing list
Bacula-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-devel

Reply via email to