Re: Another question on nilfs_cleanerd

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 12 Mar 2012 10:53:58 +0000, Tim Bannister wrote:
> On Sat, 2012-03-10, Ryusuke Konishi wrote:
> 
> > Cleanerd is safely interruptible either by unmount or a SIGINT signal.
> > 
> > If you mount the drive after that, GC restarts from the previous block
> > because the current GC algorithm selects target segments in
> > chronological order.
> > 
> > However, it will forget execution states.
> > 
> > If you were doing one pass cleaning kicked by nilfs-clean command, and
> > then unmounted and mounted again, GC doesn't resume.
> 
> I think this happened to me and I did not completely understand what had
> happened.
> In the situation described, is there any way to make the GC resume
> normally?

There is no straightforward method; the current nilfs_cleanerd does
not have the feature to save context of GC.

One pseudo method is to run the nilfs-clean command with a protection
period option:

 # nilfs-clean -p <Tpp> [<device-name>]

where <Tpp> is calculated by "<current time> - <last GC start time>"


For explanation, the relation of each event is shown in the following
figure:

  The last GC                    GC resume time
  start time  unmount     mount  (current time)
 --|-----------|-----------|------|-------------|----> time

   ----------->x aborted          ------------->
   Previous GC                     Remaining GC

   |<-----------------------------|
                 Tpp

In this case, nilfs_cleanerd processes remaining segments (blocks) and
will stop when it encounters the segment made after the last GC start
time.  Thus, we can avoid moving again the blocks already moved by the
previous GC.

Note that this pseudo method only works under the "chronological
order" GC algorithm which is currently applied.

Regards,
Ryusuke Konishi

> -- 
> Tim Bannister
> IT Services, The University of Manchester
> 
> e: Tim.Bannister@xxxxxxxxxxxxxxxx
> w: http://www.manchester.ac.uk/itservices
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> 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@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Filesystem Development]     [Linux BTRFS]     [Linux CIFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux