+2007-05-08 Theodore Tso <tytso@mit.edu>
+
+ * debugfs.c (internal_dump_inode), ls.c (list_dir_proc),
+ lsdel.c (do_lsdel): Use inode_uid() and inode_gid() so
+ that the high bits of the uid/gid are displayed.
+
2007-04-19 Theodore Tso <tytso@mit.edu>
* set_fields.c: Add the i_version field to the set_inode_field
prefix,
inode->i_mode & 0777, inode->i_flags, inode->i_generation);
fprintf(out, "%sUser: %5d Group: %5d Size: ",
- prefix, inode->i_uid, inode->i_gid);
+ prefix, inode_uid(*inode), inode_gid(*inode));
if (LINUX_S_ISREG(inode->i_mode)) {
__u64 i_size = (inode->i_size |
((unsigned long long)inode->i_size_high << 32));
}
fprintf(ls->f, "%c%6u%c %6o (%d) %5d %5d ", lbr, ino, rbr,
inode.i_mode, dirent->name_len >> 8,
- inode.i_uid, inode.i_gid);
+ inode_uid(inode), inode_gid(inode));
if (LINUX_S_ISDIR(inode.i_mode))
fprintf(ls->f, "%5d", inode.i_size);
else
struct deleted_info {
ext2_ino_t ino;
unsigned short mode;
- unsigned short uid;
+ __u32 uid;
__u64 size;
time_t dtime;
int num_blocks;
delarray[num_delarray].ino = ino;
delarray[num_delarray].mode = inode.i_mode;
- delarray[num_delarray].uid = inode.i_uid;
+ delarray[num_delarray].uid = inode_uid(inode);
delarray[num_delarray].size = inode.i_size;
if (!LINUX_S_ISDIR(inode.i_mode))
delarray[num_delarray].size |=
+2007-05-08 Theodore Tso <tytso@mit.edu>
+
+ * message.c (expand_inode_expression): Use inode_uid() and
+ inode_gid() macros when printing the uid/gid.
+
2007-04-18 Theodore Tso <tytso@mit.edu>
* e2fsck.conf.5.in (apply): Fix minor typo.
inode->i_dir_acl : 0));
break;
case 'u':
- printf("%d", (inode->i_uid |
- (inode->osd2.linux2.l_i_uid_high << 16)));
+ printf("%d", inode_uid(*inode));
break;
case 'g':
- printf("%d", (inode->i_gid |
- (inode->osd2.linux2.l_i_gid_high << 16)));
+ printf("%d", inode_gid(*inode));
break;
case 't':
if (LINUX_S_ISREG(inode->i_mode))
+2007-05-08 Eric Sandeen <sandeen@redhat.com>
+
+ * ext2_fs.h (inode_uid, inode_gid): The inode_uid() and
+ inode_gid() macros will automatically add the high bits
+ when reading uid/gid, on platforms that support it.
+
2007-04-19 Theodore Tso <tytso@mit.edu>
* ext2_fs.h, swapfs.c (ext2fs_swap_inode_full): Rename the
#define i_uid_high osd2.linux2.l_i_uid_high
#define i_gid_high osd2.linux2.l_i_gid_high
#define i_reserved2 osd2.linux2.l_i_reserved2
-
+#define inode_uid(inode) ((inode).i_uid | (inode).i_uid_high << 16)
+#define inode_gid(inode) ((inode).i_gid | (inode).i_gid_high << 16)
#else
#if defined(__GNU__)
#define i_uid_high osd2.hurd2.h_i_uid_high
#define i_gid_high osd2.hurd2.h_i_gid_high
#define i_author osd2.hurd2.h_i_author
+#define inode_uid(inode) ((inode).i_uid | (inode).i_uid_high << 16)
+#define inode_gid(inode) ((inode).i_gid | (inode).i_gid_high << 16)
#else
#if defined(__masix__)
#define i_frag osd2.masix2.m_i_frag
#define i_fsize osd2.masix2.m_i_fsize
#define i_reserved2 osd2.masix2.m_i_reserved2
+#define inode_uid(inode) ((inode).i_uid)
+#define inode_gid(inode) ((inode).i_gid)
#endif /* __masix__ */
#endif /* __GNU__ */
+2007-05-07 Eric Sandeen <sandeen@redhat.com>
+
+ * mke2fs.c (PRS): Make defaults more sane when /etc/mke2fs.conf
+ doesn't exist.
+
2007-04-07 Theodore Tso <tytso@mit.edu>
* util.c (figure_journal_size): Allow the journal size to be up to
static void create_root_dir(ext2_filsys fs)
{
- errcode_t retval;
+ errcode_t retval;
struct ext2_inode inode;
+ __u32 uid, gid;
retval = ext2fs_mkdir(fs, EXT2_ROOT_INO, EXT2_ROOT_INO, 0);
if (retval) {
_("while reading root inode"));
exit(1);
}
- inode.i_uid = getuid();
- if (inode.i_uid)
- inode.i_gid = getgid();
+ uid = getuid();
+ inode.i_uid = uid;
+ inode.i_uid_high = uid >> 16;
+ if (uid) {
+ gid = getgid();
+ inode.i_gid = gid;
+ inode.i_gid_high = gid >> 16;
+ }
retval = ext2fs_write_new_inode(fs, EXT2_ROOT_INO, &inode);
if (retval) {
com_err("ext2fs_write_inode", retval,