linux/Documentation
Dave Chinner f283c86afe fs: remove inode_lock from iput_final and prune_icache
Now that inode state changes are protected by the inode->i_lock and
the inode LRU manipulations by the inode_lru_lock, we can remove the
inode_lock from prune_icache and the initial part of iput_final().

instead of using the inode_lock to protect the inode during
iput_final, use the inode->i_lock instead. This protects the inode
against new references being taken while we change the inode state
to I_FREEING, as well as preventing prune_icache from grabbing the
inode while we are manipulating it. Hence we no longer need the
inode_lock in iput_final prior to setting I_FREEING on the inode.

For prune_icache, we no longer need the inode_lock to protect the
LRU list, and the inodes themselves are protected against freeing
races by the inode->i_lock. Hence we can lift the inode_lock from
prune_icache as well.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2011-03-24 21:16:32 -04:00
..
ABI ST SPEAr: PCIE gadget suppport 2011-03-22 17:44:10 -07:00
accounting
acpi
aoe
arm Merge branch 'remove' of master.kernel.org:/home/rmk/linux-2.6-arm 2011-03-16 19:05:40 -07:00
auxdisplay
blackfin
block
blockdev
cdrom
cgroups Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-03-18 10:37:40 -07:00
connector
console
cpu-freq [CPUFREQ] Add documentation for sampling_down_factor 2011-03-16 17:54:31 -04:00
cpuidle
cris
crypto
development-process
device-mapper Merge branch 'master' into for-next 2011-02-15 10:24:31 +01:00
devicetree Merge branch 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging 2011-03-21 14:02:55 -07:00
DocBook Docbook: add fs/eventfd.c and fix typos in it 2011-02-21 15:07:04 -08:00
driver-model
dvb
early-userspace
fault-injection
fb
filesystems fs: remove inode_lock from iput_final and prune_icache 2011-03-24 21:16:32 -04:00
firmware_class
frv
hwmon hwmon: (ads1015) Make gain and datarate configurable 2011-03-21 17:59:37 +01:00
i2c Merge branch 'for-linus/2639/i2c-2' of git://git.fluff.org/bjdooks/linux 2011-03-22 10:05:27 -07:00
i2o
ia64
ide
infiniband
input
ioctl HID: roccat: Rename header roccat.h -> hid-roccat.h 2011-02-03 16:37:28 +01:00
isdn
ja_JP
kbuild Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6 2011-03-21 15:55:26 -07:00
kdump
ko_KR
kvm Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-03-18 10:37:40 -07:00
laptops Move hp_accel to drivers/platform/x86 2011-03-21 17:59:36 +01:00
leds
lguest lguest: document --rng in example Launcher 2011-01-20 21:37:29 +10:30
m68k
make
mips
misc-devices ST SPEAr: PCIE gadget suppport 2011-03-22 17:44:10 -07:00
mmc
mn10300
mtd
namespaces
netlabel
networking Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2011-03-15 15:15:17 -07:00
nfc
parisc
PCI
pcmcia
power PM: Documentation/power/states.txt: fix repetition 2011-03-15 00:43:17 +01:00
powerpc Documentation: add devicetree docs index file 2011-03-16 10:47:03 -07:00
pps
prctl
rapidio rapidio: add RapidIO documentation 2011-03-23 19:46:41 -07:00
RCU rcu: add documentation saying which RCU flavor to choose 2011-03-04 08:05:25 -08:00
s390
scheduler sched, docs: Update schedstats documentation to version 15 2011-02-01 09:07:13 +01:00
scsi [SCSI] hpsa: export resettable host attribute 2011-03-14 18:44:41 -05:00
serial n_gsm: add a documentation 2011-03-09 15:43:38 -08:00
sh
sound ALSA: HDA: Add a new model "asus" for Conexant 5066/205xx 2011-01-22 17:29:22 +01:00
sparc
spi
sysctl Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2011-03-18 10:37:40 -07:00
target [SCSI] target: Add LIO target core v4.0.0-rc6 2011-01-14 10:12:29 -06:00
telephony
thermal
timers
trace tracing: Add an 'overwrite' trace_option. 2011-03-09 13:52:27 -05:00
uml
usb USB: usbmon: fix-up docs and text API for sparse ISO 2011-02-04 11:46:57 -08:00
video4linux i2c: Get rid of <linux/i2c-id.h> 2011-03-20 14:50:52 +01:00
vm Documentation/vm/page-types.c: auto debugfs mount for hwpoison operation 2011-03-22 17:44:17 -07:00
w1
watchdog
wimax
x86 move x86 specific oops=panic to generic code 2011-03-22 17:44:11 -07:00
zh_CN Fix spelling mistakes in Documentation/zh_CN/SubmittingPatches 2011-02-28 19:30:48 -08:00
.gitignore
00-INDEX Documentation: remove obsolete files from 00-INDEX 2011-03-16 10:47:03 -07:00
apparmor.txt
applying-patches.txt
atomic_ops.txt
bad_memory.txt
basic_profiling.txt
binfmt_misc.txt
braille-console.txt
bt8xxgpio.txt
btmrvl.txt
BUG-HUNTING
bus-virt-phys-mapping.txt
cachetlb.txt
Changes Documentation/Changes: minor corrections 2011-03-22 17:44:17 -07:00
circular-buffers.txt
coccinelle.txt
CodingStyle Documentation/CodingStyle: flesh out if-else examples 2011-03-22 17:44:16 -07:00
cpu-hotplug.txt
cpu-load.txt
cputopology.txt
credentials.txt
dcdbas.txt
debugging-modules.txt
debugging-via-ohci1394.txt
dell_rbu.txt
devices.txt
DMA-API-HOWTO.txt
DMA-API.txt
DMA-attributes.txt
DMA-ISA-LPC.txt
dmaengine.txt
dontdiff
dynamic-debug-howto.txt Dynamic debug: Add more flags 2011-02-03 15:39:16 -08:00
edac.txt
eisa.txt
email-clients.txt
feature-removal-schedule.txt i2c: Drop i2c_adapter.id 2011-03-20 14:50:53 +01:00
flexible-arrays.txt
futex-requeue-pi.txt
gcov.txt
gpio.txt
highuid.txt
HOWTO
hw_random.txt
hwspinlock.txt drivers: hwspinlock: add framework 2011-02-17 09:52:03 -08:00
init.txt
initrd.txt
intel_txt.txt
Intel-IOMMU.txt
io_ordering.txt
io-mapping.txt
iostats.txt remove extraneous 'is' from Documentation/iostats.txt 2011-01-03 14:00:28 +01:00
IPMI.txt
IRQ-affinity.txt
IRQ.txt
irqflags-tracing.txt
isapnp.txt
java.txt
kernel-doc-nano-HOWTO.txt
kernel-docs.txt
kernel-parameters.txt console: allow to retain boot console via boot option keep_bootcon 2011-03-22 17:44:12 -07:00
keys-request-key.txt KEYS: Add a new keyctl op to reject a key with a specified error code 2011-03-08 11:17:18 +11:00
keys-trusted-encrypted.txt
keys.txt KEYS: Add an iovec version of KEYCTL_INSTANTIATE 2011-03-08 11:17:22 +11:00
kmemcheck.txt
kmemleak.txt
kobject.txt
kprobes.txt
kref.txt kref: Fix typo in kref documentation 2011-03-07 13:20:05 -08:00
ldm.txt
leds-class.txt
leds-lp3944.txt
local_ops.txt
lockdep-design.txt
lockstat.txt
logo.gif
logo.txt
magic-number.txt
Makefile
ManagementStyle
mca.txt
md.txt
memory-barriers.txt smp: Document transitivity for memory barriers. 2011-03-04 08:05:49 -08:00
memory-hotplug.txt memory hotplug: Allow memory blocks to span multiple memory sections 2011-02-03 16:08:57 -08:00
memory.txt
mono.txt
mutex-design.txt
nmi_watchdog.txt
nommu-mmap.txt
numastat.txt
oops-tracing.txt
padata.txt
parport-lowlevel.txt
parport.txt
pi-futex.txt
pnp.txt
preempt-locking.txt
printk-formats.txt
prio_tree.txt
rbtree.txt
rfkill.txt
robust-futex-ABI.txt
robust-futexes.txt
rt-mutex-design.txt
rt-mutex.txt
rtc.txt RTC: Fix up rtc.txt documentation to reflect changes to generic rtc layer 2011-03-09 11:25:10 -08:00
SAK.txt
SecurityBugs
SELinux.txt
serial-console.txt
sgi-ioc4.txt
sgi-visws.txt
SM501.txt
Smack.txt
sparse.txt
spinlocks.txt locking: Remove deprecated lock initializers 2011-01-27 12:30:38 +01:00
stable_api_nonsense.txt
stable_kernel_rules.txt
SubmitChecklist
SubmittingDrivers
SubmittingPatches
svga.txt
sysfs-rules.txt
sysrq.txt
tomoyo.txt
unaligned-memory-access.txt
unicode.txt
unshare.txt
VGA-softcursor.txt
vgaarbiter.txt
video-output.txt
volatile-considered-harmful.txt
workqueue.txt workqueue, freezer: unify spelling of 'freeze' + 'able' to 'freezable' 2011-02-16 17:48:59 +01:00
xz.txt
zorro.txt