When we created a device file via sys_mknod, the inode->i_rdev
was not being set with the device major & minor numbers.
This is also the root cause of the mkinitrd failure in the XFS system
installer, since the loop devices created on the XFS filestem were
not reporting valid device numbers, and mkinitrd (specifically
losetup & loopback mount) failed.
This is why people had reported success with ext2 roots, but failure
with xfs roots when an initrd was required.
The problem didn't exhibit itself very often, because:
1) many people are using devfs which masks this, and
2) after an umount/mount cylce, the inode got flushed out, and the
device numbers were valid.
Date: Thu Apr 12 12:24:39 PDT 2001
Workarea: gibble.americas.sgi.com:/export/xfs1/eric/workarea
The following file(s) were checked into:
bonnie.engr.sgi.com:/isms/slinx/2.4.x-xfs
Modid: 2.4.x-xfs:slinx:92334a
linux/fs/xfs/linux/xfs_iops.c - 1.101
- assign inode->i_rdev when device files are created
|