All of lore.kernel.org
 help / color / mirror / Atom feed
* nilfs2 not garbage collecting
       [not found] ` <CANku=ggohcWWoxE1x=XmfWpANKyWRTWb5p_aHh8LU6+utU4OPQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2012-08-05 11:00   ` Paolo Giangrandi
       [not found]     ` <CANku=ghnDzkFHpPZ8eT9Y3kTM62zBKMk6TjBVraE4Kisa1TRPQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  0 siblings, 1 reply; 18+ messages in thread
From: Paolo Giangrandi @ 2012-08-05 11:00 UTC (permalink / raw)
  To: linux-nilfs-u79uwXL29TY76Z2rM5mHXA

Hello,

I'm using NILFS2 as the root filesystem of an ArchLinux on my EeePC
900A. The filesystem has been created last November.
At the moment there's no more space left, `lscp` shows that there are
2648 checkpoints, but nilfs_cleanerd is in idle.
I tried to tweak nilfs_cleanerd configuration, but couldn't achieve anything.

Is it possible to know why nilfs_cleanerd isn't collecting the
checkpoints, or force it to collect them?

Thanks,
Paolo
--
To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: nilfs2 not garbage collecting
       [not found]     ` <CANku=ghnDzkFHpPZ8eT9Y3kTM62zBKMk6TjBVraE4Kisa1TRPQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2012-08-05 13:31       ` Vyacheslav Dubeyko
  2012-08-05 13:44       ` Vyacheslav Dubeyko
                         ` (2 subsequent siblings)
  3 siblings, 0 replies; 18+ messages in thread
From: Vyacheslav Dubeyko @ 2012-08-05 13:31 UTC (permalink / raw)
  To: Paolo Giangrandi; +Cc: linux-nilfs-u79uwXL29TY76Z2rM5mHXA

Hi Paolo,

On Aug 5, 2012, at 3:00 PM, Paolo Giangrandi wrote:

> Hello,
> 
> I'm using NILFS2 as the root filesystem of an ArchLinux on my EeePC
> 900A. The filesystem has been created last November.
> At the moment there's no more space left, `lscp` shows that there are
> 2648 checkpoints, but nilfs_cleanerd is in idle.
> I tried to tweak nilfs_cleanerd configuration, but couldn't achieve anything.
> 
> Is it possible to know why nilfs_cleanerd isn't collecting the
> checkpoints, or force it to collect them?

Could you share more details about your issue?

It is interested to know:
1. mount output.
2. nilfs_cleanerd configuration.
3. system log content related to NILFS2 or nilfs_cleanerd.
4. ps ax output.
5. cat /proc/partitions.
6. df -h

I think that these info can be starting point for analysis of your issue.

With the best regards,
Vyacheslav Dubeyko.

> 
> Thanks,
> Paolo
> --
> To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: nilfs2 not garbage collecting
       [not found]     ` <CANku=ghnDzkFHpPZ8eT9Y3kTM62zBKMk6TjBVraE4Kisa1TRPQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  2012-08-05 13:31       ` Vyacheslav Dubeyko
@ 2012-08-05 13:44       ` Vyacheslav Dubeyko
       [not found]         ` <CANku=gjkTr-nYq8RxTUCVK9YU+xTjHyPbktB86BUpeuMwMBC4A@mail.gmail.com>
  2012-08-05 13:54       ` Vyacheslav Dubeyko
  2012-08-06 10:10       ` Piotr Szymaniak
  3 siblings, 1 reply; 18+ messages in thread
From: Vyacheslav Dubeyko @ 2012-08-05 13:44 UTC (permalink / raw)
  To: Paolo Giangrandi; +Cc: linux-nilfs-u79uwXL29TY76Z2rM5mHXA

Hi Paolo,

By the way, did you try to use the rmcp utility? This utility is dedicated by removing of checkpoints by hands.

With the best regards,
Vyacheslav Dubeyko.

On Aug 5, 2012, at 3:00 PM, Paolo Giangrandi wrote:

> Hello,
> 
> I'm using NILFS2 as the root filesystem of an ArchLinux on my EeePC
> 900A. The filesystem has been created last November.
> At the moment there's no more space left, `lscp` shows that there are
> 2648 checkpoints, but nilfs_cleanerd is in idle.
> I tried to tweak nilfs_cleanerd configuration, but couldn't achieve anything.
> 
> Is it possible to know why nilfs_cleanerd isn't collecting the
> checkpoints, or force it to collect them?
> 
> Thanks,
> Paolo
> --
> To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: nilfs2 not garbage collecting
       [not found]     ` <CANku=ghnDzkFHpPZ8eT9Y3kTM62zBKMk6TjBVraE4Kisa1TRPQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  2012-08-05 13:31       ` Vyacheslav Dubeyko
  2012-08-05 13:44       ` Vyacheslav Dubeyko
@ 2012-08-05 13:54       ` Vyacheslav Dubeyko
       [not found]         ` <CANku=ghdeeSLP6QsJh9jvs5fJwEYuTTV7w8iigE1nZoT74NYgQ@mail.gmail.com>
  2012-08-06 10:10       ` Piotr Szymaniak
  3 siblings, 1 reply; 18+ messages in thread
From: Vyacheslav Dubeyko @ 2012-08-05 13:54 UTC (permalink / raw)
  To: Paolo Giangrandi; +Cc: linux-nilfs-u79uwXL29TY76Z2rM5mHXA

Hi Paolo,

On Aug 5, 2012, at 3:00 PM, Paolo Giangrandi wrote:

> Hello,
> 
> I'm using NILFS2 as the root filesystem of an ArchLinux on my EeePC
> 900A. The filesystem has been created last November.
> At the moment there's no more space left, `lscp` shows that there are
> 2648 checkpoints, but nilfs_cleanerd is in idle.
> I tried to tweak nilfs_cleanerd configuration, but couldn't achieve anything.
> 
> Is it possible to know why nilfs_cleanerd isn't collecting the
> checkpoints, or force it to collect them?

Could you share more details about your issue?

It is interested to know:
1. mount output.
2. nilfs_cleanerd configuration.
3. system log content related to NILFS2 or nilfs_cleanerd.
4. ps ax output.
5. cat /proc/partitions.
6. df -h

I think that these info can be starting point for analysis of your issue.

With the best regards,
Vyacheslav Dubeyko.

> 
> Thanks,
> Paolo
> --
> To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: nilfs2 not garbage collecting
       [not found]           ` <CANku=gjkTr-nYq8RxTUCVK9YU+xTjHyPbktB86BUpeuMwMBC4A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2012-08-05 16:51             ` Vyacheslav Dubeyko
       [not found]               ` <D99F26AB-309D-4325-A87C-DBF0F7BA6360-yeENwD64cLxBDgjK7y7TUQ@public.gmane.org>
  0 siblings, 1 reply; 18+ messages in thread
From: Vyacheslav Dubeyko @ 2012-08-05 16:51 UTC (permalink / raw)
  To: Paolo Giangrandi; +Cc: linux-nilfs

Hi Paolo,

On Aug 5, 2012, at 6:46 PM, Paolo Giangrandi wrote:

> No, didn't try, I missed that program, and I'm quite afraid of
> breaking something...
> 
> Currently checkpoints are like this:
> 
> # lscp | head
>                 CNO        DATE     TIME  MODE  FLG     NBLKINC       ICNT
>              302507  2012-07-19 15:36:17   cp    -          429     138707
>              302508  2012-07-19 15:36:17   cp    -           27     138707
>              302509  2012-07-19 15:36:21   cp    -           86     138708
>              302510  2012-07-19 15:36:22   cp    -           30     138708
>              302511  2012-07-19 15:36:22   cp    -           29     138708
>              302512  2012-07-19 15:36:22   cp    -           27     138708
>              302513  2012-07-19 15:36:22   cp    -           29     138708
>              302514  2012-07-19 15:36:24   cp    -           34     138708
>              302515  2012-07-19 15:36:24   cp    -           26     138708
> # lscp | tail
>              305341  2012-08-04 23:03:21   cp    -          141     138492
>              305342  2012-08-04 23:05:06   cp    -          646     138418
>              305343  2012-08-04 23:07:22   cp    -          229     138392
>              305344  2002-02-26 00:01:56   cp    -          708     138392
>              305345  2002-02-26 00:02:03   cp    -           33     138392
>              305346  2002-02-26 00:02:22   cp    -           29     138392
>              305347  2002-02-26 00:05:30   cp    -           25     138392
>              305348  2002-02-26 00:08:25   cp    -           29     138392
>              305349  2002-02-26 00:14:28   cp    -           27     138392
>              305350  2002-02-26 00:15:01   cp    -           32     138392
> 
> (the date of some checkpoints is set to 2002 because that EeePC has
> some issues with the clock: the clock battery is probably broken)
> 
> Should I just run `rmcp ..305350` ?
> Will it be safe?

I think that you can convert some important checkpoints into snapshots, firstly. It can be more safely. As I can understand, rmcp doesn't delete snapshots by default.

Moreover, you can delete some very old checkpoints and try to use file system, firstly. Checkpoints duplicate information usually and deleting of some old checkpoints don't be a dangerous action. Anyway, be careful, if you have some hesitations then it make sense to backup important information before any activity.

With the best regards,
Vyacheslav Dubeyko.


> 
> On Sun, Aug 5, 2012 at 3:44 PM, Vyacheslav Dubeyko <slava-yeENwD64cLxBDgjK7y7TUQ@public.gmane.org> wrote:
>> Hi Paolo,
>> 
>> By the way, did you try to use the rmcp utility? This utility is dedicated by removing of checkpoints by hands.
>> 
>> With the best regards,
>> Vyacheslav Dubeyko.
>> 
>> On Aug 5, 2012, at 3:00 PM, Paolo Giangrandi wrote:
>> 
>>> Hello,
>>> 
>>> I'm using NILFS2 as the root filesystem of an ArchLinux on my EeePC
>>> 900A. The filesystem has been created last November.
>>> At the moment there's no more space left, `lscp` shows that there are
>>> 2648 checkpoints, but nilfs_cleanerd is in idle.
>>> I tried to tweak nilfs_cleanerd configuration, but couldn't achieve anything.
>>> 
>>> Is it possible to know why nilfs_cleanerd isn't collecting the
>>> checkpoints, or force it to collect them?
>>> 
>>> Thanks,
>>> Paolo
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
>>> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>> 

