On 11/26/2010 11:20 AM, Eric Bollengier wrote: > Le vendredi 26 novembre 2010 17:01:17, Dan Langille a écrit : >> 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() (it's a good idea to change the callback >>> name to something less specific). >> >> Ugh. It appears to be a dead end. jcr->mig_jcr has no value in >> job_code_callback_filesetname(), thus, we can't grab the right Volume name. > > It's a bit strange, this function is called during runscript, so if you don't > have it during this step, you won't have it in edit_job_code neither.
I decided to add some debugging code to runscript. I failed: runscript.c: In member function 'bool RUNSCRIPT::run(JCR*, const char*)': runscript.c:237: error: 'class JCR' has no member named 'mig_jcr' I think this is because of the location of mig_jcr within the #ifdef inside jcr.h Eric: if you're online today, say IRC, please find me (dvl) on one of FreeNode, OFTC, EFNET, or Undernet. Thanks. -- 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