-
Notifications
You must be signed in to change notification settings - Fork 6
/
ChangeLog
528 lines (433 loc) · 20.6 KB
/
ChangeLog
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
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
nilfs-utils-2.2.5 Sun Sep 4, 2016 JST
* fix the problem that checkpoints and blocks with a future timestamp
are not reclaimed:
- Add cnormap, a new checkpoint number reverse mapper
- vector: add clear operation
- vector: add insert operation
- lssu: use nilfs_cnormap
- cleanerd: use nilfs_cnormap
* fix the problem that cleanerd timeout can be too long when the
system time is changed to earlier time:
- compat.h: add operations on timespecs
- cleanerd: use timespec and clock_gettime()
- cleanerd: use monotonic clock for cleanerd->target
* fix other problems that can happen when the system time is changed
to earlier time:
- cleanerd: use ppoll() to wait for incoming mq-message
- cleanerd: do not skip segments with a future timestamp
- cleaner_ctl: add wait API function that supports relative timeout
- cleaner_exec: use monotonic clock to wait for cleanerd
- mount/fstab.c: use monotonic clock to wait for mtab lock
- lssu: do not mark protected flag for segments with a future
timestamp
* fix bugs:
- cleaner_exec: fix device name in a message of nilfs_wait_cleanerd()
- cleanerd: fix error return value of oom_adjust()
- cleanerd: do not ignore error messages of oom_adjust()
- cleanerd: add missing free() calls for canonicalized path names
- lssu, rmcp: close nilfs object cleanly in error cases
- vector: fix potential overflow in nilfs_vector_get_new_element()
- mount/fstab.c: fix unstable errno references
* improve checkpatch script:
- improve operator spacing check
- add user space output functions to logFunctions
- handle output functions with "_()" macro
* fix coding style issues:
- remove FSF mailing address from GPL notices
- add missing line spacing
- mount/fstab.c: fix typo "attemps" in comment
- use tabs for code indent
- fix unnecessary line continuations for output messages
- fix quoted string split across lines
- fix suspect code indent for conditional statements
- remove unnecessary else after return or break
- remove unnecessary return statements
- adjust long declarations to avoid checkpatch warning
- keep code lines short
- cleanerd: do not use volatile for protection_period static variable
* minor-amendments:
- vector: reject zero-byte element
- configure.ac: add stdint.h to headers to be checked
- cleanerd, lssu: handle absolute time with signed type variables
- cleanerd: initialize sigaction struct for safety
* cleanups:
- clean up osrg.net e-mail addresses
- use err(), warn() and their variants
- use EXIT_SUCCESS and EXIT_FAILURE
- use ARRAY_SIZE() macro
- etc
nilfs-utils-2.2.4 Wed Apr 27, 2016 JST
* lib/nilfs.c: add missing initialization of nilfs->n_opts
* lib/cleaner_exec.c: use _exit() to safely terminate child processes
* update checkpatch.pl and misspelled words dictionary (spelling.txt)
* lib/Makefile.am: do not set -fPIC and -static manually
* lib/Makefile.am: use AM_CFLAGS and AM_CPPFLAGS for simplicity
* lib/crc32.c: make crc32tab array static const
* remove obsolete email addresses
* AUTHORS: update header line of author list
nilfs-utils-2.2.3 Sun Feb 15, 2015 JST
* lscp: accelerate backward checkpoint listing
* lib/nilfs.c: fix potential leak at nilfs_open()
* get rid of unnecessary null checks before calling free()
* get rid of my_free() wrapper function
nilfs-utils-2.2.2 Fri Sep 19, 2014 JST
* mount.nilfs2: invoke cleanerd even if no-mtab option is specified;
this fixes failure of cleanerd invocation under systemd 216+.
* lscp: always show snapshots, even if marked minor.
nilfs-utils-2.2.1 Sat Aug 23, 2014 JST
* nilfs-clean: do not override min_reclaimable_blocks if -m option
is not used.
* nilfs_cleanerd.conf: try to use set_suinfo ioctl by default
* nilfs_cleanerd.conf: set min_reclaimable_blocks parameter to 10
percent to more reduce relocation of static data.
* libnilfs: set errno when device doesn't contain valid NILFS data
* mkfs.nilfs2: fix gcc warning "array subscript is above array bounds"
* bin/*: improve error message on failure of nilfs_open()
* install nilfs-* executables to /usr/sbin to resolve warnings of
adequate (Debian package quality testing tool).
* nilfs_cleanerd: link libraries statically to make nilfs_cleanerd
self-contained in /sbin directory.
* fix typos in messages, manpages, source files, and ChangeLog file.
nilfs-utils-2.2.0 Tue Apr 8, 2014 JST
* lscp: show block count by default
* lssu: add option to print count of live blocks
* lssu: display "p" flag on protected segments
* fix build of dist archives
* lib/gc.c: refactor reclaim function
* lib/gc.c: add optimized version of nilfs_xreclaim_segments
* cleanerd: use nilfs_xreclaim_segment()
* cleanerd: add a no_timeout flag to enable faster loop
* lib/nilfs.c: add support for NILFS_IOCTL_SET_SUINFO ioctl
* lib/nilfs.c: add NILFS_OPT_SET_SUINFO
* nilfs-clean: add cmdline param min-reclaimable-blocks
* move generic macros into util.h
* fix coding style issues
* bump up version of nilfs-utils written in manpages
nilfs-utils-2.1.6 Sun Jan 26, 2014 JST
* cleanerd: fix wrong cleaner speed of manual clean mode
* add missing initializations of ioctl arguments
* cleanerd: adjust the OOM killer
* mkfs: check sizes of important structs at build time
* cleanerd: rework daemonize() of cleanerd
* cleaner_exec.c: get process ID of cleanerd through pipe
* mount.nilfs2: ensure that gcpid option is dropped if the value
is zero
* lib/nilfs.c: remove broken readonly fs check at nilfs_sync()
* lib/nilfs.c: add missing comments of API functions
* allow to make without libblkid
* remove redundant selinux library references
* compile legacy {mount,umount}.nilfs2 with libselinux
* add --with-libmount build option
* add checkpatch script
* fix many coding style issues
* a minor update in lscp manpage
* update README file
* update AUTHORS file
nilfs-utils-2.1.5 Thu May 2, 2013 JST
* mkfs.nilfs2: check presence of existing volume on device.
* mkfs.nilfs2: erase the first and the second sectors unless boot
sector exists.
* mkcp: add --print option.
* add omitted comments for structures in nilfs2_fs.h.
* add autogen script.
* fix missing bold font termination in nilfs.8 man page.
* update README file.
* update AUTHORS file.
nilfs-utils-2.1.4 Fri Jul 6, 2012 JST
* umount.nilfs2: use binary exponential backoff for waiting for
cleanerd's shutdown in order to speed up unmount.
* mount.nilfs2: fix wrong error handling in do_mount_one routine;
this fixes the bug that gcpid attribute is not updated properly
in the mtab file when cleanerd restarted after rw->{ro,rw} remount.
* nilfs-resize: do not use sync() system call.
* nilfs-resize: fix early give-up of fs-shrinking.
* mount.nilfs2: support context, fscontext, defcontext, and
rootcontext SELinux mount options.
* add --with-selinux configuration option.
* mount.nilfs2: use realloc instead of malloc(new_s); free(s) in
string manipulation of options.
* cleanup usage of _PATH_*; this eliminates deprecated macros MOUNTED
and MNTTAB from nilfs-utils.
* update AUTHORS file.
nilfs-utils-2.1.3 Wed Jun 20, 2012 JST
* Imported mtab fixes from util-linux-2.17.2 including mtab lock
fix, memory usage fix, list logic fix in update_mtab, permission
fix on locktime, and so forth.
* nilfs_cleanerd: try to update log cursor when gc aborted
due to hitting protected segments.
* libnilfsgc: try the last hit snapshot number in live/dead
determination
* libnilfsgc: insert sanity check for snapshot numbers
nilfs-utils-2.1.2 Sat Jun 2, 2012 JST
* libnilfsgc: fix broken live/dead determination function
* libnilfsgc: do not add live duration of cpfile/sufile to removal
periods
* mount.nilfs2.8: add missing nobarrier/nodiscard options
* update years in copyright notice
* fix a typo in nilfs-clean manpage
* improve error message printed when failing to create checkpoint
number converter.
nilfs-utils-2.1.1 Sat Jan 14, 2012 JST
* umount.nilfs2 (libmount): send proper error code to complain function
* rmcp: print sensible error message on permission failure
* nilfs-tune: catch and handle missing device argument
* correct parser function use for 64-bit integer inputs
* rmcp/chcp: sanity check for positive checkpoint number
* mkfs.nilfs2: support -h command line option
* Add .gitignore rules for generated binaries
* Remove kern_compat.h
* cleanups
nilfs-utils-2.1.0 Wed Nov 23, 2011 JST
* fix build error due to missing dependency to myrealpath library
from libnilfscleaner library.
* update README file.
nilfs-utils-2.1.0-rc2 Sun Aug 7, 2011 JST
* add libmount support
* automate selection of libraries for posix semaphore and mqueue
* fix autoreconf error caused by a lack of m4 directory
* fix gcc warnings
* update README file
nilfs-utils-2.1.0-rc1 Mon May 30, 2011 JST
* add nilfs-clean program.
* add nilfs-resize program.
* nilfs_cleanerd: allow subsecond values for time interval parameters.
* lscp: hide internal checkpoint by default and add all option to
show them.
* libnilfs: add APIs for filesystem resizing
* separate one shot garbage collection function to libnilfsgc library.
* add libnilfscleaner library which gives control function of
cleaner daemon.
* nilfs_cleanerd: fix overflow of time out value
* nilfs_cleanerd: fix move block errors on cpfile and sufile
* nilfs-tune: move out check_mount function to library
nilfs-utils-2.0.23 Sat Apr 30, 2011 JST
* make gc safe for duplicate invocation
* block interrupt signals while holding cleaner lock
nilfs-utils-2.0.22 Sat Apr 16, 2011 JST
* use root directory instead of .nilfs file to issue NILFS API
ioctls.
* use posix semaphore instead of advisory lock against .nilfs file
to make nilfs tools and cleanerd exclusive; this and the previous
change make the .nilfs file unnecessary.
* allow lscp command to display per-checkpoint block count.
* do not include blocks of dat, cpfile and sufile in the block
count of initial checkpoint; the block count feature of the
upcoming kernel (2.6.39) is per check point, and these three
meta data files do not belong to any checkpoints.
* support option to manipulate fs-features in mkfs.nilfs2 and
nilfs-tune.
* support relative pathnames in command line of nilfs_cleanerd.
* include crc function in libnilfs library to make it
self-contained.
* fix incorrect initial value of number of inodes.
* fix message duplication in nilfs-tune for invalid options.
* update nilfs2_fs.h header file
* uniform the style of commentary outputs in nilfs-tune.
* fix a few warnings reported by the recent libtoolize.
* cleanups
nilfs-utils-2.0.21 Fri Jan 21, 2011 JST
* get rid of the warning telling disk format is unstable
* change license of libraries and header files to LGPL; crc was
replaced with an LGPL implementation along with this.
* discard blocks at mkfs time
* add verbose option to mkfs.nilfs2
* kill gcc warnings
nilfs-utils-2.0.20 Sun Sep 26, 2010 JST
* add tune tool, nilfs-tune. (thanks to Jiro SEKIBA)
* add write routines of super blocks to nilfs library
* add version option to every utility
* enable long style options for bin directory utilities
* apply workaround of rec_len overflow with 64KB block size to
mkfs.nilfs2
* extend super block to support feature tests
* insert feature compatibility check in nilfs library
* replace lseek64 and off64_t with lseek and off_t respectively;
AC_SYS_LARGEFILE autoconf macro is applied to make the latters
properly detect and use 64-bit implementation.
nilfs-utils-2.0.19 Mon Aug 9, 2010 JST
* add uhelper option support. This is required to control nilfs2
partitions from udisks/palimpsest.
* enlarge maximum size of volume name to 80 bytes
* update man pages; described new mount options (norecovery and
discard) and change on the default of errors= mount option.
* import changes in nilfs2_fs.h upto kernel 2.6.35.
* extend the range of application of autoconf
nilfs-utils-2.0.18 Sat Apr 10, 2010 JST
* allow cleanerd to suspend GC based on the number of free
segments (thanks to David Arendt)
* add mount option to disable garbage collection
* add AUTHORS file
* do cleanup for conf-file parser of cleanerd
nilfs-utils-2.0.17 Sat Mar 13, 2010 JST
* add COPYING file to prevent insertion of the GPLv3 preamble by
newer automake.
nilfs-utils-2.0.16 Sat Mar 13, 2010 JST
* add pseudo mount option "-o pp=<seconds>" which sets protection
period (thanks to David Smid)
* fix build against newer glibc
* update mount.nilfs2 manpage to reflect mount option changes
nilfs-utils-2.0.15 Thu Dec 31, 2009 JST
* delete install-exec-hooks to do chown to root
* delete install-exec-hook to run ldconfig in /lib
* deleted struct nilfs_dat_group_desc
* move definition of struct nilfs_btree_node
* change support email address to linux-nilfs
nilfs-utils-2.0.14 Mon Jul 20, 2009 JST
* fix privilege escalation vulnerability in mkfs.nilfs2
* make the invocation of badblocks safer
* fix failure of nilfs_open for devices aliased as a symlink
* add -p option to cleanerd which overrides protection period
* fix code checker warnings reported by Eric Sandeen
* drop suid/sgid in proper order when invoking cleaner
* drop other suid bits for safety
* code cleanups
nilfs-utils-2.0.13 Mon Jun 22, 2009 JST
* fix a bug of a nilfs library function leading to the cleanerd
failure on mount. The bug typically arises when the mount
directory path ends with a slash symbol. This was caused by a
lack of pathname canonicalization on the argument.
* fix the problem that lssu didn't display segments properly
when the number of segments was specified with -n option.
* enhance command line parser of rmcp so that it can handle range
of checkpoint numbers.
* change rmcp to prompt user to use chcp when rmcp is tried
against snapshots.
* add fallback mode to cleanerd which does retries in case of
memory shortage. In the fallback mode, cleanerd does the
retries decreasing the number of cleaning segments.
* add retry_interval directive to nilfs_cleanerd.conf which
specifies the retry interval in the fallback mode.
* cleanup of cleanerd main loop
nilfs-utils-2.0.12 Thu Apr 2, 2009 JST
* fix problem of libnilfs which didn't follow symbolic links for
devices.
* fix incorrect behavior of mkfs.nilfs2 with -q option
* fix command line buffer overflow error for mkfs -c
* settle mess for bind mounts.
* fix a bug in device check of mount.nilfs2 which confirm device is
accessible or not.
* rewrite lscp command to interleavingly call nilfs_get_cpinfo()
and list its result.
* rewrite lssu command to interleavingly call nilfs_get_suinfo()
and list its result.
* lscp and lssu supported options which specify the start index and
the number of items to be listed.
* revise manpages of lscp and lssu.
* dumpseg changed to print some details of segment header.
* delete style comments for emacs editor.
nilfs-utils-2.0.11 Fri Mar 13, 2009 JST
* force mount.nilfs2 to print a message to warn possible
on-disk format change.
* follow minor changes on nilfs_fs.h which are for supporting
nanosecond timestamps.
nilfs-utils-2.0.10 Sat Mar 7, 2009 JST
* enhance mkfs.nilfs2 to make secondary super block.
* add support of the secondary super block to nilfs library.
* add minor flag for checkpoints created by internal operations.
This allows userland application to identify whether each
checkpoint is created by file system change or internal operations
such as garbage collection or checkpoint mode change.
lscp now displays 'i' flag on those minor checkpoints.
* clean up sketch file.
nilfs-utils-2.0.9 Wed Mar 4, 2009 JST
* fix cleanerd bug causing removal of protected checkpoints.
This is the bugfix of the problem reported by Nori-san.
* add comments to cleanerd functions.
* mkfs add inode entries for reserved meta data files. This would help
to remove future compatibility problems.
* cleanups; remove unnecessary type casting of cleanerd and library,
remove trailing white spaces, and so on.
nilfs-utils-2.0.8 Thu Feb 19, 2009 JST
* follow the change of ioctl API. Architecture dependent problems
related to the API was fixed.
* cleanerd sleeps without timedwait ioctl which was abandoned along
with the API change.
* cleanerd uses a sequence counter instead of volatile active
state of segments to checks whether a given segment is not
unreclaimable.
nilfs-utils-2.0.7 Wed Feb 11, 2009 JST
* fix possible infinite loop in lscp.
* fix incorrect termination detection of nilfs_psegment_for_each()
* fix calculation of finfo offset that will break compatibility for
future extension of segment summary.
* fix a wrong memmove size calculation in cleanerd.
* avoid possible infinite loop of lssu and cleanerd that may occur
for inconsistent file systems.
* insert some check code in cleanerd to verify consistency of the
number of snapshots.
* mkfs.nilfs2 zeroes out the head and tail of device.
* make sketch file deprecated.
* add tag files gtags to .gitignore.
* clean up nilfs_file_next and nilfs_binfo_total_size.
* import recent updates of nilfs_fs.h.
nilfs-utils-2.0.6 Fri Oct 17, 2008 JST
* fix the cleanerd bug that causes a kernel panic for more than
512 snapshots.
* tighten checks before calling mount syscall.
nilfs-utils-2.0.5 Mon Jul 14, 2008 JST
* add fake option (-f) to mount.nilfs2.
* fix a problem related to the fake option support in which a gcpid
option remains in /etc/mtab even after ro-remount succeeded.
* push forward check of /etc/mtab.
nilfs-utils-2.0.4 Fri Jun 20, 2008 JST
* fix the segmentation fault problem of mount.nilfs2 that occurs
if it is invoked without passing through /sbin/mount.
* allow ro/rw-mount options for mount.nilfs2.
* apply the patch that renames a member prefix of struct nilfs_suinfo
in nilfs_fs.h, which was required to avoid a compile-time error
of the nilfs2 kernel module on IA64 machines.
nilfs-utils-2.0.3 Thu May 22, 2008 JST
* fix the problem of 'make dist-bzip2' that it produces a tarball
without man pages. This fixes it by using dist_man_MANS instead
of man_MANS. This release is equivalent to the previous release
for the rest.
nilfs-utils-2.0.2 Tue May 20, 2008 JST
* add man pages for nilfs2 and its utilities.
* move declaration of nilfs_persistent_group_desc struct into the
nilfs_fs.h file. This structure defines on-disk format of ifile
group descriptor, and should be declared in nilfs_fs.h.
nilfs-utils-2.0.1 Mon Mar 24, 2008 JST
* import changes on nilfs_fs.h to prepare for future extensions.
* import changes on nilfs_fs.h to avoid checkpatch.pl errors and
warnings.
* fix gcc-4.2 warnings on 64-bit machines
* remove expanded rcs keywords
* add .gitignore
nilfs-utils-2.0.0 Mon Feb 18, 2008 JST
* add a missing error handling of cleanerd.
nilfs-utils-2.0.0-testing-9 Wed Feb 13, 2008 JST
* Fixed a hang problem that arose under a near disk full condition.
* Fixed the problem that a NILFS partition mounted at boot time could
not be unmounted manually. This problem came from the standard
behavior of most Linux distributions where the /var/run directory was
cleaned after a boot time mount process. The clean-up job removed
the PID file of cleanerd and caused its shutdown failure.
The cleanerd and mount/umount programs were fairly changed for this
fix; now /etc/mtab is used instead to keep a PID of the cleanerd.
nilfs-utils-2.0.0-testing-8 Thu Dec 27, 2007 JST
nilfs-utils-2.0.0-testing-7 Thu Nov 29, 2007 JST
* add cast for 64bit environment.
* modify some error messages.
nilfs-utils-2.0.0-testing-6 Mon Oct 22, 2007 JST
* Changed the message of "No such device" error printed by mount.nilfs2
to make it more understandable.
nilfs-utils-2.0.0-testing-5 Mon Oct 15, 2007 JST
nilfs-utils-2.0.0-testing-4 Thu Oct 11, 2007 JST
* Add a new argument to nilfs_sync() API to allow utilities (e.g. mkcp)
to get the number of generated checkpoint atomically.
* Fixed an installation error due to a lookup failure of ldconfig
that occurs on some distros.
nilfs-utils-2.0.0-testing-3 Tue Jul 24, 2007 JST
* Allow regular files to be used with mkfs.nilfs2.
The current implementation of mkfs.nilfs2 is limited to block devices
only, because of the use of the BLKGETSIZE64 ioctl(). That patches
allows mkfs.nilfs2 to format regular files, in addition to block
devices.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@enix.org>
nilfs-utils-2.0.0-testing-2 Tue Jun 20, 2007 JST
* Fixed a problem that the lscp and other userland tools might
fail on Ubuntu 6 if a samba mounted partition exists.
nilfs-utils-2.0.0-testing Wed Jun 13, 2007 JST
* The first release.
* Implemented the Garbage Collector.
* Rewrote almost all of the source code.