Hi Paul-- On Jan 6, 2006, at 15:55, PAulN wrote:> I just noticed that the snapfs directory has been removed from the > more recent versions of lustre. Has the snapshotting facility been > removed or is the code somewhere else?There never was a snapshot facility, except on the roadmap. The snapfs directory contained code from before CFS existed; still based on ext2, never updated, maintained, or integrated into Lustre. It lives on in the roadmap, but the snapfs/ directory was just clutter. Thanks, -Phil
Phil, can you describe how the copy-on-write would work at the ost layer or is this still undecided? from old snapfs code it looks like performing a cow op hooks into the underlying filesystem somehow. unfortunately i can''t find the code for ext3_snap_operations.. what I''d really like to know is how the cow was intended to work? are we talking about file-level or block level cow? the args to create_indirect imply that the entire file is copied. if it was block-level, then does ext3 manage post-snapshot modified block lists in its metadata? thanks, paul /* * Make a copy of the data and plug a redirector in between if there * is no redirector yet. */ int snap_do_cow(struct inode *inode, ino_t parent_ino, int del) { ... ind = snapops->create_indirect(inode, snap.index, snap.gen, parent_ino, del); ... } (pauln@panzer:lustre-1.4.0)$ grep -R ext3_snap_operations . ./snapfs/super.c:extern struct snapshot_operations ext3_snap_operations; ./snapfs/super.c: &ext3_snap_operations); Phil Schwan wrote:> On Jan 6, 2006, at 16:17, PAulN wrote: > >> ok thanks. i was under the impression that it was working but not >> production quality. so snapshotting has not been used with lustre at >> any point - even in testing? > > > Nope, I''m afraid not. > > -Phil
ok thanks. i was under the impression that it was working but not production quality. so snapshotting has not been used with lustre at any point - even in testing? paul Phil Schwan wrote:> Hi Paul-- > > On Jan 6, 2006, at 15:55, PAulN wrote: > >> I just noticed that the snapfs directory has been removed from the >> more recent versions of lustre. Has the snapshotting facility been >> removed or is the code somewhere else? > > > There never was a snapshot facility, except on the roadmap. The > snapfs directory contained code from before CFS existed; still based > on ext2, never updated, maintained, or integrated into Lustre. > > It lives on in the roadmap, but the snapfs/ directory was just clutter. > > Thanks, > > -Phil > _______________________________________________ > Lustre-discuss mailing list > Lustre-discuss@lists.clusterfs.com > https://lists.clusterfs.com/mailman/listinfo/lustre-discuss
On Jan 6, 2006, at 16:17, PAulN wrote:> ok thanks. i was under the impression that it was working but not > production quality. so snapshotting has not been used with lustre at > any point - even in testing?Nope, I''m afraid not. -Phil
On Jan 06, 2006 17:28 -0500, PAulN wrote:> can you describe how the copy-on-write would work at the ost layer > or is this still undecided? from old snapfs code it looks like > performing a cow op hooks into the underlying filesystem somehow. > unfortunately i can''t find the code for ext3_snap_operations.. > what I''d really like to know is how the cow was intended to work? > are we talking about file-level or block level cow? the args to > create_indirect imply that the entire file is copied.It was a long time ago that this code was written, but AFAIR the snapfs code did file-level snapshots, essentially creating a new inode for each version of the file. Holes in the file would reference data in the previous version(s) of the file. The data was never copied unless an old snapshot in a partially-modified file was removed and we still need the old data to make a complete file. While the theory of "write a few blocks in a modified file" is always mentioned, in reality every common application except databases always rewrites the whole file regardless of how much data is changed (e.g. editors, unix tools, etc). Just like kernel VM is optimized for fork+exec which normally replaces the whole process memory space and doesn''t actually copy the process pages, snapfs is optimized for the common case where old file data is completely replaced. Cheers, Andreas -- Andreas Dilger Principal Software Engineer Cluster File Systems, Inc.