Extracting changed files list from snapshot

Mel fbsd.questions at rachie.is-a-geek.net
Thu Dec 18 07:26:52 UTC 2008


On Wednesday 17 December 2008 11:37:04 Bernard Dugas wrote:
> Mel wrote:
> > On Tuesday 16 December 2008 15:18:19 Bernard Dugas wrote:
> >>I want to extract the list of files changed between 2 snapshots, to be
> >>able to do efficient backups.

<snip>

> > And what snapshots do you mean? As in mksnap_ffs? Cause that's described
> > in /usr/src/sys/ufs/ffs/ffs_snapshot.c:
> >    127  TAILQ_HEAD(snaphead, inode);
> >    128
> >    129  struct snapdata {
> >    130          struct snaphead sn_head;
> >    131          daddr_t sn_listsize;
> >    132          daddr_t *sn_blklist;
> >    133          struct lock sn_lock;
> >    134  };
> >    135
> >
> > and not exposed to userland.
>
> Thanks, this is a good hint ! Just needing some doc and help to
> understand how to use it : i'm more in design now, programmation skills
> are far away :-(

I'm still wondering if you're not better off with ZFS, but this does seem like 
a useful app in it's own right.
The TAILQ_HEAD statement means it's creating a tail queue(3) (double linked 
fifo/stack) of inodes. The snapdata structure contains the start of the list, 
the size and a lock. The sn_blklist pointer, I will have to look up.

I think i'm gonna have fun with this for a bit ;)

-- 
Mel

Problem with today's modular software: they start with the modules
    and never get to the software part.


More information about the freebsd-questions mailing list