| Anonymous | Login | Signup for a new account | 2013-05-24 23:40 CEST | ![]() |
| Main | My View | View Issues | Change Log | Roadmap |
| View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||||
| ID | Project | Category | View Status | Date Submitted | Last Update | ||||||
| 0003455 | OCaml | OCaml general | public | 2005-02-03 19:34 | 2006-02-10 16:13 | ||||||
| Reporter | administrator | ||||||||||
| Assigned To | |||||||||||
| Priority | normal | Severity | feature | Reproducibility | always | ||||||
| Status | acknowledged | Resolution | open | ||||||||
| Platform | OS | OS Version | |||||||||
| Product Version | |||||||||||
| Target Version | Fixed in Version | ||||||||||
| Summary | 0003455: Unix st_ino and st_dev overflow (> 30 bits) | ||||||||||
| Description | Full_Name: Marc Herbert Version: 3.08.2 OS: linux Submission from: lns-vlq-38-lyo-82-253-157-250.adsl.proxad.net (82.253.157.250) Unix.stats http://caml.inria.fr/ocaml/htmlman/libref/Unix.html#TYPEstats [^] type stats = { st_dev : int; (* Device number *) st_ino : int; (* Inode number *) My favourite POSIX.1 bible (Lewine) leaves st_ino and st_dev types "private" to the implementation. On my linux machine for instance st_dev is u64 and st_ino is u32. So I would say there is a sign/overflow issue here. Granted, most users probably don't have more than 1 billion file on their filesystems, but filesystesm may use high bits to store meta-data (like OCaml does with integers), and they may use whatever numbering they like. But the worst is that some huge filesystems (for instance distributed ones) may already reach this number of inodes. Actually, even such a "small" filesystem as linux' ext2/3 may be an issue in the future, see for instance: http://e2fsprogs.sourceforge.net/extensions-ext23/ [^] "One potential solution would be to extend the inode number to be 64 bits, and then encode the block group information explicitly into the high bits of the inode number. [...] Another potential solution to this problem is to utilize inode numbers starting from the end of the inode space" And also: http://lists.freebsd.org/pipermail/freebsd-current/2004-January/018647.html [^] "So the reality is that the very large scalable file systems hash larger identifiers into 32-bit values for local representation." "ino_t probably does need to get bumped to 64-bit on FreeBSD at some point," This was somewhat previously posted in comp.lang.ml http://groups.google.com/groups?selm=ct3c0k%24p49%241%40wolfberry.srv.cs.cmu.edu [^] http://groups.google.com/groups?selm=ct3pvb%24su9%241%40wolfberry.srv.cs.cmu.edu [^] PS: the slow performance of the bug search engine makes it almost unusable. | ||||||||||
| Tags | No tags attached. | ||||||||||
| Attached Files | |||||||||||
Notes |
|
|
(0000243) administrator (administrator) 2005-09-24 18:56 |
Yes, Unix.stat API is not well-designed w.r.t. this issue. No obvious fix: if st_ino and st_dev are really unspecified integer types, there is no corresponding Caml integer type to use. Leave this a feature wish, but it doesn't appear urgent at all. XL, 2005-09-24 |
|
(0003550) anonymous (viewer) 2006-02-05 16:45 |
I think it would be safe to assume no local filesystem will ever use more than 64bits for any of those types. So, putting aside the issue of galaxy-wide filesystems, could mapping those types to ocaml's int64 provide a decent fix? |
Issue History |
|||
| Date Modified | Username | Field | Change |
| 2005-11-18 10:13 | administrator | New Issue | |
| 2006-02-03 17:13 | anonymous | Note Added: 0003528 | |
| 2006-02-03 17:13 | anonymous | Note Added: 0003529 | |
| 2006-02-03 17:32 | doligez | Note Deleted: 0003528 | |
| 2006-02-03 17:33 | doligez | Note Deleted: 0003529 | |
| 2006-02-04 17:25 | anonymous | Note Added: 0003532 | |
| 2006-02-04 17:25 | anonymous | Note Added: 0003533 | |
| 2006-02-04 17:29 | anonymous | Note Added: 0003534 | |
| 2006-02-04 17:29 | anonymous | Note Added: 0003535 | |
| 2006-02-04 17:33 | anonymous | Note Added: 0003536 | |
| 2006-02-04 17:33 | anonymous | Note Added: 0003537 | |
| 2006-02-04 17:36 | xleroy | Note Deleted: 0003532 | |
| 2006-02-04 17:37 | xleroy | Note Deleted: 0003537 | |
| 2006-02-04 17:37 | xleroy | Note Deleted: 0003536 | |
| 2006-02-04 17:37 | xleroy | Note Deleted: 0003535 | |
| 2006-02-04 17:37 | xleroy | Note Deleted: 0003534 | |
| 2006-02-04 17:37 | xleroy | Note Deleted: 0003533 | |
| 2006-02-05 01:01 | anonymous | Note Added: 0003538 | |
| 2006-02-05 01:01 | anonymous | Note Added: 0003539 | |
| 2006-02-05 01:01 | anonymous | Note Added: 0003540 | |
| 2006-02-05 01:02 | anonymous | Note Added: 0003541 | |
| 2006-02-05 01:03 | anonymous | Note Added: 0003542 | |
| 2006-02-05 01:03 | anonymous | Note Added: 0003543 | |
| 2006-02-05 01:08 | anonymous | Note Added: 0003544 | |
| 2006-02-05 01:08 | anonymous | Note Added: 0003545 | |
| 2006-02-05 08:38 | anonymous | Note Added: 0003546 | |
| 2006-02-05 08:38 | anonymous | Note Added: 0003547 | |
| 2006-02-05 08:44 | anonymous | Note Added: 0003548 | |
| 2006-02-05 08:44 | anonymous | Note Added: 0003549 | |
| 2006-02-05 16:38 | anonymous | Note Deleted: 0003538 | |
| 2006-02-05 16:38 | anonymous | Note Deleted: 0003539 | |
| 2006-02-05 16:39 | anonymous | Note Deleted: 0003540 | |
| 2006-02-05 16:39 | anonymous | Note Deleted: 0003541 | |
| 2006-02-05 16:39 | anonymous | Note Deleted: 0003542 | |
| 2006-02-05 16:39 | anonymous | Note Deleted: 0003543 | |
| 2006-02-05 16:39 | anonymous | Note Deleted: 0003545 | |
| 2006-02-05 16:40 | anonymous | Note Deleted: 0003544 | |
| 2006-02-05 16:40 | anonymous | Note Deleted: 0003546 | |
| 2006-02-05 16:40 | anonymous | Note Deleted: 0003547 | |
| 2006-02-05 16:40 | anonymous | Note Deleted: 0003548 | |
| 2006-02-05 16:40 | anonymous | Note Deleted: 0003549 | |
| 2006-02-05 16:45 | anonymous | Note Added: 0003550 | |
| 2006-02-10 16:06 | anonymous | Note Added: 0003558 | |
| 2006-02-10 16:06 | anonymous | Note Added: 0003559 | |
| 2006-02-10 16:06 | anonymous | Note Added: 0003560 | |
| 2006-02-10 16:07 | anonymous | Note Added: 0003561 | |
| 2006-02-10 16:08 | anonymous | Note Added: 0003562 | |
| 2006-02-10 16:09 | anonymous | Note Added: 0003563 | |
| 2006-02-10 16:09 | anonymous | Note Added: 0003564 | |
| 2006-02-10 16:09 | anonymous | Note Added: 0003565 | |
| 2006-02-10 16:09 | anonymous | Note Added: 0003566 | |
| 2006-02-10 16:09 | anonymous | Note Added: 0003567 | |
| 2006-02-10 16:09 | anonymous | Note Added: 0003568 | |
| 2006-02-10 16:09 | anonymous | Note Added: 0003569 | |
| 2006-02-10 16:12 | anonymous | Note Added: 0003570 | |
| 2006-02-10 16:12 | anonymous | Note Added: 0003571 | |
| 2006-02-10 16:13 | anonymous | Note Added: 0003572 | |
| 2006-02-10 16:13 | anonymous | Note Added: 0003573 | |
| 2006-02-13 09:08 | guesdon | Note Deleted: 0003558 | |
| 2006-02-13 09:09 | guesdon | Note Deleted: 0003573 | |
| 2006-02-13 09:09 | guesdon | Note Deleted: 0003572 | |
| 2006-02-13 09:09 | guesdon | Note Deleted: 0003571 | |
| 2006-02-13 09:10 | guesdon | Note Deleted: 0003559 | |
| 2006-02-13 09:10 | guesdon | Note Deleted: 0003561 | |
| 2006-02-13 09:10 | guesdon | Note Deleted: 0003562 | |
| 2006-02-13 09:10 | guesdon | Note Deleted: 0003563 | |
| 2006-02-13 09:10 | guesdon | Note Deleted: 0003560 | |
| 2006-02-13 09:10 | guesdon | Note Deleted: 0003564 | |
| 2006-02-13 09:10 | guesdon | Note Deleted: 0003565 | |
| 2006-02-13 09:10 | guesdon | Note Deleted: 0003566 | |
| 2006-02-13 09:10 | guesdon | Note Deleted: 0003567 | |
| 2006-02-13 09:10 | guesdon | Note Deleted: 0003568 | |
| 2006-02-13 09:10 | guesdon | Note Deleted: 0003569 | |
| 2006-02-13 09:10 | guesdon | Note Deleted: 0003570 | |
| Copyright © 2000 - 2011 MantisBT Group |