debugfs.c (do_write): Mask off the file type bits, and OR in the
	regular file information.  (Addresses Debian Bug: #217456)

diff --git a/debugfs/ChangeLog b/debugfs/ChangeLog
index 319da69..0e3a5ef 100644
--- a/debugfs/ChangeLog
+++ b/debugfs/ChangeLog
@@ -1,5 +1,8 @@
 2003-12-07  Theodore Ts'o  <tytso@mit.edu>
 
+	* debugfs.c (do_write): Mask off the file type bits, and OR in the
+		regular file information.  (Addresses Debian Bug: #217456)
+
 	* util.c (open_pager): Search for the pager to use, starting with
 		'pager', and then falling back to 'less' and then 'more'.
 		(Addresses Debian Bug: #221977)
diff --git a/debugfs/debugfs.c b/debugfs/debugfs.c
index 2c13e4f..2173c13 100644
--- a/debugfs/debugfs.c
+++ b/debugfs/debugfs.c
@@ -1117,7 +1117,7 @@
 		com_err(argv[0], 0, "Warning: inode already set");
 	ext2fs_inode_alloc_stats2(current_fs, newfile, +1, 0);
 	memset(&inode, 0, sizeof(inode));
-	inode.i_mode = statbuf.st_mode;
+	inode.i_mode = (statbuf.st_mode & ~LINUX_S_IFMT) | LINUX_S_IFREG;
 	inode.i_atime = inode.i_ctime = inode.i_mtime = time(NULL);
 	inode.i_links_count = 1;
 	inode.i_size = statbuf.st_size;