On Wed, Jul 3, 2013 at 2:25 PM, Miao Xie <mi...@cn.fujitsu.com> wrote: > > +++ b/disk-io.c > @@ -1270,12 +1270,13 @@ static int close_all_devices(struct btrfs_fs_info > *fs_info) > while (!list_empty(list)) { > device = list_entry(list->next, struct btrfs_device, > dev_list); > list_del_init(&device->dev_list); > - if (device->fd) { > + if (device->fd != -1) { > fsync(device->fd); > if (posix_fadvise(device->fd, 0, 0, > POSIX_FADV_DONTNEED)) > fprintf(stderr, "Warning, could not drop > caches\n"); > + close(device->fd); > + device->fd = -1; > } > - close(device->fd); > kfree(device->name); > kfree(device->label); > kfree(device);
I deal with this part too at https://patchwork.kernel.org/patch/2787291/ Is there any reason to set device->fd to -1 if we just kfree(device) shortly after? thanks -- Filipe David Manana, "Reasonable men adapt themselves to the world. Unreasonable men adapt the world to themselves. That's why all progress depends on unreasonable men." -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html