From: Jan de Kruyf <jan.de.kruyf-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: Ryusuke Konishi <ryusuke-sG5X7nlA6pw@public.gmane.org>,
users-JrjvKiOkagjYtjvyW6yDsg@public.gmane.org
Subject: Re: cleanerd
Date: Tue, 13 Oct 2009 21:57:17 +0200 [thread overview]
Message-ID: <ee5afd760910131257l2580fbebw64ff25d08899f2f@mail.gmail.com> (raw)
In-Reply-To: <20091011.154916.07997858.ryusuke-sG5X7nlA6pw@public.gmane.org>
[-- Attachment #1.1: Type: text/plain, Size: 4922 bytes --]
Hallo,
Have not done the patch yet. I was lost in EXT3, some data loss problem.
The HD media test ok with seatools.
I think I found the checkpoints and the segments written just before and one
after the disaster when I tried
to run the hd on another computer. At that time already the /var reported
full.
The system then made an emergency /var somewhere I do not know
Presumably in RAM.
But I cannot mount a snapshot on a loop mounted image and I cannot change a
cp to ss on a full drive.
Is this correct or am I confused?
From the log data on the broken partition I seem to think that nilfs does
not mount the latest checkpoint but I might be mistaken
that is why I wanted to mount the latest in the lscp list. and see if there
are differences.
Regards
Jan de Kruyf.
On Sun, Oct 11, 2009 at 8:49 AM, Ryusuke Konishi <ryusuke-sG5X7nlA6pw@public.gmane.org> wrote:
> Hi,
> On Sun, 11 Oct 2009 07:32:50 +0200, Jan de Kruyf wrote:
> > Hallo,
> > Sorry the detail was a little bit scant last night.
> > The nilfs versions running on the machine at the time of the disaster
> were
> > the latest versions.
> > This is the maintenance hard-drive running, I will update today.
> >
> > The loop is (as far as I can see now from the logs)
> > -
> > -------kern.log-------------------------------------------
> > Oct 10 06:53:11 debianLenny kernel: [44514.982086] segctord starting.
> > Construction interval = 5 seconds, CP frequency < 30 seconds
> > Oct 10 06:53:11 debianLenny kernel: [44515.115227] NILFS warning:
> mounting
> > unchecked fs
> > Oct 10 06:53:11 debianLenny kernel: [44515.398152] NILFS: recovery
> complete.
> > Oct 10 06:53:28 debianLenny kernel: [44535.631729] NILFS warning (device
> > hdb9): nilfs_clean_segments: segment construction failed. (err=-28)
> > Oct 10 06:53:33 debianLenny kernel: [44542.849960] NILFS warning (device
> > hdb9): nilfs_clean_segments: segment construction failed. (err=-28)
> > Oct 10 06:53:38 debianLenny kernel: [44550.592403] NILFS warning (device
> > hdb9): nilfs_clean_segments: segment construction failed. (err=-28)
> > ---------------------------------------------------------------
> >
> > this is from the maintenance versions on /dev/hda (still to be updated),
> > with /dev/hdb not functional.
> > It will fill up the log until the partition is full.
>
> According to the log, the error was repeatedly detected in a retry
> loop in the nilfs_clean_segments kernel function which cleanerd calls
> via ioctl. The err=-28 means ENOSPC (no space left on the device).
>
> Yeah, if cleanerd falls into this state, it cannot handle any signals.
> And, it doesn't return to userspace until the error is removed.
>
> As you are pointing out, I wonder why this error is generated on the
> device having enough free space.
>
> I'll attach a patch to identify which function returns ENOSPC. Could
> you try the patch ?
>
> Thanks,
> Ryusuke Konishi
>
> > I will dd the partion into a loop-mountable file once I have updated, so
> > diagnostics
> > may continue.
> >
> > I was aware of this problem before: when you overfill a partition
> cleanerd
> > goes into this loop.
> >
> > The interesting part is: how did cleanerd get confused this time. since
> the
> > partition was only half full
> > and cleanerd was running more or less regularly. I am only aware that I
> > stopped cleanerd a few times that day with TERM
> > since it was in the way of other work. It made the /home partition so
> slow
> > that I could not write a dvd anymore.
> > But this is a separate issue.
> >
> > So I will do a low-level check on the sick disc to check for media format
> > failures
> > and I will try to do some log reading over the next few days to see if I
> can
> > find
> > the log of the first mount after the accident.
> >
> > Regards
> > Jan de Kruyf.
> >
> > "Let us sing, the Lord is on his Throne and the earth is full of his
> Glory."
> > enjoy the rest of your day.
>
>
> diff --git a/fs/alloc.c b/fs/alloc.c
> index 1c76c38..fdec249 100644
> --- a/fs/alloc.c
> +++ b/fs/alloc.c
> @@ -235,6 +235,8 @@ static int nilfs_palloc_find_available_slot(struct
> inode *inode,
> return pos;
> }
> }
> + printk(KERN_ERR "%s: disk full\n", __func__);
> + dump_stack();
> return -ENOSPC;
> }
>
> @@ -320,6 +322,8 @@ int nilfs_palloc_prepare_alloc_entry(struct inode
> *inode,
> }
>
> /* no entries left */
> + printk(KERN_ERR "%s: disk full\n", __func__);
> + dump_stack();
> return -ENOSPC;
>
> out_desc:
> diff --git a/fs/sufile.c b/fs/sufile.c
> index 47ad9a4..e109a7e 100644
> --- a/fs/sufile.c
> +++ b/fs/sufile.c
> @@ -322,6 +322,8 @@ int nilfs_sufile_alloc(struct inode *sufile, __u64
> *segnump)
> }
>
> /* no segments left */
> + printk(KERN_ERR "%s: disk full\n", __func__);
> + dump_stack();
> ret = -ENOSPC;
>
> out_header:
>
[-- Attachment #1.2: Type: text/html, Size: 5860 bytes --]
[-- Attachment #2: Type: text/plain, Size: 158 bytes --]
_______________________________________________
users mailing list
users-JrjvKiOkagjYtjvyW6yDsg@public.gmane.org
https://www.nilfs.org/mailman/listinfo/users
next prev parent reply other threads:[~2009-10-13 19:57 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-10-10 22:18 cleanerd Jan de Kruyf
[not found] ` <ee5afd760910101518u4a85fd0fn6e5539a327b2a876-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-10-11 3:29 ` cleanerd Ryusuke Konishi
[not found] ` <20091011.122911.131278678.ryusuke-sG5X7nlA6pw@public.gmane.org>
2009-10-11 5:32 ` cleanerd Jan de Kruyf
[not found] ` <ee5afd760910102232o5f17c50cxb5024f6f76ecbcf5-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-10-11 6:49 ` cleanerd Ryusuke Konishi
[not found] ` <20091011.154916.07997858.ryusuke-sG5X7nlA6pw@public.gmane.org>
2009-10-13 19:57 ` Jan de Kruyf [this message]
2009-10-17 20:47 ` cleanerd Jan de Kruyf
[not found] ` <ee5afd760910171347x4ad27199ka59d0e76f3271050-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-10-19 2:07 ` cleanerd Ryusuke Konishi
-- strict thread matches above, loose matches on Subject: below --
2008-11-05 21:45 cleanerd John Huttley
[not found] ` <491213E2.4010905-jE24nFfhqzU3hwNNidygWXTaI6DYlTYJ@public.gmane.org>
2008-11-06 2:50 ` cleanerd 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=ee5afd760910131257l2580fbebw64ff25d08899f2f@mail.gmail.com \
--to=jan.de.kruyf-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
--cc=ryusuke-sG5X7nlA6pw@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