~ubuntu-branches/ubuntu/precise/aufs/precise

« back to all changes in this revision

Viewing changes to History

  • Committer: Bazaar Package Importer
  • Author(s): Julian Andres Klode
  • Date: 2007-05-09 15:29:28 UTC
  • Revision ID: james.westby@ubuntu.com-20070509152928-4sywrmkifvz0bq02
Tags: upstream-0+20070509
ImportĀ upstreamĀ versionĀ 0+20070509

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
 
 
2
History of aufs
 
3
Junjiro Okajima
 
4
 
 
5
# $Id: History,v 1.20 2007/05/09 01:22:32 sfjro Exp $
 
6
 
 
7
Note:
 
8
- the described date are all in JST.
 
9
- CVS handles UTC as its timezone.
 
10
- all these descriptions should be archived in the ML on sourceforge,
 
11
  since I always post there and let users know. But sometimes archiving
 
12
  failed. this is the main reason to begin writing this file.
 
13
 
 
14
----------------------------------------------------------------------
 
15
 
 
16
20070509
 
17
- bugfix: stop consuming inode number rapidly.
 
18
 
 
19
20070507
 
20
- bugfix: fix the obsolete inodes with d_revalidate. the last
 
21
  temporary bugfix is completed. but this version of aufs consumes
 
22
  inode number rapidly. it will be fixed in a week.
 
23
- refine d_revalidate
 
24
        + checking new ii_gen
 
25
        + removing di_reval
 
26
        + new function au_cpup_igen(), to support inode generation
 
27
        + make the modfified file by UDBA obsoleted by its name and
 
28
          inode
 
29
        + resetting xino(temporary fix)
 
30
        + make si_gen atomic_t
 
31
- forgot to print 'warn_perm' in /proc/mounts.
 
32
 
 
33
20070430
 
34
- bugfix: re-use inode->i_generation to support the enexpectedly
 
35
  survived inodes after remount. test lower inodes in
 
36
  hidden_d_revalidate(). simplified postproce() in
 
37
  udba=inotify. introduce an internal generation for aufs_iinfo.
 
38
  reported by Tomas M.
 
39
  it is not finished yet and a hardlink on NFS branch will not work.
 
40
- bugfix: at deleting a branch, revalidate the survived dentries after
 
41
  shrink dcache.
 
42
- bugfix: support the unhashed dentries, but ignore the unreferenced
 
43
  dentries.
 
44
- bugfix: ii_read/write_unlock in an error path, mainly for NFS
 
45
  branch.
 
46
- bugfix: revalidating the opened files after remount, introduce a new
 
47
  function au_hfput().
 
48
- bugfix: maintain the reference of aufs module in case of the no-wait
 
49
  task.
 
50
- introduce <sysfs>/fs/aufs/<mnt_id>/xino, and sysaufs.h. move some
 
51
  declarations from module.h to sysaufs.h. rename del/add_sbilist() to
 
52
  sysaufs_del/add(). refine sysaufs.c simply.
 
53
- CONFIG_AUFS_EXPORT in statically linked aufs depends upon
 
54
  CONFIG_EXPORTFS=y, reported by Sandino Flores Moreno.
 
55
- call dget_parent() instead of accessing denrty->d_parent directly.
 
56
- convert some inline functions for debugging to macros, in order to
 
57
  print the prefeable line number in a file.
 
58
- rename nfsd_lockdep_off/on() to au_...().
 
59
- supports IN_UNMOUNT, if it happens there must must be another bug.
 
60
- ignore whiteouted names in revalidating child files.
 
61
- rename init_export_op() to au_init_export_op().
 
62
 
 
63
20070423
 
64
- bugfix: file revalidation after rename(tgt), reported by Just Marc.
 
65
- strict inode lock in fsync() before 2.6.17.
 
66
- restore rdacahe option, which was dropped by mistake.
 
67
- print the depth of generic workqueue in sysfs/aufs/stat.
 
68
- testing initramfs.
 
69
- still testing udba=inotify.
 
70
- simplified "uid/gid/perm" message.
 
71
- reduce stack space.
 
72
- make aufs_cond available even if CONFIG_LKTR is disabled.
 
73
- revise au_fin_finfo() and si lock.
 
74
- simplified cache function definitions.
 
75
- merge both of wait/nowait works into a single enqueue function.
 
76
- rename wkq_wait() to au_wkq_wait().
 
77
- rename some name hash functions, and two new functions nash_new()
 
78
  and nhash_del().
 
79
        + init_nhash()  --> nhash_init()
 
80
        + move_nhash()  --> nhash_move()
 
81
        + free_nhash()  --> nhash_fin()
 
82
- move au_is_kthread() to wkq.h, and rename to is_aufsd().
 
83
- rename au_init_wkq() to au_wkq_init().
 
84
- rename au_fin_wkq() to au_wkq_fin().
 
85
- rename au_inotify_exit() to au_inotify_fin().
 
86
- rename dbg_dlgt_exit() to dbg_dlgt_fin().
 
87
 
 
88
20070416
 
89
- bugfix: introduce dcsub.[ch] to handle dentry cache.
 
90
- bugfix: use readlink(1) to get cwd, in auplink, mount.aufs and
 
91
  unionctl, reported by Torsten Luettgert. Actually, to use readlink
 
92
  was suggested by Tomas M last year.
 
93
- support initramfs.
 
94
- verbose warning message for 'different uid/gid/perm.'
 
95
- still testing udba=inotify.
 
96
- support GFP flags in au_kzrealloc().
 
97
- simplified lock/unlock functions definition by a new macro
 
98
  SimpleRWSem...
 
99
 
 
100
20070409
 
101
- introduce new branch attribute "nolwh."
 
102
- refine parsing options at mount/remount time, reported by Sandino
 
103
  Flores Moreno.
 
104
        + remove whiteout-base and whplink-dir in nopllink and br_mod(),
 
105
          but br_del().
 
106
        + increment sbinfo generation in a new function
 
107
          aufs_remount_fs().
 
108
        + support multiple xino/noxino options in another way.
 
109
        + force "ro" when unknown branch permission is specified.
 
110
        + at mount-time, interpret options in this order.
 
111
                * simple flags, except xino/noxino, udba=inotify and dlgt.
 
112
                * branches.
 
113
                * xino/noxino.
 
114
                * udba=inotify.
 
115
                * dlgt.
 
116
        + at remount-time,
 
117
                * interpret options in the given order left to right,
 
118
                  except dlgt which is disabled in interpreting.
 
119
                * create whiteout-base and whplink-dir if necessary.
 
120
                * dlgt if necessary.
 
121
        + new functions, clean_wh(), clean_plink(), test_linkable(),
 
122
          plink_dir().
 
123
- support 64bit environtment, reported by Vasily Tarasov.
 
124
- introduce a sample for kprobe.
 
125
- bugfix: do not traverse the sub-mounts under aufs at refreshing
 
126
  cached dirs after remount.
 
127
- bugfix: simultaneous read in 'dlgt' mode, reported and fixed by
 
128
  Ulrich Holeschak.
 
129
- bugfix: LINUX_VERSION_CODE for linux-2.6.16.
 
130
- still testing inotify.
 
131
- support lockdep in nfsd, still testing.
 
132
- minor optimization for dput().
 
133
- new test functions br_writable(), br_whable() and br_linkable_wh(),
 
134
  replacing au_is_whable().
 
135
- do write_lock() in reinit_br_wh().
 
136
- refine updating /sys/fs/aufs/stat.
 
137
- wkq_nowait() calls schedule_work().
 
138
 
 
139
20070402
 
140
- bugfix: forgot dput in a error case.
 
141
- introduce wkq_nowait().
 
142
- refine udba=inotify, still testing.
 
143
- extract some functions from sbinfo.c, create a new file plink.c.
 
144
 
 
145
20070328
 
146
- bugfix: forgot include one header in misc.h
 
147
 
 
148
20070327
 
149
- bugfix: increment sbinfo generation in cases of br_mod() for sensing
 
150
  whiteout, xino/noxino and udba=inotify, too. introducing
 
151
  au_is_whable() and sbr_is_whable(). call au_sigen_inc() from
 
152
  do_opts(), reported by Jorgen P. Tjerno.
 
153
- support sysfs and NFS-exporting, introducing sysaufs.c,
 
154
  CONFIG_AUFS_SYSAUFS, export.c, CONFIG_AUFS_EXPORT and a new module
 
155
  parameter 'brs.'
 
156
- remove AUFS_DEBUG_RWSEM.
 
157
- workaround an application bug when 'dlgt' is specified.
 
158
  generally, read(2) or write(2) may return the value shorter
 
159
  than requested. But many applications don't support it,
 