--
To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Fwd: nilfs2 not garbage collecting
       [not found]         ` <CANku=ghdeeSLP6QsJh9jvs5fJwEYuTTV7w8iigE1nZoT74NYgQ@mail.gmail.com>
@ 2012-08-05 16:52           ` Vyacheslav Dubeyko
       [not found]           ` <CANku=ghdeeSLP6QsJh9jvs5fJwEYuTTV7w8iigE1nZoT74NYgQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  1 sibling, 0 replies; 18+ messages in thread
From: Vyacheslav Dubeyko @ 2012-08-05 16:52 UTC (permalink / raw)
  To: linux-nilfs

Information from Paolo Giangrandi

Begin forwarded message:

> From: Paolo Giangrandi <paolo-UnihLHphgvQ1GQ1Ptb7lUw@public.gmane.org>
> Date: August 5, 2012 6:42:33 PM GMT+04:00
> To: Vyacheslav Dubeyko <slava-yeENwD64cLxBDgjK7y7TUQ@public.gmane.org>
> Subject: Re: nilfs2 not garbage collecting
> 
> 1. Usually I'm mounting it with default options: `mount /dev/sda2 /mnt/sda2`.
> 
> 2. At the moment the configuration is like this:
> protection_period       10
> min_clean_segments      0%
> max_clean_segments      20%
> clean_check_interval    10
> selection_policy        timestamp       # timestamp in ascend order
> nsegments_per_clean     2
> mc_nsegments_per_clean  4
> cleaning_interval       5
> mc_cleaning_interval    1
> retry_interval          60
> use_mmap
> log_priority            debug
> 
> Yesterday night I played a lot with those options though.
> 
> 3. Upon mounting the filesystem, `dmesg` only shows:
> [16171.516443] segctord starting. Construction interval = 5 seconds,
> CP frequency < 30 seconds
> 
> Files in /var/log doesn't seem to contain much information either.
> Upon mounting:
> Aug  5 14:32:39 localhost kernel: [16234.023168] segctord starting.
> Construction interval = 5 seconds, CP frequency < 30 seconds
> Aug  5 14:32:39 localhost nilfs_cleanerd[1630]: start
> Aug  5 14:32:39 localhost nilfs_cleanerd[1630]: ncleansegs = 48
> Aug  5 14:32:39 localhost nilfs_cleanerd[1630]: 0 segment selected to be cleaned
> Aug  5 14:32:39 localhost nilfs_cleanerd[1630]: wait 10.000000
> 
> Then every 10 seconds (or when I call the garbage collector using
> `nilfs-clean`):
> Aug  5 14:35:28 localhost nilfs_cleanerd[1630]: wake up
> Aug  5 14:35:28 localhost nilfs_cleanerd[1630]: wait 10.000000
> 
> 4. # ps ax | grep -i nilfs
> 1630 ?        Ss     0:00 /sbin/nilfs_cleanerd -n /dev/sda2 /mnt/sda2
> 
> 5. # cat /proc/partitions
> major minor  #blocks  name
> 
>   8        0    7880544 sda
>   8        1      32098 sda1
>   8        2    7847752 sda2
>   8       16    1034879 sdb
>   8       17     393216 sdb1
>   7        0     100176 loop0
>   7        1     675840 loop1
>   7        2     675840 loop2
>   7        3      34436 loop3
>   7        4      94208 loop4
>   7        5      94208 loop5
>   7        6      61736 loop6
>   7        7     465920 loop7
> 254        0     675840 dm-0
> 254        1      94208 dm-1
>   7        8     465920 loop8
> 254        2     465920 dm-2
> 
> 6. # df -h
> Filesystem                        Size  Used Avail Use% Mounted on
> rootfs                            658M  318M  341M  49% /
> dev                               492M     0  492M   0% /dev
> run                               499M   16M  484M   4% /run
> /dev/sdb                          384M  384M     0 100% /run/archiso/bootmnt
> cowspace                          749M  8.4M  740M   2% /run/archiso/cowspace
> /dev/loop0                         98M   98M     0 100%
> /run/archiso/sfs/root-image
> /dev/mapper/arch_root-image       658M  318M  341M  49% /
> /dev/loop3                         34M   34M     0 100%
> /run/archiso/sfs/usr-lib-modules
> /dev/mapper/arch_usr-lib-modules   91M   41M   50M  46% /usr/lib/modules
> /dev/loop6                         61M   61M     0 100%
> /run/archiso/sfs/usr-share
> /dev/mapper/arch_usr-share        452M  184M  269M  41% /usr/share
> shm                               499M  4.0K  499M   1% /dev/shm
> tmpfs                             499M     0  499M   0% /tmp
> /dev/sda2                         7.5G  7.2G     0 100% /mnt/sda2
> 
> The running system is an USB Live of ArchLinux 32bit. The nilfs
> programs installed are the ones shipped with the package nilfs-utils
> 2.1.4: http://www.archlinux.org/packages/core/i686/nilfs-utils/
> 
> On Sun, Aug 5, 2012 at 3:54 PM, Vyacheslav Dubeyko <slava-yeENwD64cLxBDgjK7y7TUQ@public.gmane.org> wrote:
>> Hi Paolo,
>> 
>> On Aug 5, 2012, at 3:00 PM, Paolo Giangrandi wrote:
>> 
>>> Hello,
>>> 
>>> I'm using NILFS2 as the root filesystem of an ArchLinux on my EeePC
>>> 900A. The filesystem has been created last November.
>>> At the moment there's no more space left, `lscp` shows that there are
>>> 2648 checkpoints, but nilfs_cleanerd is in idle.
>>> I tried to tweak nilfs_cleanerd configuration, but couldn't achieve anything.
>>> 
>>> Is it possible to know why nilfs_cleanerd isn't collecting the
>>> checkpoints, or force it to collect them?
>> 
>> Could you share more details about your issue?
>> 
>> It is interested to know:
>> 1. mount output.
>> 2. nilfs_cleanerd configuration.
>> 3. system log content related to NILFS2 or nilfs_cleanerd.
>> 4. ps ax output.
>> 5. cat /proc/partitions.
>> 6. df -h
>> 
>> I think that these info can be starting point for analysis of your issue.
>> 
>> With the best regards,
>> Vyacheslav Dubeyko.
>> 
>>> 
>>> Thanks,
>>> Paolo
>>> --
>>> To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
>>> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
>>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>> 

--
To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: nilfs2 not garbage collecting
       [not found]           ` <CANku=ghdeeSLP6QsJh9jvs5fJwEYuTTV7w8iigE1nZoT74NYgQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2012-08-06  5:54             ` Vyacheslav Dubeyko
  2012-08-06 14:07               ` Paolo Giangrandi
  0 siblings, 1 reply; 18+ messages in thread
From: Vyacheslav Dubeyko @ 2012-08-06  5:54 UTC (permalink / raw)
  To: Paolo Giangrandi; +Cc: linux-nilfs

Hi Paolo,

On Sun, 2012-08-05 at 16:42 +0200, Paolo Giangrandi wrote:
> 1. Usually I'm mounting it with default options: `mount /dev/sda2 /mnt/sda2`.
> 
> 2. At the moment the configuration is like this:
> protection_period       10
> min_clean_segments      0%
> max_clean_segments      20%
> clean_check_interval    10
> selection_policy        timestamp       # timestamp in ascend order
> nsegments_per_clean     2
> mc_nsegments_per_clean  4
> cleaning_interval       5
> mc_cleaning_interval    1
> retry_interval          60
> use_mmap
> log_priority            debug
> 
> Yesterday night I played a lot with those options though.
> 
> 3. Upon mounting the filesystem, `dmesg` only shows:
> [16171.516443] segctord starting. Construction interval = 5 seconds,
> CP frequency < 30 seconds
> 
> Files in /var/log doesn't seem to contain much information either.
> Upon mounting:
> Aug  5 14:32:39 localhost kernel: [16234.023168] segctord starting.
> Construction interval = 5 seconds, CP frequency < 30 seconds
> Aug  5 14:32:39 localhost nilfs_cleanerd[1630]: start
> Aug  5 14:32:39 localhost nilfs_cleanerd[1630]: ncleansegs = 48
> Aug  5 14:32:39 localhost nilfs_cleanerd[1630]: 0 segment selected to be cleaned
> Aug  5 14:32:39 localhost nilfs_cleanerd[1630]: wait 10.000000
> 
> Then every 10 seconds (or when I call the garbage collector using
> `nilfs-clean`):
> Aug  5 14:35:28 localhost nilfs_cleanerd[1630]: wake up
> Aug  5 14:35:28 localhost nilfs_cleanerd[1630]: wait 10.000000
> 
> 4. # ps ax | grep -i nilfs
>  1630 ?        Ss     0:00 /sbin/nilfs_cleanerd -n /dev/sda2 /mnt/sda2
> 
> 5. # cat /proc/partitions
> major minor  #blocks  name
> 
>    8        0    7880544 sda
>    8        1      32098 sda1
>    8        2    7847752 sda2
>    8       16    1034879 sdb
>    8       17     393216 sdb1
>    7        0     100176 loop0
>    7        1     675840 loop1
>    7        2     675840 loop2
>    7        3      34436 loop3
>    7        4      94208 loop4
>    7        5      94208 loop5
>    7        6      61736 loop6
>    7        7     465920 loop7
>  254        0     675840 dm-0
>  254        1      94208 dm-1
>    7        8     465920 loop8
>  254        2     465920 dm-2
> 
> 6. # df -h
> Filesystem                        Size  Used Avail Use% Mounted on
> rootfs                            658M  318M  341M  49% /
> dev                               492M     0  492M   0% /dev
> run                               499M   16M  484M   4% /run
> /dev/sdb                          384M  384M     0 100% /run/archiso/bootmnt
> cowspace                          749M  8.4M  740M   2% /run/archiso/cowspace
> /dev/loop0                         98M   98M     0 100%
> /run/archiso/sfs/root-image
> /dev/mapper/arch_root-image       658M  318M  341M  49% /
> /dev/loop3                         34M   34M     0 100%
> /run/archiso/sfs/usr-lib-modules
> /dev/mapper/arch_usr-lib-modules   91M   41M   50M  46% /usr/lib/modules
> /dev/loop6                         61M   61M     0 100%
> /run/archiso/sfs/usr-share
> /dev/mapper/arch_usr-share        452M  184M  269M  41% /usr/share
> shm                               499M  4.0K  499M   1% /dev/shm
> tmpfs                             499M     0  499M   0% /tmp
> /dev/sda2                         7.5G  7.2G     0 100% /mnt/sda2
> 

Could you share full output of mount utility? I feel that I haven't full
picture without this output.

Moreover, it needs to more details about nilfs_cleanerd activity. Could
you try to kill started by default nilfs_cleanerd and try to start
nilfs_cleanerd manually with strace utility? Then it will be very
interesting to see output of strace. 

