NetBSD-Bugs archive

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

Re: kern/37425: fss_snapshot_mount panic during fsck



The following reply was made to PR kern/37425; it has been noted by GNATS.

From: Scott Ellis <scotte%warped.com@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc: hannken%NetBSD.org@localhost, gnats-admin%netbsd.org@localhost, 
netbsd-bugs%netbsd.org@localhost
Subject: Re: kern/37425: fss_snapshot_mount panic during fsck
Date: Tue, 25 Nov 2008 17:40:50 -0800

 On 11/25/2008 6:20 AM, Juergen Hannken-Illjes wrote:
 > The following reply was made to PR kern/37425; it has been noted by GNATS.
 >
 > From: Juergen Hannken-Illjes<hannken%eis.cs.tu-bs.de@localhost>
 > To: gnats-bugs%netbsd.org@localhost
 > Cc:
 > Subject: Re: kern/37425: fss_snapshot_mount panic during fsck
 > Date: Tue, 25 Nov 2008 15:15:53 +0100
 >
 >   On Mon, Nov 24, 2008 at 06:05:23PM -0800, Scott Ellis wrote:
 >   [snip]
 >   >  Script used to test is attached (yes, it's a hack, but it was quick to
 >   >  write!) as pffstest.pl.  It requires the directory structure of
 >   >  /.snapshot/.store to be created, and vnd 11-14 to be available.
 >
 >   How should the /.snapshot/.store hierarchy look like?
 
 I believe /.snapshot/.store/ will get populated with snapshot files (5 
 at a time?) with the filename of the date and time the snapshot was 
 taken.  The script should automatically do that for you.
 
 >
 >   >          # Make a new store file
 >   >          exec(`fssconfig -c fss0 / $newfile`);
 >   >          exec(`fssconfig -u fss0`);
 >   >
 >   >          # Attach it to the vnode
 >   >          exec(`vnconfig -r $vnd{""} $newfile`);
 >
 >   If I get this right you are trying to create a vnd device from the
 >   snapshot backup.  If this succeeds, there is a bug in the vnd driver.
 >   Snapshot backups cannot be opened, read or written -- they can only
 >   be accessed through /dev/{r,}fss{n}.
 
 It's been ages since I hacked together that script, but if memory 
 serves, the general logic is supposed to be something like:
 
 1) Create snapshot #1
 2) Attach vnd11 to snapshot #1 (using 
 "/.snapshot/.store/2008-11-25-whatever" as the vnd backing file)
 3) Mount vnd11a (or whatever) as "/.snapshot/2008-11-25-whatever"
 4) Create snapshot #2
 5) Repeat steps 1-3 until vnd11-vnd14 are filled snapshots #1 through #4
 6) umount and unconfigure vnd11/snapshot #1
 7) Free the snapshot #1
 8) Perform steps 1-3 (so that snapshot #1 is now the most recent snapshot)
 9) Repeat steps 6-8 with the oldest snapshot, loop forever
 
 The gist is that I tried to always have 4 snapshots configured and 
 mounted (via vnd).  As soon as all 4 are used, the oldest one is removed 
 and a new snapshot is taken.
 
 In my quick test, creating /.snapshots/.store/ and running the script 
 twice gave the panic (the first time through it just created the first 
 .store/foo file I believe...to get the process started).
 


Home | Main Index | Thread Index | Old Index