shapor / tux3 (http://shapor.com/tux3)

Tux3 is a write-anywhere, atomic commit, btree-based versioning filesystem. It is the spiritual and moral successor of Tux2, the most famous filesystem that was never released. The main purpose of Tux3 is to embody Daniel Phillips's new ideas on storage data versioning. The secondary goal is to provide a more efficient snapshotting and replication method for the Zumastor NAS project, and a tertiary goal is to be better than ZFS.

Clone this repository (size: 1.3 MB): HTTPS / SSH
$ hg clone http://bitbucket.org/shapor/tux3/
commit 936: ac5a924f687e
parent 935: eccbc2687577
branch: default
Clear new directory blocks to be tidy and make Valgrind happy
dan...@moonbase.phunq.net
14 months ago

Changed (Δ15 bytes):

raw changeset »

user/commit.c (1 lines added, 1 lines removed)

user/kernel/dir.c (1 lines added, 1 lines removed)

Up to file-list user/commit.c:

@@ -164,7 +164,7 @@ int main(int argc, char *argv[])
164
164
		show_buffers_state(BUFFER_DIRTY + 2);
165
165
		show_buffers_state(BUFFER_DIRTY + 3);
166
166
	}
167
	if (0) {
167
	if (1) {
168
168
		for (int i = 0; i < 2; i++) {
169
169
			struct tux_iattr iattr = { .mode = S_IFREG | S_IRWXU };
170
170
			char name[100];

Up to file-list user/kernel/dir.c:

@@ -147,7 +147,7 @@ loff_t _tux_create_entry(struct inode *d
147
147
	}
148
148
	buffer = blockget(mapping(dir), block = blocks);
149
149
	entry = bufdata(buffer);
150
	name_len = 0;
150
	memset(entry, 0, blocksize);
151
151
	rec_len = blocksize;
152
152
	*entry = (tux_dirent){ .rec_len = tux_rec_len_to_disk(blocksize) };
153
153
	*size += blocksize;