Daniel Phillips writes:
> We are likely to change this again after a while, but for now this
Yes, this would be work. Just FYI for people, probably you know though,
inode->i_size has race on 32bit arch. It is 64bit value, so,
*size += blocksize;
means something like the following. E.g.
load 0x0(size), %reg1
load 0x4(size), %reg2
add blocksize, %reg1
add-carry %reg2
store %reg1, 0x0(size)
<---- (W)
store %reg2, 0x4(size)
So, block I/O library like block_write_full_page() can read the size at
(W) point. The result may be bogus size.
We have to fix this later, maybe change with phtree. (don't read i_size
without lock, or use i_size_read()/i_size_write())
> @@ -139,7 +139,7 @@
> diff -r ad6aff100867 user/kernel/tux3.h
--
OGAWA Hirofumi
_______________________________________________
Tux3 mailing list
Tux3@tux3.org
http://mailman.tux3.org/cgi-bin/mailman/listinfo/tux3
| Benjamin Herrenschmidt | Re: [PATCH] Remove process freezer from suspend to RAM pathway |
| Greg KH | [GIT PATCH] driver core patches against 2.6.24 |
| Mariusz Kozlowski | [PATCH 03] drivers/sbus/char/bbc_envctrl.c: kmalloc + memset conversion to kzalloc |
| Yinghai Lu | [PATCH 02/16] x86: introduce nr_irqs for 64bit v3 |
git: | |
| Gerrit Renker | [PATCH 13/37] dccp: Deprecate Ack Ratio sysctl |
| James Morris | Re: [GIT]: Networking |
| Jeff Garzik | Re: [bug?] tg3: Failed to load firmware "tigon/tg3_tso.bin" |
