+/* Modify the Pool in which this Volume is located */
+static void update_volpool(UAContext *ua, char *val, MEDIA_DBR *mr)
+{
+ POOL_DBR pr;
+ POOLMEM *query;
+
+ memset(&pr, 0, sizeof(pr));
+ bstrncpy(pr.Name, val, sizeof(pr.Name));
+ if (!get_pool_dbr(ua, &pr)) {
+ return;
+ }
+ mr->PoolId = pr.PoolId; /* set new PoolId */
+ /*
+ */
+ query = get_pool_memory(PM_MESSAGE);
+ db_lock(ua->db);
+ Mmsg(&query, "UPDATE Media SET PoolId=%d WHERE MediaId=%u",
+ mr->PoolId, mr->MediaId);
+ if (!db_sql_query(ua->db, query, NULL, NULL)) {
+ bsendmsg(ua, "%s", db_strerror(ua->db));
+ } else {
+ bsendmsg(ua, _("New Pool is: %s\n"), pr.Name);
+ }
+ db_make_inchanger_unique(ua->jcr, ua->db, mr);
+ db_unlock(ua->db);
+ free_pool_memory(query);
+}
+
+static void update_volfrompool(UAContext *ua, MEDIA_DBR *mr)
+{
+ POOL_DBR pr;
+ char VolStatus[50];
+
+ memset(&pr, 0, sizeof(pr));
+ pr.PoolId = mr->PoolId;
+ if (!get_pool_dbr(ua, &pr)) {
+ return;
+ }
+ bstrncpy(VolStatus, mr->VolStatus, sizeof(VolStatus));
+ set_pool_dbr_defaults_in_media_dbr(mr, &pr);
+ bstrncpy(mr->VolStatus, VolStatus, sizeof(mr->VolStatus));
+ if (!db_update_media_record(ua->jcr, ua->db, mr)) {
+ bsendmsg(ua, _("Error updating Volume record: ERR=%s"), db_strerror(ua->db));
+ } else {
+ bsendmsg(ua, _("Volume defaults updated from Pool record.\n"));
+ }
+}
+