original_kernel/include/linux
Chuck Lever dc59250c6e [PATCH] NFS: Introduce the use of inode->i_lock to protect fields in nfsi
Down the road we want to eliminate the use of the global kernel lock entirely
from the NFS client.  To do this, we need to protect the fields in the
nfs_inode structure adequately.  Start by serializing updates to the
"cache_validity" field.

Note this change addresses an SMP hang found by njw@osdl.org, where processes
deadlock because nfs_end_data_update and nfs_revalidate_mapping update the
"cache_validity" field without proper serialization.

Test plan:
 Millions of fsx ops on SMP clients.  Run Nick Wilson's breaknfs program on
 large SMP clients.

Signed-off-by: Chuck Lever <cel@netapp.com>
Cc: Trond Myklebust <trond.myklebust@fys.uio.no>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2005-08-18 12:53:57 -07:00
..
byteorder
dvb
hdlc
isdn
lockd
mmc
mtd
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
nfsd
raid [PATCH] md: make sure md bitmap updates are flushed when array is stopped. 2005-08-04 13:00:54 -07:00
sunrpc [PATCH] NFS: Ensure ACL xdr code doesn't overflow. 2005-08-16 08:52:11 -07:00
tc_act
tc_ematch
8250_pci.h
a.out.h
ac97_codec.h
acct.h
acpi.h /home/lenb/src/to-linus branch 'acpi-2.6.12' 2005-07-29 23:31:17 -04:00
adb.h
adfs_fs.h
adfs_fs_i.h
adfs_fs_sb.h
affs_fs.h
affs_hardblocks.h
agp_backend.h
agpgart.h
aio.h
aio_abi.h
amifd.h
amifdreg.h
amigaffs.h
apm_bios.h
arcdevice.h
arcfb.h
ata.h
atalk.h
atm.h
atm_eni.h
atm_he.h
atm_idt77105.h
atm_nicstar.h
atm_suni.h
atm_tcp.h
atm_zatm.h
atmapi.h
atmarp.h
atmbr2684.h
atmclip.h
atmdev.h
atmioc.h
atmlec.h
atmmpc.h
atmppp.h
atmsap.h
atmsvc.h
attribute_container.h
audit.h
auto_fs.h
auto_fs4.h
awe_voice.h
ax25.h
b1lli.h
b1pcmcia.h
backing-dev.h
backlight.h
baycom.h
bcd.h
bfs_fs.h
binfmts.h
bio.h
bitmap.h
bitops.h
blkdev.h [PATCH] blk: fix tag shrinking (revive real_max_size) 2005-08-05 13:43:16 -07:00
blkpg.h
blockgroup_lock.h
bootmem.h
bpqether.h
buffer_head.h
cache.h
capability.h
capi.h
cciss_ioctl.h
cd1400.h
cdev.h
cdk.h
cdrom.h
chio.h
circ_buf.h
cobalt-nvram.h
coda.h
coda_cache.h
coda_fs_i.h
coda_linux.h
coda_proc.h
coda_psdev.h
coff.h
com20020.h
compat.h
compat_ioctl.h
compiler-gcc.h
compiler-gcc2.h
compiler-gcc3.h
compiler-gcc4.h
compiler-intel.h
compiler.h
completion.h
comstats.h
concap.h
config.h
console.h
console_struct.h
consolemap.h
cpu.h
cpufreq.h
cpumask.h
cpuset.h
cramfs_fs.h
cramfs_fs_sb.h
crash_dump.h
crc-ccitt.h
crc32.h
crc32c.h
crypto.h
cryptohash.h
ctype.h
cuda.h
cyclades.h
cyclomx.h
cycx_cfm.h
cycx_drv.h
cycx_x25.h
dcache.h
dcookies.h [PATCH] include/linux/dcookies.h: dummy functions must be "static inline" 2005-08-01 21:37:59 -07:00
debugfs.h
delay.h
devfs_fs.h
devfs_fs_kernel.h
device-mapper.h
device.h
devpts_fs.h
dio.h
dirent.h
divert.h
dm-ioctl.h
dm9000.h
dma-mapping.h
dmapool.h
dmi.h
dn.h
dnotify.h
dqblk_v1.h
dqblk_v2.h
dqblk_xfs.h
ds1286.h
dtlk.h
edd.h
eeprom.h
efi.h
efs_dir.h
efs_fs.h
efs_fs_i.h
efs_fs_sb.h
efs_vh.h
eisa.h
elevator.h
elf-fdpic.h
elf.h
elfcore.h
err.h
errno.h
errqueue.h
etherdevice.h
ethtool.h
eventpoll.h
ext2_fs.h
ext2_fs_sb.h
ext3_fs.h
ext3_fs_i.h
ext3_fs_sb.h
ext3_jbd.h
fadvise.h
fb.h
fcdevice.h
fcntl.h
fd.h
fd1772.h
fddidevice.h
fdreg.h
file.h
filter.h
firmware.h
flat.h
font.h
fs.h
fs_struct.h
fsl_devices.h
fsnotify.h [PATCH] inotify: add MOVE_SELF event 2005-08-15 09:50:31 -07:00
ftape-header-segment.h
ftape-vendors.h
ftape.h [PATCH] turn many #if $undefined_string into #ifdef $undefined_string 2005-07-27 16:26:08 -07:00
futex.h
gameport.h
gen_stats.h
genalloc.h
generic_serial.h
genhd.h
gfp.h
hardirq.h
harrier_defs.h
hash.h
hayesesp.h
hdlc.h
hdlcdrv.h
hdpu_features.h
hdreg.h
hdsmart.h
hiddev.h
highmem.h
highuid.h
hippidevice.h
hpet.h
hpfs_fs.h
hugetlb.h
hwmon-sysfs.h
hysdn_if.h
i2c-algo-bit.h
i2c-algo-ite.h
i2c-algo-pca.h
i2c-algo-pcf.h
i2c-algo-sgi.h
i2c-algo-sibyte.h
i2c-dev.h
i2c-id.h
i2c-sensor.h
i2c-vid.h
i2c.h
i2o-dev.h
i2o.h
i8k.h
ibmtr.h
icmp.h
icmpv6.h
ide.h [PATCH] Fix ide-disk.c oops caused by hwif == NULL 2005-08-09 20:21:31 -07:00
idr.h
if.h
if_arcnet.h
if_arp.h
if_bonding.h
if_bridge.h
if_cablemodem.h
if_ec.h
if_eql.h
if_ether.h
if_fc.h
if_fddi.h
if_frad.h
if_hippi.h
if_infiniband.h
if_ltalk.h
if_packet.h
if_plip.h
if_ppp.h
if_pppox.h
if_shaper.h
if_slip.h
if_strip.h
if_tr.h
if_tun.h
if_tunnel.h
if_vlan.h
if_wanpipe.h
if_wanpipe_common.h
igmp.h
in.h
in6.h
in_route.h
inet.h
inetdevice.h
init.h
init_task.h
initrd.h
inotify.h [PATCH] inotify: add MOVE_SELF event 2005-08-15 09:50:31 -07:00
input.h
interrupt.h
ioc4.h
ioctl.h
ioctl32.h
ioport.h
ioprio.h
ip.h
ip6_tunnel.h
ip_mp_alg.h
ipc.h
ipmi.h
ipmi_msgdefs.h
ipmi_smi.h
ipsec.h
ipv6.h
ipv6_route.h
ipx.h
irda.h
irq.h
irq_cpustat.h
isapnp.h
isdn.h
isdn_divertif.h
isdn_ppp.h
isdnif.h
isicom.h
iso_fs.h
istallion.h
ite_gpio.h
ixjuser.h
jbd.h
jffs.h
jffs2.h
jffs2_fs_i.h
jffs2_fs_sb.h
jhash.h
jiffies.h
journal-head.h
joystick.h
kallsyms.h
kbd_diacr.h
kbd_kern.h
kd.h
kdev_t.h
kernel.h
kernel_stat.h
kernelcapi.h
kexec.h
key-ui.h
key.h
keyboard.h
keyctl.h
kfifo.h
klist.h
kmalloc_sizes.h
kmod.h
kobj_map.h
kobject.h
kobject_uevent.h
kprobes.h
kref.h
kthread.h
lapb.h
lcd.h
libata.h
libps2.h
limits.h
linkage.h
linux_logo.h
list.h
llc.h
loop.h
lp.h
major.h
matroxfb.h
mbcache.h
mc6821.h
mc146818rtc.h
mca-legacy.h
mca.h
mempolicy.h
mempool.h
meye.h
mii.h
minix_fs.h
miscdevice.h
mm.h [PATCH] fix get_user_pages bug 2005-08-03 09:12:05 -07:00
mm_inline.h
mman.h
mmtimer.h
mmzone.h
mod_devicetable.h
module.h
moduleloader.h
moduleparam.h
mount.h
mpage.h
mqueue.h
mroute.h
msdos_fs.h
msg.h
mtio.h
mv643xx.h
n_r3964.h
namei.h
namespace.h
nbd.h
ncp.h
ncp_fs.h
ncp_fs_i.h
ncp_fs_sb.h
ncp_mount.h
ncp_no.h
net.h
netdevice.h
netfilter.h
netfilter_arp.h
netfilter_bridge.h
netfilter_decnet.h
netfilter_ipv4.h
netfilter_ipv6.h
netfilter_logging.h
netlink.h [NETLINK]: Allocate and kill some netlink numbers. 2005-08-08 13:48:02 -07:00
netpoll.h [NETPOLL]: fix initialization/NAPI race 2005-08-11 19:27:43 -07:00
netrom.h
nfs.h
nfs2.h
nfs3.h
nfs4.h
nfs4_acl.h
nfs4_mount.h
nfs_fs.h [PATCH] NFS: Introduce the use of inode->i_lock to protect fields in nfsi 2005-08-18 12:53:57 -07:00
nfs_fs_i.h
nfs_fs_sb.h
nfs_idmap.h
nfs_mount.h
nfs_page.h
nfs_xdr.h
nfsacl.h
nfsd_idmap.h
nls.h
nmi.h
node.h
nodemask.h
notifier.h
nubus.h
numa.h
nvram.h
openprom_fs.h
oprofile.h
page-flags.h
pagemap.h
pagevec.h
param.h
parport.h
parport_pc.h
parser.h
patchkey.h
pci-acpi.h
pci.h [PATCH] PCI: 6700/6702PXH quirk 2005-08-16 21:06:24 -07:00
pci_ids.h [PATCH] PCI: 6700/6702PXH quirk 2005-08-16 21:06:24 -07:00
pcieport_if.h
percpu.h
percpu_counter.h
personality.h
pfkeyv2.h
pg.h
phonedev.h
pid.h
pipe_fs_i.h
pkt_cls.h
pkt_sched.h
pktcdvd.h
platform.h
pm.h
pmu.h
pnp.h
pnpbios.h
poll.h
posix-timers.h
posix_acl.h
posix_acl_xattr.h
posix_types.h
ppdev.h
ppp-comp.h
ppp_channel.h
ppp_defs.h
prctl.h
preempt.h
prefetch.h
prio_tree.h
proc_fs.h
profile.h
ps2esdi.h
ptrace.h
qic117.h
qnx4_fs.h
qnxtypes.h
quota.h
quotaio_v1.h
quotaio_v2.h
quotaops.h
radeonfb.h
radix-tree.h
ramfs.h
random.h
raw.h
rbtree.h
rcupdate.h
reboot.h
reboot_fixups.h
reiserfs_acl.h
reiserfs_fs.h
reiserfs_fs_i.h
reiserfs_fs_sb.h
reiserfs_xattr.h
resource.h
rmap.h
romfs_fs.h
root_dev.h
rose.h
route.h
rslib.h
rtc.h
rtnetlink.h
rwsem-spinlock.h
rwsem.h
sc26198.h
scatterlist.h
scc.h
sched.h
sctp.h
scx200.h
scx200_gpio.h
sdla.h
sdla_asy.h
sdla_chdlc.h
sdla_fr.h
sdla_ppp.h
sdla_x25.h
sdladrv.h
sdlapci.h
sdlasfm.h
seccomp.h
securebits.h
security.h
selection.h
selinux_netlink.h
sem.h
seq_file.h
seqlock.h
serial.h
serial167.h
serialP.h
serial_8250.h
serial_core.h [PATCH] serial_core whitespace fix 2005-07-27 16:26:09 -07:00
serial_reg.h
serio.h
shm.h
shmem_fs.h
signal.h
skbuff.h [NET]: Make skb->protocol __be16 2005-08-11 16:05:50 -07:00
slab.h
smb.h
smb_fs.h
smb_fs_i.h
smb_fs_sb.h
smb_mount.h
smbno.h
smp.h Revert broken "statement with no effect" warning fix 2005-07-28 10:34:47 -07:00
smp_lock.h
snmp.h
socket.h
sockios.h
som.h
sonet.h
sonypi.h
sort.h
sound.h
soundcard.h
spinlock.h
stallion.h
stat.h
statfs.h
stddef.h
stop_machine.h
string.h
stringify.h
superhyway.h
suspend.h
swap.h [PATCH] remove linux/pagemap.h from linux/swap.h 2005-08-07 10:00:38 -07:00
swapops.h
synclink.h
sys.h
syscalls.h
sysctl.h
sysdev.h
sysfs.h
sysrq.h
sysv_fs.h
tcp.h
tcp_diag.h
telephony.h
termios.h
textsearch.h
textsearch_fsm.h
thread_info.h
threads.h
ticable.h
time.h
timer.h
times.h
timex.h
tiocl.h
topology.h
toshiba.h
transport_class.h
trdevice.h
tty.h
tty_driver.h
tty_flip.h
tty_ldisc.h
types.h
udf_fs.h
udf_fs_i.h
udf_fs_sb.h
udp.h
ufs_fs.h
ufs_fs_i.h
ufs_fs_sb.h
uinput.h
uio.h
ultrasound.h
umem.h
un.h
unistd.h
usb.h
usb_cdc.h
usb_ch9.h
usb_gadget.h
usb_gadgetfs.h
usb_input.h
usb_isp116x.h
usb_otg.h
usb_sl811.h
usbdevice_fs.h
user.h
utime.h
uts.h
utsname.h
vermagic.h
vfs.h
via.h
video_decoder.h
video_encoder.h
videodev.h
videodev2.h
videotext.h
vmalloc.h
vt.h
vt_buffer.h
vt_kern.h
wait.h
wanpipe.h
wanrouter.h
watchdog.h
wavefront.h
wireless.h
workqueue.h
writeback.h
x25.h
xattr.h
xfrm.h
yam.h
zconf.h
zftape.h
zlib.h Add fakey 'deflateBound()' function to the in-kernel zlib routines 2005-08-06 09:39:57 -07:00
zorro.h
zorro_ids.h
zutil.h