|
| 1 | +nilfs-utils-2.3.0 Sun Jan 25, 2026 JST |
| 2 | + |
| 3 | + * New Features: |
| 4 | + - Support file/directory arguments for utilities (lscp, lssu, |
| 5 | + nilfs-clean, etc.) to automatically resolve backing devices. |
| 6 | + - nilfs-clean: Automatically adjust GC speed by default, eliminating |
| 7 | + manual tuning. |
| 8 | + |
| 9 | + * GC Daemon (cleanerd) Improvements: |
| 10 | + - Cap segments per cleaning step by available free segments to |
| 11 | + prevent stalling when free space is running out. Also, cap |
| 12 | + the number of segments per cleaning step to prevent theoretical |
| 13 | + size_t overflow on 32-bit systems. |
| 14 | + - Improve signal handling (exit cleanly on SIGINT, ignore SIGUSR2). |
| 15 | + - Add state dump feature (SIGUSR1). |
| 16 | + |
| 17 | + * Build System Updates: |
| 18 | + - Support generating pkg-config information for shared libraries. |
| 19 | + - Support pkg-config for finding dependencies (libuuid, libmount, |
| 20 | + libblkid, libselinux). |
| 21 | + - Do not install static libraries by default. |
| 22 | + - Gather system programs directly below sbin source directory. |
| 23 | + |
| 24 | + * Library Refactoring and API Changes: |
| 25 | + - Reorganize APIs in libnilfs and libnilfsgc: |
| 26 | + - Add/update APIs for segment I/O, resize, and freeze/thaw. |
| 27 | + - Unify type definitions (use standard uint32_t/uint64_t). |
| 28 | + - Remove obsolete APIs and internal structures from public headers. |
| 29 | + |
| 30 | + * Other Utilities Updates: |
| 31 | + - mkfs.nilfs2: Set "block_count read-only compat" flag by default. |
| 32 | + - Align help message output and exit codes with standard conventions |
| 33 | + (e.g. nilfs-tune). |
| 34 | + - nilfs-resize: Use new library API for layout information. |
| 35 | + |
| 36 | + * Miscellaneous: |
| 37 | + - Refactor type definitions (use uint64_t/uint32_t/bool/size_t) for |
| 38 | + safety and consistency. |
| 39 | + - Adapt to Sparse code checking (fix endian macros, etc.). |
| 40 | + - Massive code cleanups and coding style fixes. |
| 41 | + |
| 42 | + * Note: Although the development tree diverged from v2.2.5, updates |
| 43 | + in the v2.2.y stable branch are backports derived from the master |
| 44 | + branch. Consequently, this release incorporates all fixes and |
| 45 | + improvements listed below from nilfs-utils-2.2.6 through |
| 46 | + nilfs-utils-2.2.16. |
| 47 | + |
| 48 | +nilfs-utils-2.2.16 Sun Jan 25, 2026 JST |
| 49 | + |
| 50 | + * Fix a build issue on distributions with fully merged bin/sbin: |
| 51 | + - build: avoid overwriting binaries with compat symlinks on |
| 52 | + merged-/usr (e.g., Fedora Rawhide) |
| 53 | + * Backport some kernel-doc warning fixes |
| 54 | + |
| 55 | +nilfs-utils-2.2.15 Wed Jan 21, 2026 JST |
| 56 | + |
| 57 | + * Fix a regression introduced in nilfs-utils-2.2.12: |
| 58 | + - chcp: fix inverted logic in argument parsing |
| 59 | + * Backport miscellaneous fixes: |
| 60 | + - libparser: reject negative values in |
| 61 | + nilfs_parse_protection_period() |
| 62 | + - mkfs.nilfs2: remove stray debug print |
| 63 | + * Backport manual page updates: |
| 64 | + - man: fix typos, grammatical errors and style |
| 65 | + - man: update examples in nilfs.8 |
| 66 | + |
| 67 | +nilfs-utils-2.2.14 Sat Jan 17, 2026 JST |
| 68 | + |
| 69 | + * Fix various error handling issues in libmount-based mount/umount |
| 70 | + helpers: |
| 71 | + - mount.nilfs2: fix broken overlapping rw-mount protection |
| 72 | + - mount.nilfs2: fix ignored error on remount target mismatch |
| 73 | + - umount.nilfs2: fix assertion failure when unmounting multiple |
| 74 | + targets |
| 75 | + - umount.nilfs2: fix incorrect error code handling in libmount-based |
| 76 | + umount |
| 77 | + - mount.nilfs2: fix error code handling in nilfs_do_mount_one() |
| 78 | + - mount.nilfs2: fix error return in nilfs_mount_attrs_parse() and |
| 79 | + its caller |
| 80 | + - umount.nilfs2: fix exit code accumulation and reorganize status |
| 81 | + codes |
| 82 | + - umount.nilfs2: fix broken empty string check |
| 83 | + - {mount,umount}.nilfs2: check return values of mnt_context_set_*() |
| 84 | + - mount.nilfs2: check return value of mnt_fs_set_root() |
| 85 | + * Fix a build warning for mkfs.nilfs2: |
| 86 | + - Remove unnecessary local variables in prepare_dat() |
| 87 | + * Build updates: |
| 88 | + - Ignore actmp files |
| 89 | + |
| 90 | +nilfs-utils-2.2.13 Sun Dec 28, 2025 JST |
| 91 | + |
| 92 | + * Build updates: |
| 93 | + - Support UsrMerge and Bin-Sbin merge with automatic detection |
| 94 | + - Autodetect architecture-specific library directory |
| 95 | + - Fix installation of missing header file nilfs_gc.h |
| 96 | + - Remove unused UTIL_CHECK_LIB macro |
| 97 | + - Add a few autoconf temporary artifacts to .gitignore |
| 98 | + * Fix a build warning for legacy mount helpers |
| 99 | + - mount.nilfs2: do not use security_context_t in the legacy variant |
| 100 | + * Documentation: |
| 101 | + - Modernize description regarding libmount and mtab handling |
| 102 | + - Reorganize build instructions and consolidate legacy info |
| 103 | + - Add instruction to use 'make distclean' when changing config |
| 104 | + - Update troubleshooting guide for build issues |
| 105 | + - Add installation and uninstallation instructions to README |
| 106 | + - Add a new section to explain cross-compilation and deployment |
| 107 | + - Remove inappropriate example for --libdir option |
| 108 | + - Fix some grammatical errors and inappropriate expressions |
| 109 | + |
| 110 | +nilfs-utils-2.2.12 Mon Sep 22, 2025 JST |
| 111 | + |
| 112 | + * apply a bug fix for a report that the chcp command could crash with |
| 113 | + exit code 139 if given malformed arguments: |
| 114 | + - chcp: fix segfault |
| 115 | + * fix build warnings in Autoconf 2.72 or later: |
| 116 | + - configure.ac: do not use AC_PROG_GCC_TRADITIONAL |
| 117 | + |
| 118 | +nilfs-utils-2.2.11 Wed Apr 3, 2024 JST |
| 119 | + |
| 120 | + * fix two bugs related to mount table parsing. One of these is an |
| 121 | + important one that fixes an issue where lscp and other tools would |
| 122 | + cause an error if the mount point path name contains characters |
| 123 | + such as spaces: |
| 124 | + - libnilfs: fix nilfs_open failure for mount points with escaped |
| 125 | + characters |
| 126 | + - libcleaner: fix asymmetry in mount table open/close handling |
| 127 | + |
| 128 | +nilfs-utils-2.2.10 Mon Mar 4, 2024 JST |
| 129 | + |
| 130 | + * fix bugs: |
| 131 | + - libnilfsgc, cleanerd, nilfs-resize: treat scrapped segments as |
| 132 | + unprotected |
| 133 | + - nilfs-resize: fix abnormal message output when shrinking file |
| 134 | + system |
| 135 | + - nilfs-resize: fix abnormal minimum size error output for sizes less |
| 136 | + than 4KiB |
| 137 | + - nilfs-resize: fix abnormal truncation when specifying size with |
| 138 | + fraction |
| 139 | + - lib/sb.c: fix super block read failure from disk image file |
| 140 | + - nilfs-tune: add missing -f option in help message |
| 141 | + - nilfs-tune: fix the exit code when mount is detected |
| 142 | + - nilfs-tune: fix usage of wrong endian conversion macro |
| 143 | + - umount_libmount: fix error messages |
| 144 | + - libnilfs: fix error code when nilfs_open failed to find nilfs |
| 145 | + - libnilfs: nilfs_open: identify the mount point device |
| 146 | + - libnilfs: nilfs_open: use last matched mount |
| 147 | + - nilfs-{clean,resize}: fix duplicate option error output |
| 148 | + - bin/*: correct error message for invalid long option specification |
| 149 | + * fix perl errors of the checkpatch script: |
| 150 | + - checkpatch: fix perl errors due to unescaped left braces in regex |
| 151 | + * improve cleanerd state management in the libmount version of the |
| 152 | + mount program: |
| 153 | + - mount_libmount: fix umount failure after remount |
| 154 | + * improve nilfs-resize command to shrink filesystem even when there are |
| 155 | + only active segments: |
| 156 | + - nilfs-resize: force file system update in active segment only |
| 157 | + situation |
| 158 | + - nilfs-resize: allow active segment search function to return block |
| 159 | + count |
| 160 | + - libnilfs: add functions to get pathname or FD of mount point |
| 161 | + directory |
| 162 | + * mkfs.nilfs2: do not create obsolete .nilfs file |
| 163 | + * make installation of kernel uapi header files optional: |
| 164 | + - Move the kernel uapi header file to "linux" subdirectory |
| 165 | + - Make installation of kernel uapi header files optional |
| 166 | + * improve the mount checks in disk image file mount via loop devices |
| 167 | + - libmountchk: determine if image file is mounted via a loop device |
| 168 | + - mkfs.nilfs2: use libmountchk to check the mount status of target |
| 169 | + device |
| 170 | + * improve message output: |
| 171 | + - nilfs-resize: output the minimum device size in insufficient free |
| 172 | + space message |
| 173 | + - nilfs-resize: switch singular/plural forms of "segment" in message |
| 174 | + text |
| 175 | + - nilfs-resize: make the progress bar more accurate |
| 176 | + - nilfs-resize: rename function nilfs_resize_inuse_segments() |
| 177 | + - mkfs.nilfs2, nilfs-resize, nilfs-tune: output error cause when open |
| 178 | + fails |
| 179 | + - nilfs-tune: do not display version information by default |
| 180 | + * backport some changes to bring the API (ioctl) and disk format |
| 181 | + header files up to date: |
| 182 | + - nilfs-utils: import uapi headers nilfs2_api.h and nilfs2_ondisk.h |
| 183 | + - nilfs2: do not use unexported cpu_to_le32()/le32_to_cpu() in uapi |
| 184 | + header |
| 185 | + * backport patches that bug fixes etc. depend on: |
| 186 | + - util.h: add likely()/unlikely() macros |
| 187 | + - nilfs-utils: use unlikely()/likely() macros |
| 188 | + - nilfs2_fs.h: move nilfs_rec_len_{from,to}_disk() to mkfs.h |
| 189 | + - nilfs.h: move BUG() macro to util.h |
| 190 | + - compat.h: gather definition of FIFREEZE and FITHAW |
| 191 | + - compat.h: include the compatible definition for PATH_MAX |
| 192 | + - compat.h: ensure to declare major() and minor() macros |
| 193 | + - mount_libmount: generalize mount entry search function |
| 194 | + - nilfs-resize: add kernel-doc style comments to major functions |
| 195 | + - nilfs-resize: add and apply error message macros |
| 196 | + - nilfs-resize: add macro to print message when in verbose mode |
| 197 | + * clean up some early definitions from nilfs.h that are undesirable |
| 198 | + as being in a shared file: |
| 199 | + - nilfs.h: move byte order conversion macros to compat.h |
| 200 | + - nilfs.h: eliminate sector_t and nilfs_blkoff_t |
| 201 | + * update README file: |
| 202 | + - README: describe an example of separating libraries into a |
| 203 | + subdirectory |
| 204 | + |
| 205 | +nilfs-utils-2.2.9 Mon Jun 20, 2022 JST |
| 206 | + |
| 207 | + * {mount,umount}.nilfs2: use libmount by default |
| 208 | + * fix build warnings in Autoconf 2.70 or later: |
| 209 | + - configure.ac: use AC_CONFIG_HEADERS instead of AC_CONFIG_HEADER |
| 210 | + - configure.ac: remove AC_PROG_CC_C99 macro |
| 211 | + - configure.ac: use AC_USE_SYSTEM_EXTENSIONS instead of AC_GNU_SOURCE |
| 212 | + - configure.ac: use LT_INIT instead of AC_PROG_LIBTOOL |
| 213 | + - configure.ac: remove obsolete AC_HEADER_STDC marco |
| 214 | + - configure.ac: remove obsolete AC_HEADER_TIME marco |
| 215 | + - do not use AC_TYPE_SIGNAL and RETSIGTYPE |
| 216 | + * fix gcc8 -Wstringop-truncation warnings: |
| 217 | + - mkfs, nilfs-tune: fix gcc8 warnings for volume name buffers |
| 218 | + - nilfs-tune: fix gcc8 warnings at user_string() and group_string() |
| 219 | + * update documents: |
| 220 | + - README: update git repository url |
| 221 | + - README: alter URLs referenced in the developer notes |
| 222 | + - README: remedy a note about dependency on the selinux library |
| 223 | + |
| 224 | +nilfs-utils-2.2.8 Tue Aug 20, 2019 JST |
| 225 | + |
| 226 | + * fix some build issues: |
| 227 | + - use _POSIX_MAX_INPUT |
| 228 | + - mount.nilfs: drop include rpc/types.h |
| 229 | + - libmount, libblkid: fix order of autoconf probing |
| 230 | + - mkfs.nilfs2: fix library order of libuuid |
| 231 | + * fix bugs: |
| 232 | + - mkfs.nilfs2: fix underflow in calculation of minimum number of |
| 233 | + segments |
| 234 | + - mkfs.nilfs2: fix wrong suggestion of minimum device size |
| 235 | + * update maintainer's email address |
| 236 | + |
| 237 | +nilfs-utils-2.2.7 Sun Nov 5, 2017 JST |
| 238 | + |
| 239 | + * Fix conflicting data buffer error; this fixes a cleanerd crash |
| 240 | + issue in some high loads that leads the file system to a disk |
| 241 | + full. |
| 242 | + |
| 243 | +nilfs-utils-2.2.6 Mon Oct 10, 2016 JST |
| 244 | + |
| 245 | + * dumpseg: fix misuse of endian conversion macro for ss_nblocks |
| 246 | + * libnilfs: fix potential memory access overrun at |
| 247 | + nilfs_psegment_is_valid() |
| 248 | + * libnilfs: fix potential underflow at nilfs_psegment_is_end() |
| 249 | + * libnilfs: fix potential underflow of p_maxblocks at |
| 250 | + nilfs_psegment_init() |
| 251 | + * libnilfs: add missing errno setting at nilfs_sb_write() |
| 252 | + * libnilfs: add sanity check on segment summary header size |
| 253 | + * libnilfs: check range of finfo and binfos before reading them |
| 254 | + * libnilfs: add sanity check for block counts in finfo |
| 255 | + * libnilfs: get rid of HAVE_MUNMAP |
| 256 | + * ChangeLog: fix typos |
| 257 | + |
1 | 258 | nilfs-utils-2.2.5 Sun Sep 4, 2016 JST |
2 | 259 |
|
3 | 260 | * fix the problem that checkpoints and blocks with a future timestamp |
|
0 commit comments