Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/volsrv/volume.c

    r0a201454 r63c1dd5  
    367367        if (refcount_down(&volume->refcnt)) {
    368368                /* No more references. Check if volume is persistent. */
    369                 list_remove(&volume->lvolumes);
    370                 vol_volume_delete(volume);
     369                if (!vol_volume_is_persist(volume)) {
     370                        list_remove(&volume->lvolumes);
     371                        vol_volume_delete(volume);
     372                }
    371373        }
    372374}
     
    397399                /* Volume is now persistent */
    398400                if (volume->nvolume == NULL) {
    399                         /* Prevent volume from being freed */
    400                         refcount_up(&volume->refcnt);
    401 
    402401                        /* Create volume node */
    403402                        rc = sif_trans_begin(volume->volumes->repo, &trans);
     
    427426                        volume->nvolume = nvolume;
    428427                } else {
    429                         /* Allow volume to be freed */
    430                         vol_volume_del_ref(volume);
    431 
    432428                        /* Update volume node */
    433429                        rc = sif_trans_begin(volume->volumes->repo, &trans);
Note: See TracChangeset for help on using the changeset viewer.