Messages in this thread | | | Date | Fri, 19 Apr 1996 21:48:11 +0000 (GMT) | From | Tigran Aivazian <> | Subject | Two fixes for one bug from two humans in one kernel (1.3.91) |
| |
Hi Kernel Guys,
In reply to my bug report about statfs() not working on iso9660 filesystem and reporting wrong f_blocks (should be twice as big) I received two patches to isofs_statfs() of fs/isofs/inode.c:
a) from Erik Youngdale <eric@aib.com>:
tmp.f_bsize = (1 << s -> u.isofs_sb.s_log_zone_size);
b) from Andries Brouwer <Andries.Brouwer@cwi.nl>: tmp.f_blocks = (sb->u.isofs_sb.s_nzones << (sb->u.isofs_sb.s_log_zone_size - sb->s_blocksize_bits));
As we see here, Erik's patch changes f_bsize to 2048 whereas Andries' one makes f_blocks to be something other than it is now.
Now, I tested both of these approaches and they work fine, ie df now reports proper number of blocks on iso9660 filesystem.
Linus, can you please chose which of these (or something else?) is the proper way to fix the bug that I reported? Thank you.
Thanks to Erik and Andries for their kind replies :)
Regards, Tigran.
PS. I know I may be wrong but I personally prefered the patch b) because it seemed a bit strange to have df report "1024 byte blocks" in the header whereas in fact, statfs() would say f_bsize = 2048 for the patch a). For patch b) it would say 1024 as expected.
| |