File: CHANGES

package info (click to toggle)
python-btrfs 11-2
  • links: PTS
  • area: main
  • in suites: buster
  • size: 724 kB
  • sloc: python: 4,445; makefile: 195
file content (152 lines) | stat: -rw-r--r-- 7,013 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
python-btrfs v11, Feb 28, 2019
  * Promote some useful examples to proper programs, and add a man page for
    them. Distro package maintainers can ship these in /usr/bin.
    - btrfs-usage-report
    - btrfs-balance-least-used
    - btrfs-space-calculator
    - btrfs-orphan-cleaner-progress
  * Add TEMPORARY_ITEM_KEY and PERSISTENT_ITEM_KEY, which have replaced
    BALANCE_ITEM_KEY and DEV_STATS_KEY in kernel code a while ago.
  * Various small documentation and bug fixes.

python-btrfs v10, Jan 18, 2019
  * Switch to LGPL-3.0 license.
  * Add reference documentation to all code, using sphinx autodoc. An
    online version of the result in html format is available at:
    https://python-btrfs.readthedocs.io/en/latest/btrfs.html
  * All parts of the code that are covered by reference documentation
    are now considered to be the public API of the library. Effort will
    be done to not break this API in the future.
  * The FileSystem class now provides a context manager, to help prevent
    leaking the open file descriptor used internally.
  * The mounted_filesystems function in btrfs.utils module has been
    replaced by mounted_filesystem_paths. It is the responsibility of
    the caller to create the FileSystem objects for these paths and use
    the new context manager while doing do.
  * Add the fs_usage module, containing the FsUsage class, providing
    detailed usage reporting for a filesystem. This code replaces old
    similar functions, which were incomplete and buggy.
  * Adapt munin and nagios plugins to use the new FsUsage object.
  * IOCTLs: IOC_SYNC, FIDEDUPERANGE, IOC_GET_FEATURES
  * Data structures: FreeSpaceInfo, FreeSpaceExtent, FreeSpaceBitmap.
  * Introduce ItemNotFoundError, currently only raised by the block
    group lookup function in FileSystem. It inherits from IndexError for
    backwards compatibility.
  * Many small changes to improve the object pretty printer.
  * Fixes:
    - By default the maximum amount of items generated by a single call
      to search or search_v2 would be limited to 2^32-1. Fix this, so
      it's unlimited. The search functions return an iterator and call
      the search ioctl of the linux kernel multiple times internally.
  * Examples added:
    - A new show_usage, which shows information from the new usage
      reporting.
    - space_calculator: Offline usable space calculator, based on disk
      sizes and profiles provided on the command line.
    - file_dedupe_range: Example about using the deduplication ioctl.

python-btrfs v9.1, Okt 22, 2018
  * Fix compatibility with Python 3.7, which breaks the struct module API.
  * Change the bad free space fragmentation example to use a minimal score to
    filter output. The default value (250) now causes only displaying block
    groups that look really suspicious.

python-btrfs v9, Nov 23 2017
  * IOCTLs: IOC_SET_RECEIVED_SUBVOL, IOC_LOGICAL_INO_V2
  * Add crc32c checksum function for data, thanks Nikolay Borisov
  * Recognize zstd compression type
  * Add a tree object pretty printer to dump data for any tree item
  * Examples added:
    - Show default subvolume id
    - Lookup a block checksum in the checksum tree
    - Determine bad free space fragmentation score for block groups
    - Set the received_uuid e.a. of a subvolume
    - Dump an entire metadata tree using the pretty printer
  * Fixes:
    - crc32c: add implicit seed truncation to 32 bits value
  * Small fixes and cosmetic changes

python-btrfs v8, Jul 18 2017
  * Easier handling of multiple appended data structures of the dir item and
    inode ref families. (not backwards compatible!)
  * Don't keep metadata page transid value when retrieving a BlockGroupItem.
    This was introduced in v4, but it's not technically correct.
  * Improve architecture dependent ioctl number handling.
  * Examples added:
    - Do a custom sorted btrfs balance, working from the least used block
      group to the most used, stopping at some usage value.
    - Calculate an inode extref hash from an inode number and file name.
  * Fixes:
    - Another unfortunate typo in __str__ methods of an object

python-btrfs v7, May 28 2017
  * Also unpack bitmaps when showing the free space tree
  * Fixes:
    - A few unfortunate typos in __str__ methods of objects
  * Examples added:
    - Show background subvolume removal progress.
    - Show metadata tree sizes in bytes and amount of tree blocks.
    - Show file info by tree and inode number

python-btrfs v6, Mar 24 2017
  * Only Python 3 supported from now on
  * IOCTLs: INO_LOOKUP, LOGICAL_INO, TREE_SEARCH_V2, IOC_BALANCE_V2,
    IOC_BALANCE_CTL, BALANCE_PROGRESS
  * Data structures: InodeRef, DirItem, DirIndex, XAttrItem,
    FileExtentItem, InodeExtref
  * Add a helper to retrieve free space tree extents
  * Check device error counters in the nagios plugin
  * Fixes:
    - Not loading backreferences for extents was broken
    - Handle IOCTL differences for different architectures
  * Examples added:
    - Show directory contents (both the index and namehash list)
    - Try to show a filename for data extents
    - Show file information (inode, xattrs, etc, and list of extents)
    - Show subvolumes

python-btrfs v5, Jan 14 2017
  * Revamp and fix loading of extent backreferences.
  * Explode when detecting a non x86_64 arch.
  * Add a crc32c implementation and example script to create
    a dir_item offset hash.

python-btrfs v4, Dec 18 2016
  * Bump/inverse versioning, there will never be a v1.0, just keep
    developing and releasing. \:D/
  * IOCTLs: LOGICAL_INO
  * New datastructures: InodeItem, RootItem, DiskKey, TimeSpec
  * Add all constants to pretty print tree keys
  * Behaviour change: don't load extent refs by default
  * Keep transid value when retrieving a BlockGroupItem
  * Known issue:
    - SHARED_BLOCK_REF and TREE_BLOCK_REF are missing in extent refs

python-btrfs 0.3, Nov 15 2016
  * Showing the contents of metadata block groups
  * Renamed datastructures: DevItem, BlockGroupItem, ExtentItem
  * New datastructures: TreeBlockInfo, MetaDataItem, TreeBlockRef,
    SharedBlockRef, DevStats
  * IOCTLs: IOC_GET_DEV_STATS
  * Fixes:
    - Python 3 compatibility, again

python-btrfs 0.2, Jun 28 2016
  * Datastructures: DevExtent
  * Python 3 compatibility
  * Utils: lookup total filesystem usage (incl. unallocatable space)
  * Example nagios nrpe monitoring plugin
  * Fixes:
    - Optimize block group search

python-btrfs 0.1, Jun 21 2016
  * IOCTLs: IOC_SPACE_INFO, IOC_TREE_SEARCH, IOC_FS_INFO, IOC_DEV_INFO
  * Datastructures: Device (dev_item), Chunk, Stripe, BlockGroup,
    Extent, ExtentDataRef, SharedDataRef
  * btrfs.FileSystem main entry point for usage
  * Handing of the search Key (objectid, type, offset)
  * Utils: pretty printing amounts of bytes and block group /
    chunk types and profiles (like, MetaData, RAID1 etc...),
    determine wasted (unallocatable) space for RAID0, RAID1
  * Example snippets using all functionality
  * Example munin monitoring plugin