here is some debugging output:
root@saturn:~/rd# mount -t bfs /dev/ram0 /mnt
root@saturn:~/rd# od -tx4 -Ax /mnt/suscfg
c011ece2 -> block_read_full_page()
rd_request(READ), block=000006f5
rd_request(READ), block=000006f6
rd_request(READ), block=000006f7
rd_request(READ), block=000006f8
rd_request(READ), block=000006f9
rd_request(READ), block=000006fa
rd_request(READ), block=000006fb
rd_request(READ), block=000006fc
000000 00000000 00000000 00000000 00000000
*
c011ece2 -> block_read_full_page()
rd_request(READ), block=000006fd
rd_request(READ), block=000006fe
rd_request(READ), block=000006ff
rd_request(READ), block=00000700
rd_request(READ), block=00000701
rd_request(READ), block=00000702
rd_request(READ), block=00000703
rd_request(READ), block=00000704
001ef0 00000000 00000000
001ef5
root@saturn:~/rd# l /mnt/suscfg
-r-x------ 1 root sys 7925 Mar 5 1999 /mnt/suscfg*
so, do_generic_file_read() (c011ece2) calls block_read_full_page() which
results in the READ requests to rd_request() which fill the buffer with
zeroes.
So, all I found so far is that going through block_read/write (i.e.
dd'ing from/to /dev/ram0) is fine but going through generic_file_read()
results in zeroed data returned.
Regards,
Tigran.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/