Re: [PATCH] nilfs-utils: Work around uncleanable full filesystem

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

 



On Tuesday 15 January 2013 11:14:17 Vyacheslav Dubeyko wrote:
[...]
> > Signed-off-by: Sven Eckelmann <sven@xxxxxxxxxxxxx>
> > ---
> > 
> >  sbin/cleanerd/cleanerd.c |    2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/sbin/cleanerd/cleanerd.c b/sbin/cleanerd/cleanerd.c
> > index bfcd893..12ed975 100644
> > --- a/sbin/cleanerd/cleanerd.c
> > +++ b/sbin/cleanerd/cleanerd.c
> > @@ -592,7 +592,7 @@ nilfs_cleanerd_select_segments(struct nilfs_cleanerd
> > *cleanerd,> 
> >  	 * selected. */
> >  	
> >  	thr = (config->cf_selection_policy.p_threshold != 0) ?
> >  	
> >  		config->cf_selection_policy.p_threshold :
> > -		sustat->ss_nongc_ctime;
> > +		~0ULL;
> 
> As I understand the code of nilfs_cleanerd, this code is correct without
> your changing. The ss_nongc_ctime is the creation time of the last
> segment not for GC. When thr is set then it compared with sui_lastmod.
> The sui_lastmod is the timestamp of last modification. So, the
> nilfs_cleanerd works right.

Depends on the definition of right. In a complete environment using the current 
nilfs kernel code it needs to _work around_ this problem. But yes, the culprit 
must be the kernel side.

> I think that this is a bug on the kernel side. My current vision is that
> in some environment the ns_nongc_ctime can be not updated correctly. So,
> you have such threshold that prevent from segments clearing.

Yes, one problem for example is the non-monotonic behaviour of many timekeeper 
functions.

Kind regards,
	Sven

Attachment: signature.asc
Description: This is a digitally signed message part.


[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