With the best regards,
Vyacheslav Dubeyko.


> The running system is an USB Live of ArchLinux 32bit. The nilfs
> programs installed are the ones shipped with the package nilfs-utils
> 2.1.4: http://www.archlinux.org/packages/core/i686/nilfs-utils/
> 
> On Sun, Aug 5, 2012 at 3:54 PM, Vyacheslav Dubeyko <slava-yeENwD64cLxBDgjK7y7TUQ@public.gmane.org> wrote:
> > Hi Paolo,
> >
> > On Aug 5, 2012, at 3:00 PM, Paolo Giangrandi wrote:
> >
> >> Hello,
> >>
> >> I'm using NILFS2 as the root filesystem of an ArchLinux on my EeePC
> >> 900A. The filesystem has been created last November.
> >> At the moment there's no more space left, `lscp` shows that there are
> >> 2648 checkpoints, but nilfs_cleanerd is in idle.
> >> I tried to tweak nilfs_cleanerd configuration, but couldn't achieve anything.
> >>
> >> Is it possible to know why nilfs_cleanerd isn't collecting the
> >> checkpoints, or force it to collect them?
> >
> > Could you share more details about your issue?
> >
> > It is interested to know:
> > 1. mount output.
> > 2. nilfs_cleanerd configuration.
> > 3. system log content related to NILFS2 or nilfs_cleanerd.
> > 4. ps ax output.
> > 5. cat /proc/partitions.
> > 6. df -h
> >
> > I think that these info can be starting point for analysis of your issue.
> >
> > With the best regards,
> > Vyacheslav Dubeyko.
> >
> >>
> >> Thanks,
> >> Paolo
> >> --
> >> To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
> >> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> >> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> >


--
To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: nilfs2 not garbage collecting
       [not found]     ` <CANku=ghnDzkFHpPZ8eT9Y3kTM62zBKMk6TjBVraE4Kisa1TRPQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
                         ` (2 preceding siblings ...)
  2012-08-05 13:54       ` Vyacheslav Dubeyko
@ 2012-08-06 10:10       ` Piotr Szymaniak
  3 siblings, 0 replies; 18+ messages in thread
From: Piotr Szymaniak @ 2012-08-06 10:10 UTC (permalink / raw)
  To: Paolo Giangrandi; +Cc: linux-nilfs-u79uwXL29TY76Z2rM5mHXA

