Description of problem:
some directories are not displayed in the directory tree when browsing on a CIFS share
Version-Release number of selected component (if applicable):
easytag-2.1.6-5.fc12.i686
How reproducible:
100%
The reason is that sometimes the CIFS server provides very large inode numbers like:
stat /my/cifs/store
File: `/my/cifs/store'
Size: 0 Blocks: 0 IO Block: 16384 directory
Device: 1ch/28d Inode: 278185041108994 Links: 1
Access: (0755/drwxr-xr-x) Uid: ( 500/ chkr) Gid: ( 0/ root)
Access: 2010-08-31 20:38:47.000000000 +0200
Modify: 2010-04-24 17:10:15.000000000 +0200
Change: 2010-04-24 17:10:15.000000000 +0200
If easytag uses then "stat" on this directory, stat will return with -1 and the following errno: 75, Value too large for defined data type. As a result this directory will be ignored in src/browser.c in expand_cb() (there it is even worse: the return value of stat is not checked at all and so the data in statbuf may be just random).
Description of problem:
some directories are not displayed in the directory tree when browsing on a CIFS share
Version-Release number of selected component (if applicable): 2.1.6-5. fc12.i686
easytag-
How reproducible:
100%
The reason is that sometimes the CIFS server provides very large inode numbers like:
stat /my/cifs/store
File: `/my/cifs/store'
Size: 0 Blocks: 0 IO Block: 16384 directory
Device: 1ch/28d Inode: 278185041108994 Links: 1
Access: (0755/drwxr-xr-x) Uid: ( 500/ chkr) Gid: ( 0/ root)
Access: 2010-08-31 20:38:47.000000000 +0200
Modify: 2010-04-24 17:10:15.000000000 +0200
Change: 2010-04-24 17:10:15.000000000 +0200
If easytag uses then "stat" on this directory, stat will return with -1 and the following errno: 75, Value too large for defined data type. As a result this directory will be ignored in src/browser.c in expand_cb() (there it is even worse: the return value of stat is not checked at all and so the data in statbuf may be just random).
Other programs suffer from the problem as well: www.musicpd. org/mantis/ view.php? id=2665
http://
The best solution seems to be to compile the program with -D_FILE_ OFFSET_ BITS=64.