Hi, On Tue, 17 Mar 2009 15:45:29 +0500, Roman Mamedov wrote: > Hello. > > I am seeing strange behaviour of nilfs. Namely, a new checkpoint with > significant NBLKINC value is created on every cleanerd step, even though > the file system is not accessed or written to by any apps at the time. > Also, lssu shows that new segments are being continuously appended to > the tail, whereas segments at the top are disappearing.
The garbage collection of nilfs is ``copying GC'', and it creates checkpoints (it's normal for nilfs). In addition, if segments selected for cleaning have few reclaimable blocks, most remaining blocks are copied into new segments. If you are using nilfs-2.0.10 or later, you can see ``i'' flag in FLG field of lscp. The ``i'' flag means the checkpoint is created only for such internal operation including GC. > I am not completely sure, but this might have begun after doing a > bind mount, i.e. `mount --bind /mnt/nilfs/somedir /some/other/dir`. > Timestamp of the first strange checkpoint roughly corresponds to the > time when I did that mount. And when I was trying to unmount it, the > mount point was "busy", and `fuser` reported that the process using it > is nilfs_cleanerd. Did you specify an fstype option? The behavior seems different between: $ mount --bind /nilfs2 /test and $ mount --bind -t nilfs2 /nilfs2 /test In the former case, the result was as follows: /dev/sdb1 on /nilfs2 type nilfs2 (rw,gcpid=12667) /nilfs2 on /test type none (rw,bind) In the latter case, it became /dev/sdb1 on /nilfs2 type nilfs2 (rw,gcpid=12667) /nilfs2 on /test type nilfs2 (rw,bind,gcpid=12673) and, the second cleanerd has gone: nilfs_cleanerd[12673]: start nilfs_cleanerd[12673]: cannot create cleanerd on /nilfs2 nilfs_cleanerd[12673]: shutdown nilfs_cleanerd[12667]: wake up nilfs_cleanerd[12667]: wait 21.000000000 Either example is safe. (the latter is a mere lucky) I couldn't confirm your case that the clearnerd grabs different mount point and prevent unmount. > Hmm, now I see that `/mnt/nilfs/somedir` also has a zero-sized ".nilfs" > file, just like the root directory of that filesystem. Perhaps this is > the cause of the problem? ``.nilfs'' is just a regular file used to allow locking between cleanerd and other userland tools. So it will appear both mount points. Maybe clearnerd mistook the mount point, but the background checkpoint creation itself is normal behavior. Regards, Ryusuke Konishi > My kernel is 2.6.28. Initially, nilfs module and tools were versions > 2.0.6, but an upgrade to 2.0.11 did not help. > > If it matters, nilfs is created over a LUKS encrypted partition > (/dev/mapper/device). > > -- > With respect, > Roman > _______________________________________________ > users mailing list > [email protected] > https://www.nilfs.org/mailman/listinfo/users _______________________________________________ users mailing list [email protected] https://www.nilfs.org/mailman/listinfo/users
