[LIBFSIMAGE] Don't leak FDs or RAM when closing filesystems
authorTim Deegan <Tim.Deegan@xensource.com>
Fri, 10 Nov 2006 12:27:56 +0000 (12:27 +0000)
committerTim Deegan <Tim.Deegan@xensource.com>
Fri, 10 Nov 2006 12:27:56 +0000 (12:27 +0000)
Signed-off-by: Tim Deegan <Tim.Deegan@xensource.com>
tools/libfsimage/common/fsimage.c
tools/libfsimage/common/fsimage_grub.c

index f77d73b815e31f1f41dc8eb0caa8486ed69317fd..a326fd7644301f302ed96d71c0743cb0b795204b 100644 (file)
@@ -72,6 +72,8 @@ fail:
 void fsi_close_fsimage(fsi_t *fsi)
 {
        pthread_mutex_lock(&fsi_lock);
+        fsi->f_plugin->fp_ops->fpo_umount(fsi);
+        (void) close(fsi->f_fd);
        fsip_fs_free(fsi);
        pthread_mutex_unlock(&fsi_lock);
 }
index 6f3f290634729bc1b913cb4f14e36b21cb369028..f8c38393286098da9a47ae5adaa157c688388a6d 100644 (file)
@@ -193,7 +193,6 @@ fsig_mount(fsi_t *fsi, const char *path)
 static int
 fsig_umount(fsi_t *fsi)
 {
-       fsip_fs_free(fsi);
        return (0);
 }