Bug 80298
Summary: | mke2fs can't format huge disk(over 1TB). | ||
---|---|---|---|
Product: | [Retired] Red Hat Linux | Reporter: | Shinya Narahara <naraha_s> |
Component: | kernel | Assignee: | Arjan van de Ven <arjanv> |
Status: | CLOSED NOTABUG | QA Contact: | Brian Brock <bbrock> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | 7.2 | ||
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | ia64 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2002-12-24 09:46:27 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Shinya Narahara
2002-12-24 08:38:37 UTC
Red Hat Linux 7.2 does explicitly not support disks/block devices over 1Tb. Is there any RedHat kernel which can treat the partition over 1TB? The kernels of RH8.0 and RHAS2.1 doesn't seem to format the partition... How about kernel 2.5? well mke2fs is not part of the kernel. The RHL 8.0 kernel can work with 2Tb storage for certain systems; not with software raid of LVM for one; only testing will tell. Thank you for your advice, we'll test RHL8.0 kernel. We know the mke2fs is not part of the kernel, but the problem is the kernel function ioctl(dev,BLKGETSIZE,&size) returns wrong size about the scsi disk over 1TB, to mke2fs. Anyway, we'll explore kernel-2.4.18-18.8.0 source... Thanks, there's a reason all newer apps use BLKGETSIZE64 ioctl; that's because THAT does support bigger disks... Unfortunatelly, it seems we can't use huge disk over 1TB even on kernel-2.4.18-18.8.0, although we've not tested yet. The ioctl BLKGETSIZE64 uses same value of BLKGETSIZE, so ioctl BLKGETSIZE64 returns wrong value if the BLKGETSIZE returns wrong(when the partition is over 1TB). drivers/block/blkpg.c: case BLKGETSIZE: case BLKGETSIZE64: g = get_gendisk(dev); if (g) ullval = g->part[MINOR(dev)].nr_sects; if (cmd == BLKGETSIZE) return put_user((unsigned long)ullval, (unsigned long *)arg); else return put_user(ullval << 9, (u64 *)arg); |