From: Kern S. <ke...@us...> - 2005-06-29 20:52:35
|
Update of /cvsroot/bacula/bacula/src/dird In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24357/src/dird Modified Files: ua_label.c Log Message: - Detect device mounted for DVD and suppress be sure to mount message after label. - Set Cleaning tape status to "Cleaning" and force no MediaType. - Get DVD writing working with new standard Bacula open() code. - Rename get_filename() to make more sense. - Detect "is already mounted on" on mount command so to avoid error if device is already mounted. - Eliminated guess_name() code. It may be necessary to add it back later. - Eliminate seg fault from printing invalid results. - Make dvd_write_part() bool. Index: ua_label.c =================================================================== RCS file: /cvsroot/bacula/bacula/src/dird/ua_label.c,v retrieving revision 1.48 retrieving revision 1.49 diff -u -d -r1.48 -r1.49 --- ua_label.c 10 Jun 2005 22:30:43 -0000 1.48 +++ ua_label.c 29 Jun 2005 20:52:22 -0000 1.49 @@ -419,10 +419,12 @@ /* Here we can get * 3001 OK mount. Device=xxx or * 3001 Mounted Volume vvvv + * 3002 Device "DVD-Writer" (/dev/hdc) is mounted. * 3906 is cannot mount non-tape * So for those, no need to print a reminder */ if (strncmp(sd->msg, "3001 ", 5) == 0 || + strncmp(sd->msg, "3002 ", 5) == 0 || strncmp(sd->msg, "3906 ", 5) == 0) { print_reminder = false; } @@ -521,11 +523,15 @@ if (is_cleaning_tape(ua, &mr, &pr)) { if (media_record_exists) { /* we update it */ mr.VolBytes = 1; + bstrncpy(mr.VolStatus, "Cleaning", sizeof(mr.VolStatus)); + mr.MediaType[0] = 0; if (!db_update_media_record(ua->jcr, ua->db, &mr)) { bsendmsg(ua, "%s", db_strerror(ua->db)); } } else { /* create the media record */ set_pool_dbr_defaults_in_media_dbr(&mr, &pr); + bstrncpy(mr.VolStatus, "Cleaning", sizeof(mr.VolStatus)); + mr.MediaType[0] = 0; if (db_create_media_record(ua->jcr, ua->db, &mr)) { bsendmsg(ua, _("Catalog record for cleaning tape \"%s\" successfully created.\n"), mr.VolumeName); |