Solaris is open source, you can always take a look at the
code to see what it does ;-)

Afshin

On 05/ 5/10 10:17 AM, Edward Ned Harvey wrote:
From: Alan Wright [mailto:alan.wri...@oracle.com]
Sent: Tuesday, May 04, 2010 6:28 PM

Is this a curiosity question or are you trying to implement
support for Previous Versions?

Have you looked at the spec and/or what Windows clients do
when you view Previous Versions?

I don't know where to find the spec, but I am specifically interested in how
zfs snapshots are translated to previous versions.  If we're talking about a
general spec, as implemented by MS Windows servers or anything other than
ZFS, I'm not interested in that.  Only interested in ZFS.

The reason I'm interested is:  I've begun work on something called "zhist"
This is a cross-platform python script, which is meant to simplify access to
snapshots.  The simple and obvious thing to do is to base it on filenames.
If a user does something like "zhist ls somefile" then zhist climbs up to
the proper parent directory of somefile, enters the .zfs/snapshot directory,
and produces a list of all the matching instances of somefile.  For example:
        cd /tank/home/eharvey/working/foo
        zhist ls bar

        Results in:
        /tank/.zfs/snapshot/snap1/home/eharvey/working/foo/bar
        /tank/.zfs/snapshot/snap2/home/eharvey/working/foo/bar
        /tank/.zfs/snapshot/snap.../home/eharvey/working/foo/bar

Then, somebody in zfs-discuss asked me, "what if the thing has been renamed,
or moved to a different directory?"  ...  Well, this technique of finding
object previous versions based on filename and path cannot identify renames
and moves.  So then there was this whole discussion about reverse lookup
inode -->  names.  This discussion didn't really progress much.

So then somebody suggested, "Hey, doesn't CIFS previous versions already do
this?  Why don't you ask them how they do it?"  So here I am.

I don't want to presume I've thought up every possible algorithm to identify
previous versions of an object.  So instead of asking "Hey, do you guys
search by matching filename and path in the snapshots, or use reverse
inode-->pathname lookup," I felt it was more appropriate to ask, "What
technique is being used, to map snapshots to previous versions."

So ... Can you answer the question, or tell me where to look so I can read
about it?

Thanks...

_______________________________________________
cifs-discuss mailing list
cifs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/cifs-discuss
_______________________________________________
cifs-discuss mailing list
cifs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/cifs-discuss

Reply via email to