[-- Attachment #1: Type: text/plain, Size: 186 bytes --]

On Sun, Aug 05, 2012 at 01:00:02PM +0200, Paolo Giangrandi wrote:
> Hello,
> *snip*

Paolo, make sure you send your answers also to nilfs mailing list when
you replay.

Piotr Szymaniak.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: nilfs2 not garbage collecting
       [not found]               ` <D99F26AB-309D-4325-A87C-DBF0F7BA6360-yeENwD64cLxBDgjK7y7TUQ@public.gmane.org>
@ 2012-08-06 11:48                 ` Piotr Szymaniak
  2012-08-06 13:48                   ` Paolo Giangrandi
  0 siblings, 1 reply; 18+ messages in thread
From: Piotr Szymaniak @ 2012-08-06 11:48 UTC (permalink / raw)
  To: paolo-UnihLHphgvQ1GQ1Ptb7lUw; +Cc: linux-nilfs-u79uwXL29TY76Z2rM5mHXA

[-- Attachment #1: Type: text/plain, Size: 2306 bytes --]

On Sun, Aug 05, 2012 at 08:51:21PM +0400, Vyacheslav Dubeyko wrote:
> Hi Paolo,
> 
> On Aug 5, 2012, at 6:46 PM, Paolo Giangrandi wrote:
> 
> > No, didn't try, I missed that program, and I'm quite afraid of
> > breaking something...
> > 
> > Currently checkpoints are like this:
> > 
> > # lscp | head
> >                 CNO        DATE     TIME  MODE  FLG     NBLKINC       ICNT
> >              302507  2012-07-19 15:36:17   cp    -          429     138707
> >              302508  2012-07-19 15:36:17   cp    -           27     138707
> >              302509  2012-07-19 15:36:21   cp    -           86     138708
> >              302510  2012-07-19 15:36:22   cp    -           30     138708
> >              302511  2012-07-19 15:36:22   cp    -           29     138708
> >              302512  2012-07-19 15:36:22   cp    -           27     138708
> >              302513  2012-07-19 15:36:22   cp    -           29     138708
> >              302514  2012-07-19 15:36:24   cp    -           34     138708
> >              302515  2012-07-19 15:36:24   cp    -           26     138708
> > # lscp | tail
> >              305341  2012-08-04 23:03:21   cp    -          141     138492
> >              305342  2012-08-04 23:05:06   cp    -          646     138418
> >              305343  2012-08-04 23:07:22   cp    -          229     138392
> >              305344  2002-02-26 00:01:56   cp    -          708     138392
> >              305345  2002-02-26 00:02:03   cp    -           33     138392
> >              305346  2002-02-26 00:02:22   cp    -           29     138392
> >              305347  2002-02-26 00:05:30   cp    -           25     138392
> >              305348  2002-02-26 00:08:25   cp    -           29     138392
> >              305349  2002-02-26 00:14:28   cp    -           27     138392
> >              305350  2002-02-26 00:15:01   cp    -           32     138392
> > 
> > (the date of some checkpoints is set to 2002 because that EeePC has
> > some issues with the clock: the clock battery is probably broken)

Iirc there was some issue with nilfs_cleanerd and timeshifting (and
here we have cp 305344 10 years before 305343). But I think it was
solved, so maybe you have (old)  nilfs-utils without the patch?

Piotr Szymaniak.

[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: nilfs2 not garbage collecting
  2012-08-06 11:48                 ` Piotr Szymaniak
@ 2012-08-06 13:48                   ` Paolo Giangrandi
  0 siblings, 0 replies; 18+ messages in thread
From: Paolo Giangrandi @ 2012-08-06 13:48 UTC (permalink / raw)
  To: Piotr Szymaniak; +Cc: linux-nilfs-u79uwXL29TY76Z2rM5mHXA

>
> Iirc there was some issue with nilfs_cleanerd and timeshifting (and
> here we have cp 305344 10 years before 305343). But I think it was
> solved, so maybe you have (old)  nilfs-utils without the patch?
>
> Piotr Szymaniak.

I'm not sure. I'm using nilfs tools as provided by ArchLinux package
nilfs-utils-2.1.4-1:
http://www.archlinux.org/packages/core/i686/nilfs-utils/
That package provides nilfs_cleanerd, mount.nilfs2 and the other
nilfs-related tools.
The nilfs kernel module
(/usr/lib/modules/3.4.7-1-ARCH/kernel/fs/nilfs2/nilfs2.ko.gz) is
instead provided by linux 3.4.7-1 package:
http://www.archlinux.org/packages/core/i686/linux/

These packages seems up to date. They don't seem to apply any patch though.

Anyway I've always had this issue with the system date (since before
creating the filesystem): the date gets set by NTP as soon as the
system connects to internet, and this didn't ever cause any trouble to
the filesystem.
--
To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: nilfs2 not garbage collecting
  2012-08-06  5:54             ` Vyacheslav Dubeyko
@ 2012-08-06 14:07               ` Paolo Giangrandi
       [not found]                 ` <CANku=ggMp_gBgijee2umhNf5dBQO4zvmqopKBz70V1Z81oShVA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  0 siblings, 1 reply; 18+ messages in thread
From: Paolo Giangrandi @ 2012-08-06 14:07 UTC (permalink / raw)
  To: Vyacheslav Dubeyko; +Cc: linux-nilfs

On Mon, Aug 6, 2012 at 7:54 AM, Vyacheslav Dubeyko <slava-yeENwD64cLxBDgjK7y7TUQ@public.gmane.org> wrote:
> Hi Paolo,
>
> Could you share full output of mount utility? I feel that I haven't full
> picture without this output.
>
> Moreover, it needs to more details about nilfs_cleanerd activity. Could
> you try to kill started by default nilfs_cleanerd and try to start
> nilfs_cleanerd manually with strace utility? Then it will be very
> interesting to see output of strace.
>
> With the best regards,
> Vyacheslav Dubeyko.
>

`mount` is quite quiet:
# mount -v /dev/sda2 /mnt/sda2
mount.nilfs2: started nilfs_cleanerd

About strace:
# nilfs-clean -q
# strace -o nilfs_cleanerd.strace nilfs_cleanerd -n /dev/sda2 /mnt/sda2
The content of nilfs_cleanerd.strace is now:
---
execve("/sbin/nilfs_cleanerd", ["nilfs_cleanerd", "-n", "/dev/sda2",
"/mnt/sda2"], [/* 29 vars */]) = 0
brk(0)                                  = 0x9534000
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0xb77b7000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=26475, ...}) = 0
mmap2(NULL, 26475, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb77b0000
close(3)                                = 0
open("/lib/libnilfs.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300\22\0\0004\0\0\0"...,
512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=22980, ...}) = 0
mmap2(NULL, 25796, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
0) = 0xb77a9000
mmap2(0xb77ae000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4) = 0xb77ae000
close(3)                                = 0
open("/lib/libnilfsgc.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300\16\0\0004\0\0\0"...,
512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=17844, ...}) = 0
mmap2(NULL, 16564, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
0) = 0xb77a4000
mmap2(0xb77a7000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3) = 0xb77a7000
close(3)                                = 0
open("/lib/librt.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0@\31\0\0004\0\0\0"...,
512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=30684, ...}) = 0
mmap2(NULL, 33356, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
0) = 0xb779b000
mmap2(0xb77a2000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6) = 0xb77a2000
close(3)                                = 0
open("/lib/libuuid.so.1", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\320\20\0\0004\0\0\0"...,
512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=18028, ...}) = 0
mmap2(NULL, 20712, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
0) = 0xb7795000
mmap2(0xb7799000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3) = 0xb7799000
close(3)                                = 0
open("/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\3\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`\227\1\0004\0\0\0"...,
512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1967415, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0xb7794000
mmap2(NULL, 1727172, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE,
3, 0) = 0xb75ee000
mprotect(0xb778d000, 4096, PROT_NONE)   = 0
mmap2(0xb778e000, 12288, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x19f) = 0xb778e000
mmap2(0xb7791000, 10948, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7791000
close(3)                                = 0
open("/lib/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0P[\0\0004\0\0\0"...,
512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=130395, ...}) = 0
mmap2(NULL, 107004, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
0) = 0xb75d3000
mmap2(0xb75ea000, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x16) = 0xb75ea000
mmap2(0xb75ec000, 4604, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb75ec000
close(3)                                = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0xb75d2000
set_thread_area({entry_number:-1 -> 6, base_addr:0xb75d2940,
limit:1048575, seg_32bit:1, contents:0, read_exec_only:0,
limit_in_pages:1, seg_not_present:0, useable:1}) = 0
mprotect(0xb778e000, 8192, PROT_READ)   = 0
mprotect(0xb75ea000, 4096, PROT_READ)   = 0
mprotect(0xb7799000, 4096, PROT_READ)   = 0
mprotect(0xb77a2000, 4096, PROT_READ)   = 0
mprotect(0xb77ae000, 4096, PROT_READ)   = 0
mprotect(0xb77a7000, 4096, PROT_READ)   = 0
mprotect(0x804e000, 4096, PROT_READ)    = 0
mprotect(0xb77d9000, 4096, PROT_READ)   = 0
munmap(0xb77b0000, 26475)               = 0
set_tid_address(0xb75d29a8)             = 1026
set_robust_list(0xb75d29b0, 12)         = 0
rt_sigaction(SIGRTMIN, {0xb75d85f0, [], SA_SIGINFO}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0xb75d8680, [], SA_RESTART|SA_SIGINFO}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
uname({sys="Linux", node="archiso", ...}) = 0
readlink("/dev", 0xbfe242ab, 4096)      = -1 EINVAL (Invalid argument)
readlink("/dev/sda2", 0xbfe242ab, 4096) = -1 EINVAL (Invalid argument)
brk(0)                                  = 0x9534000
brk(0x9555000)                          = 0x9555000
readlink("/mnt", 0xbfe242ab, 4096)      = -1 EINVAL (Invalid argument)
readlink("/mnt/sda2", 0xbfe242ab, 4096) = -1 EINVAL (Invalid argument)
setsid()                                = 1026
chdir("/")                              = 0
close(0)                                = 0
close(1)                                = 0
close(2)                                = 0
open("/dev/null", O_RDONLY|O_LARGEFILE) = 0
open("/dev/null", O_WRONLY|O_LARGEFILE) = 1
open("/dev/null", O_WRONLY|O_LARGEFILE) = 2
time(NULL)                              = 1344261563
open("/etc/localtime", O_RDONLY|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=118, ...}) = 0
fstat64(3, {st_mode=S_IFREG|0644, st_size=118, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0xb77b6000
read(3, "TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\1\0\0\0\0"...,
1024) = 118
_llseek(3, -6, [112], SEEK_CUR)         = 0
read(3, "\nUTC0\n", 1024)               = 6
_llseek(3, 117, [117], SEEK_SET)        = 0
close(3)                                = 0
munmap(0xb77b6000, 4096)                = 0
socket(PF_FILE, SOCK_DGRAM|SOCK_CLOEXEC, 0) = 3
connect(3, {sa_family=AF_FILE, sun_path="/dev/log"}, 110) = 0
send(3, "<30>Aug  6 13:59:23 nilfs_cleane"..., 47, MSG_NOSIGNAL) = 47
open("/dev/sda2", O_RDONLY|O_LARGEFILE) = 4
ioctl(4, BLKGETSIZE64, 8036098560)      = 0
_llseek(4, 1024, [1024], SEEK_SET)      = 0
read(4, "\2\0\0\0\0\00044\30\1\0\0|\254\177\302\275p\270\257\2\0\0\0\275\3\0\0\0\0\0\0"...,
1024) = 1024
_llseek(4, 8036093952, [8036093952], SEEK_SET) = 0
read(4, "\2\0\0\0\0\00044\30\1\0\0|\254\177\302\275p\270\257\2\0\0\0\275\3\0\0\0\0\0\0"...,
1024) = 1024
readlink("/dev", 0xbfe229eb, 4096)      = -1 EINVAL (Invalid argument)
readlink("/dev/sda2", 0xbfe229eb, 4096) = -1 EINVAL (Invalid argument)
readlink("/mnt", 0xbfe229eb, 4096)      = -1 EINVAL (Invalid argument)
readlink("/mnt/sda2", 0xbfe229eb, 4096) = -1 EINVAL (Invalid argument)
open("/proc/mounts", O_RDONLY|O_LARGEFILE) = 5
fstat64(5, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0xb77b6000
read(5, "rootfs / rootfs rw 0 0\nproc /pro"..., 1024) = 1024
read(5, "s2 rw,relatime 0 0\n", 1024)   = 19
readlink("/mnt", 0xbfe229eb, 4096)      = -1 EINVAL (Invalid argument)
readlink("/mnt/sda2", 0xbfe229eb, 4096) = -1 EINVAL (Invalid argument)
readlink("/dev", 0xbfe229eb, 4096)      = -1 EINVAL (Invalid argument)
readlink("/dev/sda2", 0xbfe229eb, 4096) = -1 EINVAL (Invalid argument)
close(5)                                = 0
munmap(0xb77b6000, 4096)                = 0
open("/mnt/sda2", O_RDONLY|O_LARGEFILE) = 5
stat64("/dev/sda2", {st_mode=S_IFBLK|0660, st_rdev=makedev(8, 2), ...}) = 0
statfs("/dev/shm", {f_type=0x1021994, f_bsize=4096, f_blocks=127669,
f_bfree=127668, f_bavail=127668, f_files=127669, f_ffree=127667,
f_fsid={0, 0}, f_namelen=255, f_frsize=4096}) = 0
futex(0xb75ed1a8, FUTEX_WAKE_PRIVATE, 2147483647) = 0
open("/dev/shm/sem.nilfs-cleaner-2050", O_RDWR|O_NOFOLLOW) = 6
fstat64(6, {st_mode=S_IFREG|0700, st_size=16, ...}) = 0
mmap2(NULL, 16, PROT_READ|PROT_WRITE, MAP_SHARED, 6, 0) = 0xb77b6000
close(6)                                = 0
stat64("/etc/nilfs_cleanerd.conf", {st_mode=S_IFREG|0644,
st_size=1813, ...}) = 0
open("/etc/nilfs_cleanerd.conf", O_RDONLY|O_LARGEFILE) = 6
fstat64(6, {st_mode=S_IFREG|0644, st_size=1813, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0xb77b5000
read(6, "# nilfs_cleanerd.conf - configur"..., 4096) = 1813
read(6, "", 4096)                       = 0
close(6)                                = 0
munmap(0xb77b5000, 4096)                = 0
stat64("/dev/sda2", {st_mode=S_IFBLK|0660, st_rdev=makedev(8, 2), ...}) = 0
mq_open("nilfs-cleanerq-2050", O_RDONLY|O_CREAT, 0600, {mq_maxmsg=6,
mq_msgsize=4096}) = 6
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigaction(SIGTERM, {0x804b260, ~[RTMIN RT_1], 0}, NULL, 8) = 0
rt_sigaction(SIGHUP, {0x804b250, ~[RTMIN RT_1], 0}, NULL, 8) = 0
gettimeofday({1344261563, 753241}, NULL) = 0
time(NULL)                              = 1344261563
send(3, "<30>Aug  6 13:59:23 nilfs_cleane"..., 61, MSG_NOSIGNAL) = 61
rt_sigprocmask(SIG_BLOCK, [HUP], NULL, 8) = 0
ioctl(5, 0x80306e85, 0xbfe253d0)        = 0
time(NULL)                              = 1344261563
send(3, "<30>Aug  6 13:59:23 nilfs_cleane"..., 62, MSG_NOSIGNAL) = 62
gettimeofday({1344261563, 755312}, NULL) = 0
ioctl(5, 0x80186e84, 0xbfe23218)        = 0
ioctl(5, 0x80186e84, 0xbfe23218)        = 0
gettimeofday({1344261563, 756199}, NULL) = 0
rt_sigprocmask(SIG_UNBLOCK, [HUP], NULL, 8) = 0
gettimeofday({1344261563, 756672}, NULL) = 0
mq_timedreceive(6, #
---

This time I used the default nilfs_cleanerd.conf as provided by arch:
# cat /etc/nilfs_cleanerd.conf | grep -v "^#" | grep -v "^$"
protection_period       3600
min_clean_segments      10%
max_clean_segments      20%
clean_check_interval    10
selection_policy        timestamp       # timestamp in ascend order
nsegments_per_clean     2
mc_nsegments_per_clean  4
cleaning_interval       5
mc_cleaning_interval    1
retry_interval          60
use_mmap
log_priority            info


Tomorrow I'll backup the content of that filesystem and will try to
manually remove some checkpoints.

In case you need it, I could create a snapshot of the whole filesystem
and share it.
--
To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: nilfs2 not garbage collecting
       [not found]                 ` <CANku=ggMp_gBgijee2umhNf5dBQO4zvmqopKBz70V1Z81oShVA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2012-08-08  6:13                   ` Vyacheslav Dubeyko
  2012-08-08 15:08                     ` Paolo Giangrandi
       [not found]                     ` <CANku=gjA=_Up4OJPLGU4P+8Zw3o8=J3BGFWTgPsHd9d=uUV_PA@mail.gmail.com>
  0 siblings, 2 replies; 18+ messages in thread
From: Vyacheslav Dubeyko @ 2012-08-08  6:13 UTC (permalink / raw)
  To: Paolo Giangrandi; +Cc: linux-nilfs

Hi Paolo,

I can't see any strange or suspicious in your traces. As I can
understand, nilfs_cleanerd is working with proper volume. If you have
freshly updated system then you have actual state of nilfs-utils (maybe
without one commit which is not important for the issue).

I think that maybe date of some checkpoints (and the sequence) on your
file system can confuse nilfs-cleanerd. This supposition needs in more
detailed investigation.

So, could you share information about nilfs-cleanerd's behavior after
manual checkpoints deletion?

With the best regards,
Vyacheslav Dubeyko. 


On Mon, 2012-08-06 at 16:07 +0200, Paolo Giangrandi wrote:
> On Mon, Aug 6, 2012 at 7:54 AM, Vyacheslav Dubeyko <slava-yeENwD64cLxBDgjK7y7TUQ@public.gmane.org> wrote:
> > Hi Paolo,
> >
> > Could you share full output of mount utility? I feel that I haven't full
> > picture without this output.
> >
> > Moreover, it needs to more details about nilfs_cleanerd activity. Could
> > you try to kill started by default nilfs_cleanerd and try to start
> > nilfs_cleanerd manually with strace utility? Then it will be very
> > interesting to see output of strace.
> >
> > With the best regards,
> > Vyacheslav Dubeyko.
> >
> 
> `mount` is quite quiet:
> # mount -v /dev/sda2 /mnt/sda2
> mount.nilfs2: started nilfs_cleanerd
> 
> About strace:
> # nilfs-clean -q
> # strace -o nilfs_cleanerd.strace nilfs_cleanerd -n /dev/sda2 /mnt/sda2
> The content of nilfs_cleanerd.strace is now:
> ---
> execve("/sbin/nilfs_cleanerd", ["nilfs_cleanerd", "-n", "/dev/sda2",
> "/mnt/sda2"], [/* 29 vars */]) = 0
> brk(0)                                  = 0x9534000
> mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
> 0) = 0xb77b7000
> access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
> open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
> fstat64(3, {st_mode=S_IFREG|0644, st_size=26475, ...}) = 0
> mmap2(NULL, 26475, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb77b0000
> close(3)                                = 0
> open("/lib/libnilfs.so.0", O_RDONLY|O_CLOEXEC) = 3
> read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300\22\0\0004\0\0\0"...,
> 512) = 512
> fstat64(3, {st_mode=S_IFREG|0755, st_size=22980, ...}) = 0
> mmap2(NULL, 25796, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
> 0) = 0xb77a9000
> mmap2(0xb77ae000, 8192, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4) = 0xb77ae000
> close(3)                                = 0
> open("/lib/libnilfsgc.so.0", O_RDONLY|O_CLOEXEC) = 3
> read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300\16\0\0004\0\0\0"...,
> 512) = 512
> fstat64(3, {st_mode=S_IFREG|0755, st_size=17844, ...}) = 0
> mmap2(NULL, 16564, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
> 0) = 0xb77a4000
> mmap2(0xb77a7000, 8192, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3) = 0xb77a7000
> close(3)                                = 0
> open("/lib/librt.so.1", O_RDONLY|O_CLOEXEC) = 3
> read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0@\31\0\0004\0\0\0"...,
> 512) = 512
> fstat64(3, {st_mode=S_IFREG|0755, st_size=30684, ...}) = 0
> mmap2(NULL, 33356, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
> 0) = 0xb779b000
> mmap2(0xb77a2000, 8192, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6) = 0xb77a2000
> close(3)                                = 0
> open("/lib/libuuid.so.1", O_RDONLY|O_CLOEXEC) = 3
> read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\320\20\0\0004\0\0\0"...,
> 512) = 512
> fstat64(3, {st_mode=S_IFREG|0755, st_size=18028, ...}) = 0
> mmap2(NULL, 20712, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
> 0) = 0xb7795000
> mmap2(0xb7799000, 8192, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3) = 0xb7799000
> close(3)                                = 0
> open("/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
> read(3, "\177ELF\1\1\1\3\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`\227\1\0004\0\0\0"...,
> 512) = 512
> fstat64(3, {st_mode=S_IFREG|0755, st_size=1967415, ...}) = 0
> mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
> 0) = 0xb7794000
> mmap2(NULL, 1727172, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE,
> 3, 0) = 0xb75ee000
> mprotect(0xb778d000, 4096, PROT_NONE)   = 0
> mmap2(0xb778e000, 12288, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x19f) = 0xb778e000
> mmap2(0xb7791000, 10948, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7791000
> close(3)                                = 0
> open("/lib/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
> read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0P[\0\0004\0\0\0"...,
> 512) = 512
> fstat64(3, {st_mode=S_IFREG|0755, st_size=130395, ...}) = 0
> mmap2(NULL, 107004, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
> 0) = 0xb75d3000
> mmap2(0xb75ea000, 8192, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x16) = 0xb75ea000
> mmap2(0xb75ec000, 4604, PROT_READ|PROT_WRITE,
> MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb75ec000
> close(3)                                = 0
> mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
> 0) = 0xb75d2000
> set_thread_area({entry_number:-1 -> 6, base_addr:0xb75d2940,
> limit:1048575, seg_32bit:1, contents:0, read_exec_only:0,
> limit_in_pages:1, seg_not_present:0, useable:1}) = 0
> mprotect(0xb778e000, 8192, PROT_READ)   = 0
> mprotect(0xb75ea000, 4096, PROT_READ)   = 0
> mprotect(0xb7799000, 4096, PROT_READ)   = 0
> mprotect(0xb77a2000, 4096, PROT_READ)   = 0
> mprotect(0xb77ae000, 4096, PROT_READ)   = 0
> mprotect(0xb77a7000, 4096, PROT_READ)   = 0
> mprotect(0x804e000, 4096, PROT_READ)    = 0
> mprotect(0xb77d9000, 4096, PROT_READ)   = 0
> munmap(0xb77b0000, 26475)               = 0
> set_tid_address(0xb75d29a8)             = 1026
> set_robust_list(0xb75d29b0, 12)         = 0
> rt_sigaction(SIGRTMIN, {0xb75d85f0, [], SA_SIGINFO}, NULL, 8) = 0
> rt_sigaction(SIGRT_1, {0xb75d8680, [], SA_RESTART|SA_SIGINFO}, NULL, 8) = 0
> rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
> getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
> uname({sys="Linux", node="archiso", ...}) = 0
> readlink("/dev", 0xbfe242ab, 4096)      = -1 EINVAL (Invalid argument)
> readlink("/dev/sda2", 0xbfe242ab, 4096) = -1 EINVAL (Invalid argument)
> brk(0)                                  = 0x9534000
> brk(0x9555000)                          = 0x9555000
> readlink("/mnt", 0xbfe242ab, 4096)      = -1 EINVAL (Invalid argument)
> readlink("/mnt/sda2", 0xbfe242ab, 4096) = -1 EINVAL (Invalid argument)
> setsid()                                = 1026
> chdir("/")                              = 0
> close(0)                                = 0
> close(1)                                = 0
> close(2)                                = 0
> open("/dev/null", O_RDONLY|O_LARGEFILE) = 0
> open("/dev/null", O_WRONLY|O_LARGEFILE) = 1
> open("/dev/null", O_WRONLY|O_LARGEFILE) = 2
> time(NULL)                              = 1344261563
> open("/etc/localtime", O_RDONLY|O_CLOEXEC) = 3
> fstat64(3, {st_mode=S_IFREG|0644, st_size=118, ...}) = 0
> fstat64(3, {st_mode=S_IFREG|0644, st_size=118, ...}) = 0
> mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
> 0) = 0xb77b6000
> read(3, "TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\1\0\0\0\0"...,
> 1024) = 118
> _llseek(3, -6, [112], SEEK_CUR)         = 0
> read(3, "\nUTC0\n", 1024)               = 6
> _llseek(3, 117, [117], SEEK_SET)        = 0
> close(3)                                = 0
> munmap(0xb77b6000, 4096)                = 0
> socket(PF_FILE, SOCK_DGRAM|SOCK_CLOEXEC, 0) = 3
> connect(3, {sa_family=AF_FILE, sun_path="/dev/log"}, 110) = 0
> send(3, "<30>Aug  6 13:59:23 nilfs_cleane"..., 47, MSG_NOSIGNAL) = 47
> open("/dev/sda2", O_RDONLY|O_LARGEFILE) = 4
> ioctl(4, BLKGETSIZE64, 8036098560)      = 0
> _llseek(4, 1024, [1024], SEEK_SET)      = 0
> read(4, "\2\0\0\0\0\00044\30\1\0\0|\254\177\302\275p\270\257\2\0\0\0\275\3\0\0\0\0\0\0"...,
> 1024) = 1024
> _llseek(4, 8036093952, [8036093952], SEEK_SET) = 0
> read(4, "\2\0\0\0\0\00044\30\1\0\0|\254\177\302\275p\270\257\2\0\0\0\275\3\0\0\0\0\0\0"...,
> 1024) = 1024
> readlink("/dev", 0xbfe229eb, 4096)      = -1 EINVAL (Invalid argument)
> readlink("/dev/sda2", 0xbfe229eb, 4096) = -1 EINVAL (Invalid argument)
> readlink("/mnt", 0xbfe229eb, 4096)      = -1 EINVAL (Invalid argument)
> readlink("/mnt/sda2", 0xbfe229eb, 4096) = -1 EINVAL (Invalid argument)
> open("/proc/mounts", O_RDONLY|O_LARGEFILE) = 5
> fstat64(5, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
> mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
> 0) = 0xb77b6000
> read(5, "rootfs / rootfs rw 0 0\nproc /pro"..., 1024) = 1024
> read(5, "s2 rw,relatime 0 0\n", 1024)   = 19
> readlink("/mnt", 0xbfe229eb, 4096)      = -1 EINVAL (Invalid argument)
> readlink("/mnt/sda2", 0xbfe229eb, 4096) = -1 EINVAL (Invalid argument)
> readlink("/dev", 0xbfe229eb, 4096)      = -1 EINVAL (Invalid argument)
> readlink("/dev/sda2", 0xbfe229eb, 4096) = -1 EINVAL (Invalid argument)
> close(5)                                = 0
> munmap(0xb77b6000, 4096)                = 0
> open("/mnt/sda2", O_RDONLY|O_LARGEFILE) = 5
> stat64("/dev/sda2", {st_mode=S_IFBLK|0660, st_rdev=makedev(8, 2), ...}) = 0
> statfs("/dev/shm", {f_type=0x1021994, f_bsize=4096, f_blocks=127669,
> f_bfree=127668, f_bavail=127668, f_files=127669, f_ffree=127667,
> f_fsid={0, 0}, f_namelen=255, f_frsize=4096}) = 0
> futex(0xb75ed1a8, FUTEX_WAKE_PRIVATE, 2147483647) = 0
> open("/dev/shm/sem.nilfs-cleaner-2050", O_RDWR|O_NOFOLLOW) = 6
> fstat64(6, {st_mode=S_IFREG|0700, st_size=16, ...}) = 0
> mmap2(NULL, 16, PROT_READ|PROT_WRITE, MAP_SHARED, 6, 0) = 0xb77b6000
> close(6)                                = 0
> stat64("/etc/nilfs_cleanerd.conf", {st_mode=S_IFREG|0644,
> st_size=1813, ...}) = 0
> open("/etc/nilfs_cleanerd.conf", O_RDONLY|O_LARGEFILE) = 6
> fstat64(6, {st_mode=S_IFREG|0644, st_size=1813, ...}) = 0
> mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
> 0) = 0xb77b5000
> read(6, "# nilfs_cleanerd.conf - configur"..., 4096) = 1813
> read(6, "", 4096)                       = 0
> close(6)                                = 0
> munmap(0xb77b5000, 4096)                = 0
> stat64("/dev/sda2", {st_mode=S_IFBLK|0660, st_rdev=makedev(8, 2), ...}) = 0
> mq_open("nilfs-cleanerq-2050", O_RDONLY|O_CREAT, 0600, {mq_maxmsg=6,
> mq_msgsize=4096}) = 6
> rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
> rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
> rt_sigaction(SIGTERM, {0x804b260, ~[RTMIN RT_1], 0}, NULL, 8) = 0
> rt_sigaction(SIGHUP, {0x804b250, ~[RTMIN RT_1], 0}, NULL, 8) = 0
> gettimeofday({1344261563, 753241}, NULL) = 0
> time(NULL)                              = 1344261563
> send(3, "<30>Aug  6 13:59:23 nilfs_cleane"..., 61, MSG_NOSIGNAL) = 61
> rt_sigprocmask(SIG_BLOCK, [HUP], NULL, 8) = 0
> ioctl(5, 0x80306e85, 0xbfe253d0)        = 0
> time(NULL)                              = 1344261563
> send(3, "<30>Aug  6 13:59:23 nilfs_cleane"..., 62, MSG_NOSIGNAL) = 62
> gettimeofday({1344261563, 755312}, NULL) = 0
> ioctl(5, 0x80186e84, 0xbfe23218)        = 0
> ioctl(5, 0x80186e84, 0xbfe23218)        = 0
> gettimeofday({1344261563, 756199}, NULL) = 0
> rt_sigprocmask(SIG_UNBLOCK, [HUP], NULL, 8) = 0
> gettimeofday({1344261563, 756672}, NULL) = 0
> mq_timedreceive(6, #
> ---
> 
> This time I used the default nilfs_cleanerd.conf as provided by arch:
> # cat /etc/nilfs_cleanerd.conf | grep -v "^#" | grep -v "^$"
> protection_period       3600
> min_clean_segments      10%
> max_clean_segments      20%
> clean_check_interval    10
> selection_policy        timestamp       # timestamp in ascend order
> nsegments_per_clean     2
> mc_nsegments_per_clean  4
> cleaning_interval       5
> mc_cleaning_interval    1
> retry_interval          60
> use_mmap
> log_priority            info
> 
> 
> Tomorrow I'll backup the content of that filesystem and will try to
> manually remove some checkpoints.
> 
> In case you need it, I could create a snapshot of the whole filesystem
> and share it.
> --
> To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html


--
To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: nilfs2 not garbage collecting
  2012-08-08  6:13                   ` Vyacheslav Dubeyko
@ 2012-08-08 15:08                     ` Paolo Giangrandi
       [not found]                     ` <CANku=gjA=_Up4OJPLGU4P+8Zw3o8=J3BGFWTgPsHd9d=uUV_PA@mail.gmail.com>
  1 sibling, 0 replies; 18+ messages in thread
From: Paolo Giangrandi @ 2012-08-08 15:08 UTC (permalink / raw)
  To: Vyacheslav Dubeyko; +Cc: linux-nilfs

After creating an image of the filesystem, I erased all of the
checkpoints (`rmcp ..305356`, it worked, as confirmed by `lscp`).
nilfs_cleanerd (run with ArchLinux default options) didn't release any
space until I ran `nilfs-clean -p0`. At that point these lines got
appended to the log files:

/var/log/everything.log:Mar  1 15:38:34 localhost nilfs_cleanerd[944]:
received run command
/var/log/everything.log:Mar  1 15:38:34 localhost nilfs_cleanerd[944]:
run (manual)
/var/log/everything.log:Mar  1 15:38:34 localhost nilfs_cleanerd[944]:
command run acked
/var/log/everything.log:Mar  1 15:38:34 localhost nilfs_cleanerd[944]:
ncleansegs = 48
/var/log/everything.log:Mar  1 15:38:34 localhost nilfs_cleanerd[944]:
4 segments selected to be cleaned
/var/log/everything.log:Mar  1 15:38:36 localhost nilfs_cleanerd[944]:
segment 806 cleaned
/var/log/everything.log:Mar  1 15:38:36 localhost nilfs_cleanerd[944]:
segment 807 cleaned
/var/log/everything.log:Mar  1 15:38:36 localhost nilfs_cleanerd[944]:
segment 808 cleaned
/var/log/everything.log:Mar  1 15:38:36 localhost nilfs_cleanerd[944]:
segment 809 cleaned
/var/log/everything.log:Mar  1 15:38:36 localhost nilfs_cleanerd[944]:
adjust interval
/var/log/everything.log:Mar  1 15:38:36 localhost nilfs_cleanerd[944]:
wait 0.000000
/var/log/everything.log:Mar  1 15:38:36 localhost nilfs_cleanerd[944]: wake up
/var/log/everything.log:Mar  1 15:38:36 localhost nilfs_cleanerd[944]:
ncleansegs = 52
/var/log/everything.log:Mar  1 15:38:36 localhost nilfs_cleanerd[944]:
3 segments selected to be cleaned
/var/log/everything.log:Mar  1 15:38:38 localhost nilfs_cleanerd[944]:
segment 810 cleaned
/var/log/everything.log:Mar  1 15:38:38 localhost nilfs_cleanerd[944]:
segment 811 cleaned
/var/log/everything.log:Mar  1 15:38:38 localhost nilfs_cleanerd[944]:
segment 812 cleaned
/var/log/everything.log:Mar  1 15:38:38 localhost nilfs_cleanerd[944]:
adjust interval
/var/log/everything.log:Mar  1 15:38:38 localhost nilfs_cleanerd[944]:
wait 0.000000
/var/log/everything.log:Mar  1 15:38:38 localhost nilfs_cleanerd[944]:
received get-status command
/var/log/everything.log:Mar  1 15:38:38 localhost nilfs_cleanerd[944]:
command get-status acked
/var/log/everything.log:Mar  1 15:38:38 localhost nilfs_cleanerd[944]:
ncleansegs = 54
/var/log/everything.log:Mar  1 15:38:38 localhost nilfs_cleanerd[944]:
0 segment selected to be cleaned
/var/log/everything.log:Mar  1 15:38:38 localhost nilfs_cleanerd[944]:
manual run completed
/var/log/everything.log:Mar  1 15:38:38 localhost nilfs_cleanerd[944]:
wait 10.000000

and a few kilobytes got free'd:
# df | grep sda2
/dev/sda2                          7839740 7397372     49152 100% /mnt

Now nilfs_cleanerd seems unable again to free more space.
Should I try anything else, before recreating the filesystem?
If you are interested into it, I can share the 7.5GB raw filesystem image.

On Wed, Aug 8, 2012 at 8:13 AM, Vyacheslav Dubeyko <slava-yeENwD64cLxBDgjK7y7TUQ@public.gmane.org> wrote:
> Hi Paolo,
>
> I can't see any strange or suspicious in your traces. As I can
> understand, nilfs_cleanerd is working with proper volume. If you have
> freshly updated system then you have actual state of nilfs-utils (maybe
> without one commit which is not important for the issue).
>
> I think that maybe date of some checkpoints (and the sequence) on your
> file system can confuse nilfs-cleanerd. This supposition needs in more
> detailed investigation.
>
> So, could you share information about nilfs-cleanerd's behavior after
> manual checkpoints deletion?
>
> With the best regards,
> Vyacheslav Dubeyko.
>
>
> On Mon, 2012-08-06 at 16:07 +0200, Paolo Giangrandi wrote:
>> On Mon, Aug 6, 2012 at 7:54 AM, Vyacheslav Dubeyko <slava-yeENwD64cLxBDgjK7y7TUQ@public.gmane.org> wrote:
>> > Hi Paolo,
>> >
>> > Could you share full output of mount utility? I feel that I haven't full
>> > picture without this output.
>> >
>> > Moreover, it needs to more details about nilfs_cleanerd activity. Could
>> > you try to kill started by default nilfs_cleanerd and try to start
>> > nilfs_cleanerd manually with strace utility? Then it will be very
>> > interesting to see output of strace.
>> >
>> > With the best regards,
>> > Vyacheslav Dubeyko.
>> >
>>
>> `mount` is quite quiet:
>> # mount -v /dev/sda2 /mnt/sda2
>> mount.nilfs2: started nilfs_cleanerd
>>
>> About strace:
>> # nilfs-clean -q
>> # strace -o nilfs_cleanerd.strace nilfs_cleanerd -n /dev/sda2 /mnt/sda2
>> The content of nilfs_cleanerd.strace is now:
>> ---
>> execve("/sbin/nilfs_cleanerd", ["nilfs_cleanerd", "-n", "/dev/sda2",
>> "/mnt/sda2"], [/* 29 vars */]) = 0
>> brk(0)                                  = 0x9534000
>> mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
>> 0) = 0xb77b7000
>> access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
>> open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
>> fstat64(3, {st_mode=S_IFREG|0644, st_size=26475, ...}) = 0
>> mmap2(NULL, 26475, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb77b0000
>> close(3)                                = 0
>> open("/lib/libnilfs.so.0", O_RDONLY|O_CLOEXEC) = 3
>> read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300\22\0\0004\0\0\0"...,
>> 512) = 512
>> fstat64(3, {st_mode=S_IFREG|0755, st_size=22980, ...}) = 0
>> mmap2(NULL, 25796, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
>> 0) = 0xb77a9000
>> mmap2(0xb77ae000, 8192, PROT_READ|PROT_WRITE,
>> MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4) = 0xb77ae000
>> close(3)                                = 0
>> open("/lib/libnilfsgc.so.0", O_RDONLY|O_CLOEXEC) = 3
>> read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300\16\0\0004\0\0\0"...,
>> 512) = 512
>> fstat64(3, {st_mode=S_IFREG|0755, st_size=17844, ...}) = 0
>> mmap2(NULL, 16564, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
>> 0) = 0xb77a4000
>> mmap2(0xb77a7000, 8192, PROT_READ|PROT_WRITE,
>> MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3) = 0xb77a7000
>> close(3)                                = 0
>> open("/lib/librt.so.1", O_RDONLY|O_CLOEXEC) = 3
>> read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0@\31\0\0004\0\0\0"...,
>> 512) = 512
>> fstat64(3, {st_mode=S_IFREG|0755, st_size=30684, ...}) = 0
>> mmap2(NULL, 33356, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
>> 0) = 0xb779b000
>> mmap2(0xb77a2000, 8192, PROT_READ|PROT_WRITE,
>> MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x6) = 0xb77a2000
>> close(3)                                = 0
>> open("/lib/libuuid.so.1", O_RDONLY|O_CLOEXEC) = 3
>> read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\320\20\0\0004\0\0\0"...,
>> 512) = 512
>> fstat64(3, {st_mode=S_IFREG|0755, st_size=18028, ...}) = 0
>> mmap2(NULL, 20712, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
>> 0) = 0xb7795000
>> mmap2(0xb7799000, 8192, PROT_READ|PROT_WRITE,
>> MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3) = 0xb7799000
>> close(3)                                = 0
>> open("/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
>> read(3, "\177ELF\1\1\1\3\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`\227\1\0004\0\0\0"...,
>> 512) = 512
>> fstat64(3, {st_mode=S_IFREG|0755, st_size=1967415, ...}) = 0
>> mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
>> 0) = 0xb7794000
>> mmap2(NULL, 1727172, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE,
>> 3, 0) = 0xb75ee000
>> mprotect(0xb778d000, 4096, PROT_NONE)   = 0
>> mmap2(0xb778e000, 12288, PROT_READ|PROT_WRITE,
>> MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x19f) = 0xb778e000
>> mmap2(0xb7791000, 10948, PROT_READ|PROT_WRITE,
>> MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7791000
>> close(3)                                = 0
>> open("/lib/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3
>> read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0P[\0\0004\0\0\0"...,
>> 512) = 512
>> fstat64(3, {st_mode=S_IFREG|0755, st_size=130395, ...}) = 0
>> mmap2(NULL, 107004, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3,
>> 0) = 0xb75d3000
>> mmap2(0xb75ea000, 8192, PROT_READ|PROT_WRITE,
>> MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x16) = 0xb75ea000
>> mmap2(0xb75ec000, 4604, PROT_READ|PROT_WRITE,
>> MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb75ec000
>> close(3)                                = 0
>> mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
>> 0) = 0xb75d2000
>> set_thread_area({entry_number:-1 -> 6, base_addr:0xb75d2940,
>> limit:1048575, seg_32bit:1, contents:0, read_exec_only:0,
>> limit_in_pages:1, seg_not_present:0, useable:1}) = 0
>> mprotect(0xb778e000, 8192, PROT_READ)   = 0
>> mprotect(0xb75ea000, 4096, PROT_READ)   = 0
>> mprotect(0xb7799000, 4096, PROT_READ)   = 0
>> mprotect(0xb77a2000, 4096, PROT_READ)   = 0
>> mprotect(0xb77ae000, 4096, PROT_READ)   = 0
>> mprotect(0xb77a7000, 4096, PROT_READ)   = 0
>> mprotect(0x804e000, 4096, PROT_READ)    = 0
>> mprotect(0xb77d9000, 4096, PROT_READ)   = 0
>> munmap(0xb77b0000, 26475)               = 0
>> set_tid_address(0xb75d29a8)             = 1026
>> set_robust_list(0xb75d29b0, 12)         = 0
>> rt_sigaction(SIGRTMIN, {0xb75d85f0, [], SA_SIGINFO}, NULL, 8) = 0
>> rt_sigaction(SIGRT_1, {0xb75d8680, [], SA_RESTART|SA_SIGINFO}, NULL, 8) = 0
>> rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
>> getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
>> uname({sys="Linux", node="archiso", ...}) = 0
>> readlink("/dev", 0xbfe242ab, 4096)      = -1 EINVAL (Invalid argument)
>> readlink("/dev/sda2", 0xbfe242ab, 4096) = -1 EINVAL (Invalid argument)
>> brk(0)                                  = 0x9534000
>> brk(0x9555000)                          = 0x9555000
>> readlink("/mnt", 0xbfe242ab, 4096)      = -1 EINVAL (Invalid argument)
>> readlink("/mnt/sda2", 0xbfe242ab, 4096) = -1 EINVAL (Invalid argument)
>> setsid()                                = 1026
>> chdir("/")                              = 0
>> close(0)                                = 0
>> close(1)                                = 0
>> close(2)                                = 0
>> open("/dev/null", O_RDONLY|O_LARGEFILE) = 0
>> open("/dev/null", O_WRONLY|O_LARGEFILE) = 1
>> open("/dev/null", O_WRONLY|O_LARGEFILE) = 2
>> time(NULL)                              = 1344261563
>> open("/etc/localtime", O_RDONLY|O_CLOEXEC) = 3
>> fstat64(3, {st_mode=S_IFREG|0644, st_size=118, ...}) = 0
>> fstat64(3, {st_mode=S_IFREG|0644, st_size=118, ...}) = 0
>> mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
>> 0) = 0xb77b6000
>> read(3, "TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\1\0\0\0\0"...,
>> 1024) = 118
>> _llseek(3, -6, [112], SEEK_CUR)         = 0
>> read(3, "\nUTC0\n", 1024)               = 6
>> _llseek(3, 117, [117], SEEK_SET)        = 0
>> close(3)                                = 0
>> munmap(0xb77b6000, 4096)                = 0
>> socket(PF_FILE, SOCK_DGRAM|SOCK_CLOEXEC, 0) = 3
>> connect(3, {sa_family=AF_FILE, sun_path="/dev/log"}, 110) = 0
>> send(3, "<30>Aug  6 13:59:23 nilfs_cleane"..., 47, MSG_NOSIGNAL) = 47
>> open("/dev/sda2", O_RDONLY|O_LARGEFILE) = 4
>> ioctl(4, BLKGETSIZE64, 8036098560)      = 0
>> _llseek(4, 1024, [1024], SEEK_SET)      = 0
>> read(4, "\2\0\0\0\0\00044\30\1\0\0|\254\177\302\275p\270\257\2\0\0\0\275\3\0\0\0\0\0\0"...,
>> 1024) = 1024
>> _llseek(4, 8036093952, [8036093952], SEEK_SET) = 0
>> read(4, "\2\0\0\0\0\00044\30\1\0\0|\254\177\302\275p\270\257\2\0\0\0\275\3\0\0\0\0\0\0"...,
>> 1024) = 1024
>> readlink("/dev", 0xbfe229eb, 4096)      = -1 EINVAL (Invalid argument)
>> readlink("/dev/sda2", 0xbfe229eb, 4096) = -1 EINVAL (Invalid argument)
>> readlink("/mnt", 0xbfe229eb, 4096)      = -1 EINVAL (Invalid argument)
>> readlink("/mnt/sda2", 0xbfe229eb, 4096) = -1 EINVAL (Invalid argument)
>> open("/proc/mounts", O_RDONLY|O_LARGEFILE) = 5
>> fstat64(5, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
>> mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
>> 0) = 0xb77b6000
>> read(5, "rootfs / rootfs rw 0 0\nproc /pro"..., 1024) = 1024
>> read(5, "s2 rw,relatime 0 0\n", 1024)   = 19
>> readlink("/mnt", 0xbfe229eb, 4096)      = -1 EINVAL (Invalid argument)
>> readlink("/mnt/sda2", 0xbfe229eb, 4096) = -1 EINVAL (Invalid argument)
>> readlink("/dev", 0xbfe229eb, 4096)      = -1 EINVAL (Invalid argument)
>> readlink("/dev/sda2", 0xbfe229eb, 4096) = -1 EINVAL (Invalid argument)
>> close(5)                                = 0
>> munmap(0xb77b6000, 4096)                = 0
>> open("/mnt/sda2", O_RDONLY|O_LARGEFILE) = 5
>> stat64("/dev/sda2", {st_mode=S_IFBLK|0660, st_rdev=makedev(8, 2), ...}) = 0
>> statfs("/dev/shm", {f_type=0x1021994, f_bsize=4096, f_blocks=127669,
>> f_bfree=127668, f_bavail=127668, f_files=127669, f_ffree=127667,
>> f_fsid={0, 0}, f_namelen=255, f_frsize=4096}) = 0
>> futex(0xb75ed1a8, FUTEX_WAKE_PRIVATE, 2147483647) = 0
>> open("/dev/shm/sem.nilfs-cleaner-2050", O_RDWR|O_NOFOLLOW) = 6
>> fstat64(6, {st_mode=S_IFREG|0700, st_size=16, ...}) = 0
>> mmap2(NULL, 16, PROT_READ|PROT_WRITE, MAP_SHARED, 6, 0) = 0xb77b6000
>> close(6)                                = 0
>> stat64("/etc/nilfs_cleanerd.conf", {st_mode=S_IFREG|0644,
>> st_size=1813, ...}) = 0
>> open("/etc/nilfs_cleanerd.conf", O_RDONLY|O_LARGEFILE) = 6
>> fstat64(6, {st_mode=S_IFREG|0644, st_size=1813, ...}) = 0
>> mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
>> 0) = 0xb77b5000
>> read(6, "# nilfs_cleanerd.conf - configur"..., 4096) = 1813
>> read(6, "", 4096)                       = 0
>> close(6)                                = 0
>> munmap(0xb77b5000, 4096)                = 0
>> stat64("/dev/sda2", {st_mode=S_IFBLK|0660, st_rdev=makedev(8, 2), ...}) = 0
>> mq_open("nilfs-cleanerq-2050", O_RDONLY|O_CREAT, 0600, {mq_maxmsg=6,
>> mq_msgsize=4096}) = 6
>> rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
>> rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
>> rt_sigaction(SIGTERM, {0x804b260, ~[RTMIN RT_1], 0}, NULL, 8) = 0
>> rt_sigaction(SIGHUP, {0x804b250, ~[RTMIN RT_1], 0}, NULL, 8) = 0
>> gettimeofday({1344261563, 753241}, NULL) = 0
>> time(NULL)                              = 1344261563
>> send(3, "<30>Aug  6 13:59:23 nilfs_cleane"..., 61, MSG_NOSIGNAL) = 61
>> rt_sigprocmask(SIG_BLOCK, [HUP], NULL, 8) = 0
>> ioctl(5, 0x80306e85, 0xbfe253d0)        = 0
>> time(NULL)                              = 1344261563
>> send(3, "<30>Aug  6 13:59:23 nilfs_cleane"..., 62, MSG_NOSIGNAL) = 62
>> gettimeofday({1344261563, 755312}, NULL) = 0
>> ioctl(5, 0x80186e84, 0xbfe23218)        = 0
>> ioctl(5, 0x80186e84, 0xbfe23218)        = 0
>> gettimeofday({1344261563, 756199}, NULL) = 0
>> rt_sigprocmask(SIG_UNBLOCK, [HUP], NULL, 8) = 0
>> gettimeofday({1344261563, 756672}, NULL) = 0
>> mq_timedreceive(6, #
>> ---
>>
>> This time I used the default nilfs_cleanerd.conf as provided by arch:
>> # cat /etc/nilfs_cleanerd.conf | grep -v "^#" | grep -v "^$"
>> protection_period       3600
>> min_clean_segments      10%
>> max_clean_segments      20%
>> clean_check_interval    10
>> selection_policy        timestamp       # timestamp in ascend order
>> nsegments_per_clean     2
>> mc_nsegments_per_clean  4
>> cleaning_interval       5
>> mc_cleaning_interval    1
>> retry_interval          60
>> use_mmap
>> log_priority            info
>>
>>
>> Tomorrow I'll backup the content of that filesystem and will try to
>> manually remove some checkpoints.
>>
>> In case you need it, I could create a snapshot of the whole filesystem
>> and share it.
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
>> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: nilfs2 not garbage collecting
       [not found]                       ` <CANku=gjA=_Up4OJPLGU4P+8Zw3o8=J3BGFWTgPsHd9d=uUV_PA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2012-08-08 17:54                         ` Vyacheslav Dubeyko
       [not found]                           ` <3170A27E-46DD-4347-8F9B-FBF4BB4E0205-yeENwD64cLxBDgjK7y7TUQ@public.gmane.org>
  2012-08-08 18:01                         ` Vyacheslav Dubeyko
  1 sibling, 1 reply; 18+ messages in thread
From: Vyacheslav Dubeyko @ 2012-08-08 17:54 UTC (permalink / raw)
  To: Paolo Giangrandi; +Cc: linux-nilfs

Hi Paolo,

On Aug 8, 2012, at 7:03 PM, Paolo Giangrandi wrote:

> If you are interested into it, I can share the 7.5GB raw filesystem image.
> 

Yes, please share your file system image. It can be more efficient way to investigate the issue on the image.

With the best regards,
Vyacheslav Dubeyko.--
To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: nilfs2 not garbage collecting
       [not found]                       ` <CANku=gjA=_Up4OJPLGU4P+8Zw3o8=J3BGFWTgPsHd9d=uUV_PA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  2012-08-08 17:54                         ` Vyacheslav Dubeyko
@ 2012-08-08 18:01                         ` Vyacheslav Dubeyko
  1 sibling, 0 replies; 18+ messages in thread
From: Vyacheslav Dubeyko @ 2012-08-08 18:01 UTC (permalink / raw)
  To: Paolo Giangrandi; +Cc: linux-nilfs

Hi Paolo,

On Aug 8, 2012, at 7:03 PM, Paolo Giangrandi wrote:

> If you are interested into it, I can share the 7.5GB raw filesystem image.
> 

Yes, please share your file system image. It can be more efficient way to investigate the issue on the image.

With the best regards,
Vyacheslav Dubeyko.--
To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: nilfs2 not garbage collecting
       [not found]                           ` <3170A27E-46DD-4347-8F9B-FBF4BB4E0205-yeENwD64cLxBDgjK7y7TUQ@public.gmane.org>
@ 2012-08-09 10:33                             ` Paolo Giangrandi
       [not found]                               ` <CANku=gha48jamDmmK6CxVEypryXPniPcgJ3BYa7zYm1EDyYGEg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  0 siblings, 1 reply; 18+ messages in thread
From: Paolo Giangrandi @ 2012-08-09 10:33 UTC (permalink / raw)
  To: Vyacheslav Dubeyko; +Cc: linux-nilfs

I'm having some issues at uploading the compressed image (it's "just"
2.3GB, but with my current connection it would take days, I'll upload
it on september).

Meanwhile nilfs_cleanerd managed to free some more space (over 1GB),
although nothing has changed since yesterday, thus everything seems
back to normality.
Thanks for the help and see you in september!


On Wed, Aug 8, 2012 at 7:54 PM, Vyacheslav Dubeyko <slava-yeENwD64cLxBDgjK7y7TUQ@public.gmane.org> wrote:
> Hi Paolo,
>
> On Aug 8, 2012, at 7:03 PM, Paolo Giangrandi wrote:
>
>> If you are interested into it, I can share the 7.5GB raw filesystem image.
>>
>
> Yes, please share your file system image. It can be more efficient way to investigate the issue on the image.
>
> With the best regards,
> Vyacheslav Dubeyko.
--
To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: nilfs2 not garbage collecting
       [not found]                               ` <CANku=gha48jamDmmK6CxVEypryXPniPcgJ3BYa7zYm1EDyYGEg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2012-08-09 11:17                                 ` dexen deVries
  2012-08-09 12:46                                   ` Christian Smith
  0 siblings, 1 reply; 18+ messages in thread
From: dexen deVries @ 2012-08-09 11:17 UTC (permalink / raw)
  To: linux-nilfs; +Cc: Paolo Giangrandi

On Thursday 09 of August 2012 12:33:09 you wrote:
> I'm having some issues at uploading the compressed image (it's "just"
> 2.3GB, but with my current connection it would take days, I'll upload
> it on september).
> 
> Meanwhile nilfs_cleanerd managed to free some more space (over 1GB),
> although nothing has changed since yesterday, thus everything seems
> back to normality.
> Thanks for the help and see you in september!


when i'm in a pinch and want cleanerd to free up some space, i run:
# while true; do killall -HUP nilfs_cleanerd; sleep 4; done

each `HUP' signal causes cleanerd to both re-read config and run single pass.

i then monitor progress with
# iostat -dk 1 /dev/sda

to see if it is moving data around. if not, i lower `protection_period' in 
/etc/nilfs_cleanerd.conf; I usually have it set to 7 to 14 days on personal 
computers, but when /really/ in a squeeze for free space, i lower it to 24h.

you may also want to increase `nsegments_per_clean' in nilfs_cleanerd.conf to 
3 (but not much more; each segment causes up to 8MB of read and write upon 
each cleanerd pass).


cheers,
-- 
dexen deVries

[[[↓][→]]]

--
To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: nilfs2 not garbage collecting
  2012-08-09 11:17                                 ` dexen deVries
@ 2012-08-09 12:46                                   ` Christian Smith
  0 siblings, 0 replies; 18+ messages in thread
From: Christian Smith @ 2012-08-09 12:46 UTC (permalink / raw)
  To: dexen deVries; +Cc: linux-nilfs, Paolo Giangrandi

On Thu, Aug 09, 2012 at 01:17:30PM +0200, dexen deVries wrote:
> On Thursday 09 of August 2012 12:33:09 you wrote:
> > I'm having some issues at uploading the compressed image (it's "just"
> > 2.3GB, but with my current connection it would take days, I'll upload
> > it on september).
> > 
> > Meanwhile nilfs_cleanerd managed to free some more space (over 1GB),
> > although nothing has changed since yesterday, thus everything seems
> > back to normality.
> > Thanks for the help and see you in september!
> 
> 
> when i'm in a pinch and want cleanerd to free up some space, i run:
> # while true; do killall -HUP nilfs_cleanerd; sleep 4; done
> 
> each `HUP' signal causes cleanerd to both re-read config and run single pass.
> 
> i then monitor progress with
> # iostat -dk 1 /dev/sda
> 
> to see if it is moving data around. if not, i lower `protection_period' in 
> /etc/nilfs_cleanerd.conf; I usually have it set to 7 to 14 days on personal 
> computers, but when /really/ in a squeeze for free space, i lower it to 24h.
> 
> you may also want to increase `nsegments_per_clean' in nilfs_cleanerd.conf to 
> 3 (but not much more; each segment causes up to 8MB of read and write upon 
> each cleanerd pass).


Note, you can do all of this using the nilfs-clean command, which will instruct
nilfs_cleanerd to do one pass of cleaning. I mostly use:

 nilfs-clean -p <prot>		# Override the protection period in nilfs_cleanerd.conf
 nilfs-clean -S <segs>/<secs>	# Clean <segs> segments every <secs> seconds.

I also found the following useful when examining checkpoint usage:

 lscp | grep -C2 ad

The grep captures the active segments at the head of the log, and provides
2 lines of context either side.

Christian
--
To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2012-08-09 12:46 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <CANku=ggohcWWoxE1x=XmfWpANKyWRTWb5p_aHh8LU6+utU4OPQ@mail.gmail.com>
     [not found] ` <CANku=ggohcWWoxE1x=XmfWpANKyWRTWb5p_aHh8LU6+utU4OPQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-08-05 11:00   ` nilfs2 not garbage collecting Paolo Giangrandi
     [not found]     ` <CANku=ghnDzkFHpPZ8eT9Y3kTM62zBKMk6TjBVraE4Kisa1TRPQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-08-05 13:31       ` Vyacheslav Dubeyko
2012-08-05 13:44       ` Vyacheslav Dubeyko
     [not found]         ` <CANku=gjkTr-nYq8RxTUCVK9YU+xTjHyPbktB86BUpeuMwMBC4A@mail.gmail.com>
     [not found]           ` <CANku=gjkTr-nYq8RxTUCVK9YU+xTjHyPbktB86BUpeuMwMBC4A-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-08-05 16:51             ` Vyacheslav Dubeyko
     [not found]               ` <D99F26AB-309D-4325-A87C-DBF0F7BA6360-yeENwD64cLxBDgjK7y7TUQ@public.gmane.org>
2012-08-06 11:48                 ` Piotr Szymaniak
2012-08-06 13:48                   ` Paolo Giangrandi
2012-08-05 13:54       ` Vyacheslav Dubeyko
     [not found]         ` <CANku=ghdeeSLP6QsJh9jvs5fJwEYuTTV7w8iigE1nZoT74NYgQ@mail.gmail.com>
2012-08-05 16:52           ` Fwd: " Vyacheslav Dubeyko
     [not found]           ` <CANku=ghdeeSLP6QsJh9jvs5fJwEYuTTV7w8iigE1nZoT74NYgQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-08-06  5:54             ` Vyacheslav Dubeyko
2012-08-06 14:07               ` Paolo Giangrandi
     [not found]                 ` <CANku=ggMp_gBgijee2umhNf5dBQO4zvmqopKBz70V1Z81oShVA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-08-08  6:13                   ` Vyacheslav Dubeyko
2012-08-08 15:08                     ` Paolo Giangrandi
     [not found]                     ` <CANku=gjA=_Up4OJPLGU4P+8Zw3o8=J3BGFWTgPsHd9d=uUV_PA@mail.gmail.com>
     [not found]                       ` <CANku=gjA=_Up4OJPLGU4P+8Zw3o8=J3BGFWTgPsHd9d=uUV_PA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-08-08 17:54                         ` Vyacheslav Dubeyko
     [not found]                           ` <3170A27E-46DD-4347-8F9B-FBF4BB4E0205-yeENwD64cLxBDgjK7y7TUQ@public.gmane.org>
2012-08-09 10:33                             ` Paolo Giangrandi
     [not found]                               ` <CANku=gha48jamDmmK6CxVEypryXPniPcgJ3BYa7zYm1EDyYGEg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-08-09 11:17                                 ` dexen deVries
2012-08-09 12:46                                   ` Christian Smith
2012-08-08 18:01                         ` Vyacheslav Dubeyko
2012-08-06 10:10       ` Piotr Szymaniak

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.