Commit Graph

20 Commits

Author SHA1 Message Date
Faruk Kasumovic 039b070d1a - Prevent double-free failure when the same dataset is closed multiple times
In some cases, copying dataset object, either by passing by value or in
some other pattern can lead to code that will close the same dataset
multiple times (e.g. defer). Or otherwise, code with complicated
handling of dataset cleanup.
Fixes: #30, Closes: #31
2020-09-09 10:22:37 +02:00
Didier Roche ee9aac43ac Fix dataset to have to correct type
The parent type was used before if the dataset was opened via
openChildren().
2020-08-18 16:10:40 +02:00
Faruk Kasumovic e24c488fee - Fix: Concurrent access to properties even for a different pools still cause crash
Prevent concurrent access to all properties with global mutex
2020-02-12 09:38:44 +01:00
Faruk Kasumovic 7c7ef79611 - Fix mount point property race condition causing segmentation fault failures 2020-02-10 13:35:58 +01:00
Asmir Selimovic c0a3acfc99 - Return after failing in SetProperty (#21) 2020-01-17 10:14:05 +01:00
Didier Roche f0994c77ba Force refreshing property on C side when ReloadProperties() (#24) 2019-12-18 09:25:03 +01:00
Faruk Kasumovic 57e42e824f DestroyPromote - recursive destroy dataset, but don’t destroy any dependent clones, promote them first
- Clones get list of clones (paths) made from given dataset or snapshot
 - Get list of snapshots
 - Find snapshot (search for snapshot by name in children list)
 - IsSnapshot change signature (for simplification, hope it wan’t break lot of code)
2018-12-17 14:01:59 +01:00
Faruk Kasumovic 6d3c5e3bd4 Prevent race condition on zfs-linux internal implementation of access to mnttab 2018-11-09 16:08:20 +01:00
Faruk Kasumovic 0d2d2cf113 Functions to set hold, release and list user references on snapshots 2018-11-02 11:15:55 +01:00
Faruk Kasumovic a7726113d4 - Bug fixes for send recv, and mount 2017-08-04 13:12:41 +02:00
Faruk Kasumovic 1b47551b87 - ZFS send/receive 2017-06-15 14:12:39 +02:00
Faruk Kasumovic 8fd0833477 - Fix issue not building on go 1.8 , and some more improvements 2017-06-02 08:42:14 +02:00
Faruk Kasumovic 89e00d6218 - Implement dataset/volume clone promote function 2017-03-17 14:22:17 +01:00
Faruk Kasumovic 07270bcff8 - Improved pointer handling between go and C and elimination of associated memory leaks and potential corruptions 2017-02-23 11:29:17 +01:00
Faruk Kasumovic fe36016d7e - Set and get user property 2017-01-16 14:12:28 +01:00
Faruk Kasumovic a6fba76e81 - Fix remaining cgo CString memory leaks 2016-07-26 21:43:56 +02:00
Faruk Kasumovic bc19737222 - Changes to make library interface more clear and to better suit go package standards 2015-12-04 23:05:19 +01:00
Faruk Kasumovic c1288a9a2e - Improvements on properties, state and status handling of pool and dataset 2015-06-09 14:26:35 +02:00
Faruk Kasumovic 65eb260be4 - Make dataset destroy returns meaningful error if dataset contains children
- Implementation of recursive dataset destroy DestroyRecursive()
2015-06-03 23:39:46 +02:00
Faruk Kasumovic cf7673fe41 - Starting from here, already useful initial implementation :-) 2015-04-19 23:26:54 +02:00