[Ocfs2-tools-commits] zab commits r559 - trunk/mkfs.ocfs2

svn-commits at oss.oracle.com svn-commits at oss.oracle.com
Mon Jan 17 17:32:08 CST 2005


Author: zab
Date: 2005-01-17 17:32:06 -0600 (Mon, 17 Jan 2005)
New Revision: 559

Modified:
   trunk/mkfs.ocfs2/mkfs.c
Log:
o create /lost+found in mkfs


Modified: trunk/mkfs.ocfs2/mkfs.c
===================================================================
--- trunk/mkfs.ocfs2/mkfs.c	2005-01-17 23:13:57 UTC (rev 558)
+++ trunk/mkfs.ocfs2/mkfs.c	2005-01-17 23:32:06 UTC (rev 559)
@@ -310,10 +310,12 @@
 	SystemFileDiskRecord superblock_rec;
 	SystemFileDiskRecord root_dir_rec;
 	SystemFileDiskRecord system_dir_rec;
+	SystemFileDiskRecord lostfound_dir_rec;
 	int i, j, num;
 	DirData *orphan_dir;
 	DirData *root_dir;
 	DirData *system_dir;
+	DirData *lostfound_dir;
 	uint64_t need;
 	SystemFileDiskRecord *tmprec;
 	char fname[SYSTEM_FILE_NAME_MAX];
@@ -340,6 +342,7 @@
 	init_record(s, &superblock_rec, SFI_OTHER, S_IFREG | 0644);
 	init_record(s, &root_dir_rec, SFI_OTHER, S_IFDIR | 0755);
 	init_record(s, &system_dir_rec, SFI_OTHER, S_IFDIR | 0755);
+	init_record(s, &lostfound_dir_rec, SFI_OTHER, S_IFDIR | 0755);
 
 	for (i = 0; i < NUM_SYSTEM_INODES; i++) {
 		num = system_files[i].global ? 1 : s->initial_nodes;
@@ -354,6 +357,7 @@
 	root_dir = alloc_directory(s);
 	system_dir = alloc_directory(s);
 	orphan_dir = alloc_directory(s);
+	lostfound_dir = alloc_directory(s);
 
 	need = (s->volume_size_in_clusters + 7) >> 3;
 	need = ((need + s->cluster_size - 1) >> s->cluster_size_bits) << s->cluster_size_bits;
@@ -414,6 +418,17 @@
 	add_entry_to_directory(s, root_dir, ".", root_dir_rec.fe_off, OCFS2_FT_DIR);
 	add_entry_to_directory(s, root_dir, "..", root_dir_rec.fe_off, OCFS2_FT_DIR);
 
+	alloc_from_bitmap (s, 1, s->global_bm,
+			   &lostfound_dir_rec.extent_off,
+			   &lostfound_dir_rec.extent_len);
+
+	lostfound_dir_rec.fe_off = alloc_inode(s, &lostfound_dir_rec.suballoc_bit);
+	lostfound_dir->record = &lostfound_dir_rec;
+
+	add_entry_to_directory(s, lostfound_dir, ".", lostfound_dir_rec.fe_off, OCFS2_FT_DIR);
+	add_entry_to_directory(s, lostfound_dir, "..", root_dir_rec.fe_off, OCFS2_FT_DIR);
+	add_entry_to_directory(s, root_dir, "lost+found", lostfound_dir_rec.fe_off, OCFS2_FT_DIR);
+
 	need = system_dir_blocks_needed(s) << s->blocksize_bits;
 	alloc_bytes_from_bitmap(s, need, s->global_bm,
 				&system_dir_rec.extent_off,
@@ -469,6 +484,7 @@
 
 	format_file(s, &root_dir_rec);
 	format_file(s, &system_dir_rec);
+	format_file(s, &lostfound_dir_rec);
 
 	for (i = 0; i < NUM_SYSTEM_INODES; i++) {
 		num = system_files[i].global ? 1 : s->initial_nodes;
@@ -503,6 +519,7 @@
 	write_directory_data(s, root_dir);
 	write_directory_data(s, system_dir);
 	write_directory_data(s, orphan_dir);
+	write_directory_data(s, lostfound_dir);
 
 	tmprec = &(record[HEARTBEAT_SYSTEM_INODE][0]);
 	write_metadata(s, tmprec, NULL);



More information about the Ocfs2-tools-commits mailing list