Re: mount & fsck of nilfs partition fail.

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

 



On Tue, 14 Jun 2011 11:04:26 -0700, Zahid Chowdhury wrote:
> Hello Ryusuke,
>   I changed the code some to:
> diff -u --ignore-all-space fsck0.nilfs2.c ~/nilfs/nilfs-utils.git/nilfs2-utils/sbin/fsck
> --- fsck0.nilfs2.c      2011-06-14 11:03:49.000000000 -0700
> +++ /root/nilfs/nilfs-utils.git/nilfs2-utils/sbin/fsck/fsck0.nilfs2.c   2011-06-14 11:01:34.000000000 -0700
> @@ -172,10 +172,14 @@
>  static void read_block(int fd, __u64 blocknr, void *buf,
>                        unsigned long size)
>  {
> +        int num_read;
>         if (lseek64(fd, blocknr * blocksize, SEEK_SET) < 0 ||
> -           read(fd, buf, size) < size)
> -               die("cannot read block (blocknr = %llu): %s",
> -                   (unsigned long long)blocknr, strerror(errno));
> +            (num_read = read(fd, buf, size) < size)) {
> +                fprintf(stderr, "Read size was: %d\tNum read: %d\tStrerror: %s\n",
> +                    size, num_read, strerror(errno));
> +                die("cannot read block (blocknr = %llu)",
> +                    (unsigned long long)blocknr);
> +        }
>  }
> 
>  static inline __u64 segment_start_blocknr(unsigned long segnum)
> 
> and I got this as output:
> 
> ./fsck0.nilfs2 -f -v /dev/sda2
> Super-block:
>     revision = 2.0
>     blocksize = 4096
>     write time = 2011-06-11 23:22:03
>     indicated log: blocknr = 1648528
>         segnum = 804, seq = 401758, cno=3250953
> 
> Unclean FS.
> The latest log is lost. Trying rollback recovery..
> ......
> Searching the latest checkpoint.
> Read size was: 4096     Num read: 1     Strerror: Success
> fsck0.nilfs2: cannot read block (blocknr = 2696911)

The return value looks weird.
Is your block device readable ?

 # dd if=/dev/sda2 of=/sda2-image-file

If you can copy the block device into an image file.  You may be able
to recover it through a loop device.

 # losetup /dev/loop0 /sda2-image-file
 # ./fsck0.nilfs2 -f -v /dev/loop0

Otherwise, you may need a low level recovery for the device.

Regards,
Ryusuke Konishi

> The mount error is:
> $ mount -t nilfs2 /dev/sda2 /writable
> Jun 14 10:52:13 _Lab kernel: NILFS warning: mounting unchecked fs
> Jun 14 10:52:13 _Lab kernel: NILFS warning: Checksum error in segment payload
> Jun 14 10:52:13 _Lab kernel: NILFS: error searching super root.
> mount.nilfs2: Error while mounting /dev/sda2 on /writable: Invalid argument
> 
> 
> Will it still be possible to recover the partition or is this error fatal? Thanks all.
> 
> Zahid
> 
> 
> -----Original Message-----
> From: Ryusuke Konishi [mailto:konishi.ryusuke@xxxxxxxxxxxxx] 
> Sent: Monday, June 13, 2011 4:52 PM
> To: Zahid Chowdhury
> Cc: dexen.devries@xxxxxxxxx; linux-nilfs@xxxxxxxxxxxxxxx
> Subject: Re: mount & fsck of nilfs partition fail.
> 
> On Mon, 13 Jun 2011 16:28:19 -0700, Zahid Chowdhury wrote:
> > Hello Dexen/Ryusuke,
> >   Thanks both for your help. I tried this:
> >    [quadcore:~/nilfs/nilfs-utils.git/nilfs2-utils] git fetch
> >            http://git.nilfs.org/nilfs2-utils-devel.git fsck0:fsck0
> >    fatal: Refusing to fetch into current branch
> >    [quadcore:~/nilfs/nilfs-utils.git/nilfs2-utils] git checkout fsck0
> >    Already on "fsck0"
> > I also tried from scratch with your commands below (not co, but checkout) -
> > there were no changes to the file with diff:
> >   nilfs2-utils-devel/sbin/fsck/fsck0.nilfs2.c
> 
> Sorry, the fsck0 branch was not propery updated.
> I just fixed the problem in the git repo.
> 
> Regards,
> Ryusuke Konishi
> --
> 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