160
  for example bash.
 
161
- support file gid when 'dlgt' is set.
 
162
- add a note about SMP.
 
163
- add a note about lockdep, still testing.
 
164
- add a note about performance test.
 
165
- convert branch permission bits into an integer.
 
166
- add an branch mode alias 'rowh' which is equivalent to 'ro+wh.'
 
167
- macro functions are converted to inline function.
 
168
- rename some symbols.
 
169
- merge hidden_notify_change() into vfsub_notify_change().
 
170
- convert the type of aufs_nwkq to short, since linux/kernel/params.c
 
171
  prints as '%c' for 'byte'.
 
172
- accounting in workqueue, refine the algorithm of choosing the thread.
 
173
- refined LHASH_PATCH and DLGT condition for lkup_one() and lkup_hash().
 
174
- refine file read/write when 'dlgt' is specified.
 
175
- refine DLGT condition for minor optimization.
 
176
- stop setting the first branch mode to 'rw' by default, when the mount
 
177
  flag is 'ro.'
 
178
 
 
179
20070320
 
180
- bugfix: brokn df(1)/statfs(2), wrong argument for vfs_statfs().
 
181
 
 
182
20070319
 
183
- bugfix: check the maximum number of branches, reported by Tomas M.
 
184
- testing the inode number after the direct rename of a dir.
 
185
- testing new mount option 'dlgt.'
 
186
- testing lockdep.
 
187
- add a new file vfsub.c
 
188
- support O_LARGEFILE at copying-up a regular file, and opening a dir.
 
189
- change some function signature and a global variable name in order
 
190
  to avoid the symbol conflict, one of them was reported by Just Marc.
 
191
        add_nlink(), alloc_dinfo(), alloc_whname(), copy_file(),
 
192
        cpup_attr_all(), cpup_attr_changable(), cpup_attr_nlink(),
 
193
        cpup_attr_timesizes(), dir_roflags, do_open(), file_roflags(),
 
194
        fill_de(), fin_finfo(), fin_wkq(), find_brindex(),
 
195
        find_dbindex(), flags_cpup(), free_whname(),
 
196
        half_refresh_plink(), hi_flags(), iinfo_fin(), iinfo_init(),
 
197
        init_finfo(), init_vdir(), init_wkq(), is_plinked(),
 
198
        list_plink(), new_br_id(), put_plink(), ready_to_write(),
 
199
        refresh_hdentry(), refresh_hinode(), reopen_nondir(),
 
200
        reset_hinotify(), reval_and_lock_finfo(), reval_dpath(),
 
201
        show_br(), sigen(), sigen_inc(), sub_nlink(),
 
202
        test_empty_lower(), test_perm(), unlink_wh_dentry(),
 
203
        update_brange(), update_dbstart(), update_digen(), update_figen().
 
204
 
 
205
20070312
 
206
- gave up handling inode S_PRIVATE flag and supporting LSM generally.
 
207
- minor optimization by LOOKUP_DIRECTORY flag.
 
208
- testing NFS-exporting.
 
209
- still testing lockdep.
 
210
- still testing sysfs.
 
211
- add samples for LiveCD over NFS.
 
212
- add a note suggested by Simon Sasburg.
 
213
 
 
214
20070305
 
215
- support copyup a 'tail-hole'ed sparse file.
 
216
- still testing lockdep.
 
217
- still testing sysfs.
 
218
 
 
219
20070226
 
220
- bugfix: mis-judging the maximum number of branches.
 
221
- bugfix: branch index at '--add --before path', reported and fixed by
 
222
  Fernando A. P. Gomes.
 
223
- refine inotify, a test finished.
 
224
- still testing LSM.
 
225
- begin testing with lockdep, still testing.
 
226
- begin supporting sysfs, still testing.
 
227
- refine the maximum number of branches.
 
228
- add a caution about AUFS_HINOTIFY and AUFS_DEBUG_RWSEM.
 
229
- refine copyup pseudo-link, remove cpup_pseudo_link() function.
 
230
- refine copyup pseudo-link, call test_and_cpup_dirs() and
 
231
  sio_cpup_simple() instead of cpup_pseudo_link().
 
232
- refine copyup pseudo-link, a new function lkup_plink().
 
233
- refine new_inode(), call iget_locked() instead of iget() and test
 
234
  I_NEW.
 
235
- minor optimization, the macro mnt_nfs().
 
