Skip to content

Commit 4115aeb

Browse files
committed
nilfs-utils: v2.3.0 release
Signed-off-by: Ryusuke Konishi <konishi.ryusuke@gmail.com>
1 parent 48b7151 commit 4115aeb

File tree

2 files changed

+258
-1
lines changed

2 files changed

+258
-1
lines changed

ChangeLog

Lines changed: 257 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,260 @@
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+
1258
nilfs-utils-2.2.5 Sun Sep 4, 2016 JST
2259

3260
* fix the problem that checkpoints and blocks with a future timestamp

configure.ac

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ dnl Copyright (C) 2007-2012 Nippon Telegraph and Telephone Corporation.
66
# Process this file with autoconf to produce a configure script.
77

88
AC_PREREQ(2.60)
9-
AC_INIT([NILFS utils],[2.3.0-dev],[linux-nilfs@vger.kernel.org])
9+
AC_INIT([NILFS utils],[2.3.0],[linux-nilfs@vger.kernel.org])
1010
AM_INIT_AUTOMAKE
1111
AC_CONFIG_SRCDIR([config.h.in])
1212
AC_CONFIG_HEADERS([config.h])

0 commit comments

Comments
 (0)