Portál AbcLinuxu, 12. května 2025 01:25
Mě to funguje. FC5 32b user space, různé vanilkové kernely (reálně zkoušeno od 2.6.22.6 výš), 32b i 64b kernely (64b se zapnutou kompatibilitou pro 32b user space). Podmínkou je, že v kernelu musí být zapnuto CONFIG_LBD (CONFIG_LSF zatím zapnuto nemám). Testuju s tím RAIDy.
Ve svém programu mám někde na začátku
#define __USE_LARGEFILE64
a device pak otvírám s flagem O_LARGEFILE .
Co přesně dělá _LARGEFILE64_SOURCE, to z hlavy netuším - tipuju že totéž, co __USE_LARGEFILE64.
Co je zač ten 13TB disk? Jasně, nějaký RAID - přes jaký HBA je připojen? Nemůže to být chyba HBA nebo firmwaru? (Nějaký historický Qlogic? Ale i s ním jsem měl problém až nad 16 TB - řeší to aktualizace firmwaru.)
Zkoušel jste na tom 13TB disku hledat půlením intervalu přesnou hranici, odkud začne lseek64 vracet chybu?
Ano, nejčastěji s tím trápím právě RAIDy Areca v různých provedeních.
Používáte
fd = open(filename, O_LARGEFILE | ...);
?
Aha, už vidím, O_LARGEFILE používáte.
Jak velký disk vidí/hlásí kernel? To se dá zjistit z dmesg, nebo přes BLKGETSIZE64 ioctl() - mimochodem na to mám utilitku:
http://www.fccps.cz/download/adv/frr/geom.c
Možná by to šlo vysekat i odněkud ze /sys/class/scsi_device/...
Ten Debian, to je v zásadě originální instalace, nebo to distro prošlo několika upgrady zaživa?
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.