Linux NILFS development
 help / color / mirror / Atom feed
From: Ryusuke Konishi <ryusuke-sG5X7nlA6pw@public.gmane.org>
To: users-JrjvKiOkagjYtjvyW6yDsg@public.gmane.org,
	admin-/LHdS3kC8BfYtjvyW6yDsg@public.gmane.org
Subject: Re: nilfs_cpfile_delete_checkpoints: cannot delete block
Date: Sun, 03 May 2009 18:44:49 +0900 (JST)	[thread overview]
Message-ID: <20090503.184449.53062216.ryusuke@osrg.net> (raw)
In-Reply-To: <49FD6359.1020405-/LHdS3kC8BfYtjvyW6yDsg@public.gmane.org>

Hi!
On Sun, 03 May 2009 11:26:49 +0200, David Arendt wrote:
> Hi,
> 
> I have tried your patch.
> 
> The more verbose error message is:
> 
> nilfs_cpfile_delete_checkpoints: cannot delete block: cno=1407, range = 
> [11, 75990)
> NILFS: GC failed during preparation: cannot delete checkpoints: err=-2

You didn't see any DAT warnings?

If so, do you think the range of deleting checkpoints
(i.e. 11 ~ 75990 - 1) is proper?

How is the output of lscp?

Ryusuke Konishi