236
- remove d_iput() operation.
 
237
- introduce a new member 'si_mnt' and 'si_sb.'
 
238
- change some options for tail(1) and grep(1) in order to support
 
239
  busybox, suggested by Tomas M.
 
240
- introduce two new files, module.h and vfsub.h.
 
241
 
 
242
20070219
 
243
- mmap behaviour changed, by removing mmap counter.
 
244
- bugfix: after a branch was changed from RO to RW, the hidden opened file
 
245
  should be closed once.
 
246
- bugfix: when the given mount options are too long, aufs should return an
 
247
  error expectedly, reported by Tomas M.
 
248
- support directory link count.
 
249
- introduce ./Kconfig.in and make target 'kconfig', which will
 
250
  generate ./fs/aufs/Kconfig.
 
251
- introduce configurable amount of branches. but I am afraid you will
 
252
  have to wait for aufs supports sysfs.
 
253
- still testing LSM.
 
254
- refine hidden inotify, still testing. disable udba=inotify temporary while
 
255
  parsing mount options.
 
256
- call vfs_read/write() instead of hidden file operation, in order to support
 
257
  LSM and notify.
 
258
- extract some functions from super.c, and create a new file module.c.
 
259
 
 
260
20070212
 
261
- begin supporting a readonly no-whiteout aufs branch of another aufs, still
 
262
  testing.
 
263
- begin supporting exporting aufs via NFS, still testing.
 
264
- begin supporting LSM, still testing.
 
265
- bugfix unionctl: typo or dropped single quotation.
 
266
- bugfix unionctl: support a relative path for --whereis.
 
267
- unionctl aborts when the --whereis argument does not exist.
 
268
 
 
269
20070205
 
270
- bugfix: a test in adding a branch, included in a report from
 
271
  Laville Guillaume.
 
272
  check the adding branch to be overlapped or not, even if it is a
 
273
  mount-point.
 
274
- bugfix: unionctl script --whereis option.
 
275
  the action should print the branch path, instead of the given argument, even
 
276
  it has only one argument.
 
277
- begin supporting inode S_PRIVATE flag and CONFIG_SECURITY. still testing.
 
278
- remove all the nested function definition, since some compilers (or their
 
279
  configuration) issue a warning about that.
 
280
 
 
281
20070129
 
282
- introduce diropq option.
 
283
  the behaviour of mkdir(2) and rename(2) dir case is changed. now they don't
 
284
  make '.wh..wh..opq' when it is not necessary. this is the default. if
 
285
  you dislike this behaviour and still want to make it always, use
 
286
  'diropq=always' mount option. see the manual in detail.
 
287
- bugfix: make fsync(2) return success when the file is not opened for writing,
 
288
  reported by Martin Walter.
 
289
  I am afraid this behaviour may violate some standards. Checking the
 
290
  behaviour of ext2, aufs decided to return success.
 
291
- rename some functions
 
292
        + lookup_whtmp() to lkup_whtmp().
 
293
        + lock_hdir_lookup_wh() to lock_hdir_lkup_wh().
 
294
        + lookup_wh() to lkup_wh().
 
295
- I forgot update AUFS_VERSION on last Monday and I updated it on
 
296
  Thursday. Sorry for confusion.
 
297
 
 
298
20070122
 
299
- introduce a new file History.
 
300
- rename wh.[ch] to whout.[ch].
 
301
- rename some symbols.
 
302
        + do_cache_alloc()      to aufs_cache_alloc().
 
303
        + do_cache_free()       to aufs_cache_free().
 
304
        + dt_hidden_dentry in struct dtime, to dt_h_dentry.
 
305
        + dtohd()               to h_dptr().
 
306
        + dtohd_index()         to h_dptr_i().
 
307
        + dtopd()               to dtodi().
 
308
        + fi_hidden_vm_ops in struct aufs_finfo, to fi_h_vm_ops.
 
309
        + ftobr_index()         to ftobr().
 
310
        + ftohf()               to h_fptr().
 
311
        + ftohf_index()         to h_fptr_i().
 
312
        + ftopd()               to ftofi().
 
313
        + hidden_dentry in struct rmdir_whtmp_arg, to h_dentry.
 
314
        + hidden_root in struct opt_del, to h_root.
 
315
        + hidden_root in struct opt_mod, to h_root.
 
316
        + itohi()               to h_iptr().
 
317
        + itohi_index()         to h_iptr_i().
 
318
        + itopd()               to itoii().
 
319
        + lookup_dentry()       to lkup_dentry().
 
320
        + lookup_negative()     to lkup_neg().
 
321
        + lookup_one()          to lkup_one().
 
322
        + refresh_dentry()      to refresh_hdentry().
 
323
        + refresh_inode()       to refresh_hinode().
 
324
        + sbt()                 to sbtype().
 
325
        + set_dtohd_index()     to set_h_dptr().
 
326
        + set_ftohf_index()     to set_h_fptr().
 
327
        + set_itohi_index()     to set_h_iptr().
 
328
        + sio_lookup_one()      to sio_lkup_one().
 
329
        + stopd()               to stosi().
 
330
 
 
331
20070117
 
332
- bugfix i_op.c: uninitialized variable in case of CONFIG_AUFS_FAKE_DM
 
333
  enabled, reported and fixed by Jason Lunz.
 
334
 
 
335
20070115
 
336
- support 'security' model, reported and tested by Ulrich Holeschak.
 
337
  you need to disable CONFIG_AUFS_FAKE_DM.
 
338
- introduce umount.aufs script.
 
339
- umount.aufs and mount.aufs scripts calls auplink script when it is needed
 
340
  and configured.
 
341
- auplink script supports /etc/default/auplink configuration.
 
342
- bugfix: a comment in local.mk, reported and fixed by Wilhelm Meier.
 
343
 
 
344
20070112
 
345
- Jason Lunz sent a patch which creates linux/fs/aufs/Kconfig.
 
346
 
 
347
20070108
 
348
- disable CONFIG_AUFS_COMPAT by default.
 
349
  If you still want to use it, enable it manually. But this configuration will
 
350
  be removed in a few weeks.
 
351
- a new script named auplink, with an executable aulchown and a mount option
 
352
  'clean_plink', are introduced, in order to reproduce all hardlinks on a
 
353
  writable branch.
 
354
- bugfix: full-fix for pseudo-link which was temporary half-fix in last update.
 
355
- bugfix: link instead of copyup for an already pseudo-linked file.
 
356
- bugfix: hide the unnecessary 'remount' option before comm(1) in mount.aufs script.
 
357
 
 
358
20061222
 
359
- I found a bug about pseudo-link. It keeps inodes incorrectly, and users may
 
360
  see the deleted inode. The fix will complete next year. Until then,
 
361
  pseudo-link feature and 'plink' mount option are disabled and 'noplink' is
 
362
  the default mount option. It means the the internal behaviour like
 
363
  copy-up will be changed.
 
364
- begin supporting linux-2.6.20.
 
365
- support 'sillyrename' on NFS branch
 
366
- added a sample for diskless machines which uses aufs as root filesystem.
 
367
- CONFIG_AUFS_COMPAT will be removed in a few weeks. The code in case of
 
368
  CONFIG_AUFS_COMPAT=y remains. In detail,
 
369
        + default branch permission
 
370
        + warning about wrong mount option
 
371
        + /proc/mounts shows 'br:' instead of 'dirs='
 
372
        + .wh.__dir_opaque is replaced by .wh..wh..opq
 
373
- bugfix: on NFS branch, after rename(2) to an existed file, the new named
 
374
  file may refer to the old inode. this fix is not completed and does not
 
375
  support plink option. This is the reason of disabling pseudo-link temporary.
 
376
- bugfix: a pipeline in unionctl script uses 'return', but it just
 
377
  finishes the pipeline and doesn't exit from the function.
 
378
 
 
379
20061218
 
380
- discussing with Tomas M, introduced a new action --whereis to unionctl.
 
381
- remove the kernel version from the aufs version string.
 
382
  some people misunderstands that the kernel version in the aufs version
 
383
  string means the supported kernel version. Actually, it is the tested kernel
 
384
  version, as it is described in README.
 
385
- new mount option, warn_perm and nowarn_perm.
 
386
- support the space characters in the paths of mount point and branches.
 
387
- support statfs(2) when the first branch is NFS.
 
388
 
 
389
20061211
 
390
- support linux-2.6.19, including NFS branch. you need lhash.patch.
 
391
- in the manual, describe that the white characters, comma, colon in the path
 
392
  are not allowed. suggested by Tomas M.
 
393
- unionctl script, support CONFIG_AUFS_COMPAT. reported and fixed by Tomas M.
 
394
- prepend double wh prefix to tmpname at renaming dir.
 
395
 
 
396
20061204
 
397
- mis-detecting CONFIG_BLK_DEV_LOOP.
 
398
- support the cases without /sbin/mount.aufs
 
399
        + remove si_dupopt.
 
400
        + compare the xino filename.
 
401
 
 
402
20061127
 
403
- bugfix dir->fsync: it may be called with @file being NULL, especially from
 
404
  nfsv4, reported by Klaus Knopper.
 
405
- unionctl script supports --list option, requested by Tomas M.
 
406
 
 
407
20061120
 
408
- pseudo-link: update hidden inode pointers by new function d_iput().
 
409
- pseudo-link: stop pseudo-link when the target inode already exists.
 
410
- cpup: restore the inode pointers after cpup whiteout failure.
 
411
- hinotify: restore the counter after rename_whtmp() failure.
 
412
 
 
413
20061113
 
414
- bugfix: before 2.6.17, msync(2) calls ->fsync without
 
415
  lock. CONFIG_AUFS_DEBUG failed checking the lock, reported by Wesley Chow.
 
416
- bugfix: link(2), when the link target inode already exists on the target
 
417
  branch, but the target name, aufs_link() failed copyup.
 
418
- bugfix: re-setting xino after setting noxino, aufs failed setting.
 
419
- force noxino when xino_init() returns an error
 
420
- warn only once per 255 times about "too many pseudo links".
 
421
 
 
422
20061106
 
423
- support linux-2.6.15, limited. dropped features are,,,
 
424
        + plink and noplink mount option
 
425
        + udba=inotify mount option
 
426
        + NFS branch
 
427
 
 
428
20061023
 
429
- 'anonymous nobody' kindly sent a patch to SF 'Patches' place. The patch
 
430
  is for merging aufs into kernel source tree.
 
431
- begin supporting linux-2.6.19-rc2, unfinished, untested and NFS branch
 
432
  is not supported.
 
433
- gave up supporting read/write to the mmapped file on NFS branch. it
 
434
  seems a bug in linux and it can happen on any filesystem. it will be
 
435
  fixed in linux-2.6.19 or later.
 
436
- new structure aufs_hdentry for hidden dentry.
 
437
- bugfix: at restoring the timestamps of the parent dir when mkdir(2) failed.
 
438
- bugfix: editing miss after parsing options.
 
439
 
 
440
20061016
 
441
- introduce new mount option 'udba', support 'udba=inotify' using
 
442
  inotify.
 
443
- describe about udba in aufs.5.
 
444
- remove CONFIG_AUFS_DBA and introduce CONFIG_AUFS_HINOTIFY.
 
445
- remove CONFIG_AUFS_NO_KSIZE and introduce CONFIG_AUFS_KSIZE_PATCH.
 
446
- bugfix: always cpup atime in aufs_read/write.
 
447
- bugfix: support write(2) to mmapped file on NFS branch.
 
448
- bugfix for 2.6.17: umount_begin() may not be called in before
 
449
  linux-2.6.18 kernel, call it from put_super() too.
 
450
 
 
451
20061009
 
452
- bugfix: call igrab() before ii_write_unlock() to prevent from destroying
 
453
  inode in half_refresh_plink().
 
454
- bugfix: support the case of the first branch is not writable.
 
455
- testing lookup_whtmp().
 
456
- testing dba.
 
457
- prepare inotify for hidden inodes.
 
458
 
 
459
20061002
 
460
- bugfix: discard illegal dentry in case of undefined DBA.
 
461
- CONFIG_AUFS_DBA will be removed after introducing 'dba' mount
 
462
  option.
 
463
- prepare removing inotify.
 
464
- add 'do_xino' parameter to set_itohi_index().
 
465
- support read(2) to mmapped file on nfs.
 
466
 
 
467
20060925
 
468
- begin of inotify for hidden inodes.
 
469
  CONFIG_AUFS_DBA (Direct Branch Access) requires CONFIG_INOTIFY.
 
470
  still testing.
 
471
- local macro RwSemMutex for debugging becomes global configuration
 
472
  CONFIG_AUFS_DEBUG_RWSEM.
 
473
- gave up supporting CONFIG_DEBUG_PROVE_LOCKING.
 
474
- read(2) to NFS branch is not supported when the file is mmapped.
 
475
- well-behaved opening a file on NFS branch.
 
476
- refined memory allocation which size is zero.
 
477
 
 
478
20060911
 
479
- There might be a bug around kfree() in aufs. CONFIG_DEBUG_SLAB has
 
480
  reported slab corruption once. It is not reproducible but I am still
 
481
  working on.
 
482
- the fstype name is always "aufs" as I have announced.
 
483
- minor optimization by GCC's branch prediction or linux's unlikely macro.
 
484
- introducing plink/noplink mount option.
 
485
 
 
486
20060904
 
487
- support pseudo-link. branch and hidden_inode has branch id.
 
488
- rename wq.[ch] to wkq.[ch]. remove wq_nowait().
 
489
- reduce smp memory block which looks unnecessary.
 
490
- two threads (reinit hardlinked wh, and rmdir whtmp) do not use
 
491
  workqueue because of memory leak possibility.
 
492
- begin of aufs_lookup_one_len() and AUFS_MUST_FOLLOW branch flag.
 
493
- remove si_xino_mutex and make si_xino as atomic_long_t.
 
494
- give up DEBUG_PROVE_LOCKING.
 
495
 
 
496
20060828
 
497
- bugfix: some mount(8) requires one more argument, reported by Tomas M.
 
498
- bugfix: nopage() accessed incorrect file, reported by Martin Oehler.
 
499
- bugfix: recursive kthread call, new macro is_kthread().
 
500
- bugfix: to copyup a device file requires CAP_MKNOD in rename().
 
501
- bugfix: removing a branch whose path name resembles the former option.
 
502
- tried supporting SMP, but I am not confident. I don't have such machine.
 
503
- xino write passes superio thread, I am afraid it is slower.
 
504
- speed up vdir (minor).
 
505
 
 
506
20060823
 
507
- bugfix: macros for 'nested lock' should be compiled under
 
508
  linux-2.6.18 only, reported by Heinrich Rebehn.
 
509
 
 
510
20060821
 
511
- introduce a workqueue or a thread pool, replacing superio.
 
512
- hardlinked whiteout.
 
513
- introduce CONFIG_AUFS_DBA (Direct Branch Access).
 
514
- begin supporting linux-2.6.18(-rc4).
 
515
- try DEBUG_PROVE_LOCKING introduced by linux-2.6.18(-rc4).
 
516
 
 
517
20060814
 
518
- introduce nested__func__.patch for 'sparse'.
 
519
 
 
520
20060807
 
521
- introduce hardlinked whiteouts.
 
522
- support multiple writable branches.
 
523
- bugfix: del branch and cwd (current working directory).
 
524
- implement refresh dirs at remount time.
 
525
- bugfix: '#if' -- '#ifdef' in super.c, reported and fixed by Martin Oehler.
 
526
 
 
527
20060731
 
528
- bugfix: revalidating after del branch.
 
529
- bugfix: reset bwh in rename().
 
530
- bugfix: update mount point i_version.
 
531
- bugfix: remount may pass empty string.
 
532
- add EXAMPLES to the manual.
 
533
- bugfix: unionctl script supports a relative path, reported by Tomas M.
 
534
 
 
535
20060724
 
536
- support mmap without page-copy.
 
537
 
 
538
20060717
 
539
- introduce vdir, virtual or vertical directory, which is a seekable directory.
 
540
- introduce mount.aufs script.
 
541
- bugfix: symlink and device file in cpup_entry().
 
542
- try detecting direct access by its timestamp.
 
543
 
 
544
20060703
 
545
- bugfix: new revalidate scheme.
 
546
- simplified permission check.
 
547
- ignore dirwh when the branch is NFS.
 
548
 
 
549
2006 Jun
 
550
- start CVS on sourceforge.
 
551
 
 
552
2006 May
 
553
- no activities since I joined the Unionfs team.
 
554
 
 
555
2006 Apr
 
556
- finish first basic implementation and tests.
 
557
- make an application to sourceforge, as the name of aufs.
 
558
 
 
559
2006 Feb
 
560
- start implementing.
 
561
 
 
562
2005 Dec
 
563
- start planning and designing personally, the name was junionfs.
 
564
 
 
565
2005 Sep
 
566
- got to know Unionfs and start trying it.
 
567
 
 
568
2005 Aug
 
569
- got an idea of a stackable filesystem, supposing the old Transparent
 
570
  Filesystem in SunOS.
 
571
 
 
572
# Local variables: ;
 
573
# mode: text;
 
574
# End: ;