fcntly.ioctl takes an int as the second argument. If
the value passed is a large 32 bit quantity (0x80046601
for example - EXT2_IOC_GETFLAGS) then I get:
Traceback (most recent call last):
File "CommSecure-CVS/Operations/checkSpace.py", line
73, in ?
main(sys.argv[1:])
File "CommSecure-CVS/Operations/checkSpace.py", line
25, in main
os.path.walk(file, doDirectory, total)
File "/usr/lib64/python2.3/posixpath.py", line 282,
in walk
func(arg, top, names)
File "CommSecure-CVS/Operations/checkSpace.py", line
61, in doDirectory
flags = fcntl.ioctl(fd, EXT3_IOC_GETFLAGS, " ")
OverflowError: signed integer is greater than maximum
My _guess_ here is that the code is checking against 32
bit quantities rather than 64 bit when converting to
the C data type?
Platform is Linux, Fedora Core 3 on AMD Opteron.
|