> Bye,
> David Arendt
> 
> Ryusuke Konishi wrote:
> > Hi David,
> > On Sun, 03 May 2009 00:55:43 +0200, David Arendt wrote:
> >   
> >> Hi,
> >>
> >> Until now nilfs-2.0.12 has run very stable without data corruption.
> >> However on one partition (600G) I have got the following errors while 
> >> running the cleaner:
> >>
> >> nilfs_cpfile_delete_checkpoints: cannot delete block
> >> NILFS: GC failed during preparation: cannot delete checkpoints: err=-2
> >>
> >> This is a partition mainly holding large temporary render files (can be 
> >> up to 25gb/file). There are currently 132702 snapshots.
> >>
> >> As this partition is not used during the next few days, I will leave it 
> >> with the error so if you would like me to test further things, please 
> >> let me know.
> >>
> >> Bye,
> >> David Arendt
> >>     
> >
> > I have reviewed the function in question, but could not find any
> > likely problems.
> >
> > Could you try the following patch?
> >
> > It's applicable to v2.0.12.
> >
> > I have some pending patches later than 2.0.12, but they seem to be
> > independent with your problem.
> >
> > Thanks,
> > Ryusuke Konishi
> > --
> > diff --git a/fs/cpfile.c b/fs/cpfile.c
> > index 038d660..9a6a6ae 100644
> > --- a/fs/cpfile.c
> > +++ b/fs/cpfile.c
> > @@ -342,8 +342,12 @@ int nilfs_cpfile_delete_checkpoints(struct inode *cpfile,
> >  					cpfile, cno);
> >  				if (ret == 0)
> >  					continue;
> > -				printk(KERN_ERR "%s: cannot delete block\n",
> > -				       __func__);
> > +				printk(KERN_ERR "%s: cannot delete block: "
> > +				       "cno=%llu, range = [%llu, %llu)\n",
> > +				       __func__,
> > +				       (unsigned long long)cno,
> > +				       (unsigned long long)start,
> > +				       (unsigned long long)end);
> >  				goto out_sem;
> >  			}
> >  		}
> > diff --git a/fs/dat.c b/fs/dat.c
> > index 523eee7..7463301 100644
> > --- a/fs/dat.c
> > +++ b/fs/dat.c
> > @@ -381,11 +381,9 @@ int nilfs_dat_translate(struct inode *dat, __u64 vblocknr, sector_t *blocknrp)
> >  	entry = nilfs_palloc_block_get_entry(dat, vblocknr, entry_bh, kaddr);
> >  	blocknr = le64_to_cpu(entry->de_blocknr);
> >  	if (blocknr == 0) {
> > -#ifdef CONFIG_NILFS_DEBUG
> >  		printk(KERN_DEBUG "%s: invalid virtual block number: %llu\n",
> >  		       __func__, (unsigned long long)vblocknr);
> > -		BUG();
> > -#endif
> > +		WARN_ON(1);
> >  		ret = -ENOENT;
> >  		goto out;
> >  	}
> >   

  parent reply	other threads:[~2009-05-03  9:44 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-02 22:55 nilfs_cpfile_delete_checkpoints: cannot delete block David Arendt
     [not found] ` <49FCCF6F.3040101-/LHdS3kC8BfYtjvyW6yDsg@public.gmane.org>
2009-05-03  8:08   ` Ryusuke Konishi
     [not found]     ` <20090503.170847.69363313.ryusuke-sG5X7nlA6pw@public.gmane.org>
2009-05-03  9:26       ` David Arendt
     [not found]         ` <49FD6359.1020405-/LHdS3kC8BfYtjvyW6yDsg@public.gmane.org>
2009-05-03  9:44           ` Ryusuke Konishi [this message]
     [not found]             ` <20090503.184449.53062216.ryusuke-sG5X7nlA6pw@public.gmane.org>
2009-05-03 10:06               ` David Arendt
2009-05-04  4:16       ` David Arendt
     [not found]         ` <49FE6C18.3050707-/LHdS3kC8BfYtjvyW6yDsg@public.gmane.org>
2009-05-05 11:23           ` Ryusuke Konishi
  -- strict thread matches above, loose matches on Subject: below --
2009-05-05 15:26 admin-/LHdS3kC8BfYtjvyW6yDsg
     [not found] ` <D6LvKjCkn1gF.D60GTY3Z-GG6YVgmNXeLOQU1ULcgDhA@public.gmane.org>
2009-05-05 15:46   ` Ryusuke Konishi
     [not found]     ` <20090506.004648.105122016.ryusuke-sG5X7nlA6pw@public.gmane.org>
2009-05-05 16:51       ` David Arendt
     [not found]         ` <4A006EAB.6000206-/LHdS3kC8BfYtjvyW6yDsg@public.gmane.org>
2009-05-05 19:32           ` David Arendt
     [not found]             ` <4A00944B.2020105-/LHdS3kC8BfYtjvyW6yDsg@public.gmane.org>
2009-05-05 21:19               ` David Arendt
2009-05-06  3:02               ` Ryusuke Konishi
     [not found]                 ` <20090506.120204.27533580.ryusuke-sG5X7nlA6pw@public.gmane.org>
2009-05-06 15:46                   ` David Arendt
     [not found]                     ` <4A01B0D2.6030509-/LHdS3kC8BfYtjvyW6yDsg@public.gmane.org>
2009-05-10  5:43                       ` Ryusuke Konishi
     [not found]                         ` <20090510.144313.10164669.ryusuke-sG5X7nlA6pw@public.gmane.org>
2009-05-10 13:04                           ` David Arendt
     [not found]                             ` <4A06D0C4.5030008-/LHdS3kC8BfYtjvyW6yDsg@public.gmane.org>
2009-05-10 15:40                               ` Ryusuke Konishi
     [not found]                                 ` <20090511.004002.32775441.ryusuke-sG5X7nlA6pw@public.gmane.org>
2009-05-10 16:12                                   ` David Arendt
     [not found]                                     ` <4A06FCEB.7030800-/LHdS3kC8BfYtjvyW6yDsg@public.gmane.org>
2009-05-11  0:57                                       ` Ryusuke Konishi
2009-05-10  9:10                   ` Ryusuke Konishi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20090503.184449.53062216.ryusuke@osrg.net \
    --to=ryusuke-sg5x7nla6pw@public.gmane.org \
    --cc=admin-/LHdS3kC8BfYtjvyW6yDsg@public.gmane.org \
    --cc=users-JrjvKiOkagjYtjvyW6yDsg@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox