WSL2-Linux-Kernel/Documentation
David Howells 12debc4248 iget: remove iget() and the read_inode() super op as being obsolete
Remove the old iget() call and the read_inode() superblock operation it uses
as these are really obsolete, and the use of read_inode() does not produce
proper error handling (no distinction between ENOMEM and EIO when marking an
inode bad).

Furthermore, this removes the temptation to use iget() to find an inode by
number in a filesystem from code outside that filesystem.

iget_locked() should be used instead.  A new function is added in an earlier
patch (iget_failed) that is to be called to mark an inode as bad, unlock it
and release it should the get routine fail.  Mark iget() and read_inode() as
being obsolete and remove references to them from the documentation.

Typically a filesystem will be modified such that the read_inode function
becomes an internal iget function, for example the following:

	void thingyfs_read_inode(struct inode *inode)
	{
		...
	}

would be changed into something like:

	struct inode *thingyfs_iget(struct super_block *sp, unsigned long ino)
	{
		struct inode *inode;
		int ret;

		inode = iget_locked(sb, ino);
		if (!inode)
			return ERR_PTR(-ENOMEM);
		if (!(inode->i_state & I_NEW))
			return inode;

		...
		unlock_new_inode(inode);
		return inode;
	error:
		iget_failed(inode);
		return ERR_PTR(ret);
	}

and then thingyfs_iget() would be called rather than iget(), for example:

	ret = -EINVAL;
	inode = iget(sb, ino);
	if (!inode || is_bad_inode(inode))
		goto error;

becomes:

	inode = thingyfs_iget(sb, ino);
	if (IS_ERR(inode)) {
		ret = PTR_ERR(inode);
		goto error;
	}

Note that is_bad_inode() does not need to be called.  The error returned by
thingyfs_iget() should render it unnecessary.

Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-02-07 08:42:29 -08:00
..
ABI Documentation: create new scheduler/ subdirectory 2008-02-07 08:42:17 -08:00
DocBook Add chapter IDs to z8530book.tmpl 2008-02-07 08:42:17 -08:00
RCU Preempt-RCU: update RCU Documentation. 2008-01-25 21:08:25 +01:00
accounting make getdelays cgroupstats aware 2007-11-14 18:45:38 -08:00
aoe
arm fix typo 'the same the\>' 2008-02-03 14:59:11 +02:00
auxdisplay documentation: convert the Documentation directory to UTF-8 2007-05-09 08:58:19 +02:00
blackfin Blackfin arch: kgdb specific code 2007-06-29 16:35:17 +08:00
block Add Documentation/block/00-INDEX 2007-10-16 10:11:28 +02:00
cdrom Convert files to UTF-8 and some cleanups 2007-10-19 23:21:04 +02:00
connector some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
console Typo: fro -> from 2007-07-19 10:04:47 -07:00
controllers update Documentation/controller/memory.txt 2008-02-07 08:42:22 -08:00
cpu-freq [ARM] pxa: add cpufreq support 2008-01-26 15:07:52 +00:00
cris
crypto [CRYPTO] doc: Update api-intro.txt 2008-01-11 08:16:14 +11:00
device-mapper dm: uevent generate events 2007-10-20 02:01:26 +01:00
driver-model Driver core: Update some prototypes in platform.txt 2008-02-02 15:14:49 -08:00
dvb V4L/DVB (7077): bt878: remove handcrafted PCI subsystem ID check 2008-01-25 19:05:22 -02:00
early-userspace docs: ramdisk/initrd/initramfs corrections 2007-10-17 08:42:56 -07:00
fault-injection fault-injection: fix example scripts in documentation 2007-07-16 09:05:45 -07:00
fb fb: defio nopage 2008-02-06 10:41:15 -08:00
filesystems iget: remove iget() and the read_inode() super op as being obsolete 2008-02-07 08:42:29 -08:00
firmware_class doc firmware_sample_firmware_class.c: kmalloc + memset conversion to kzalloc 2007-10-17 08:42:50 -07:00
frv move frv docs one level up 2008-02-03 15:54:28 +02:00
hrtimer Add a flag to indicate deferrable timers in /proc/timer_stats 2007-07-16 09:05:45 -07:00
hrtimers [PATCH] hrtimers: move and add documentation 2007-02-16 08:13:58 -08:00
hwmon hwmon: Add power meter spec to Documentation/hwmon/sysfs-interface 2007-11-08 08:42:45 -05:00
i2c deprecate obsolete pca9539 driver 2008-02-05 09:44:13 -08:00
i2o documentation: convert the Documentation directory to UTF-8 2007-05-09 08:58:19 +02:00
i386 x86 boot: document for 32 bit boot protocol 2007-10-30 00:22:22 +01:00
ia64 [IA64] aliasing-test: fix gcc warnings on non-ia64 2008-02-04 15:23:10 -08:00
ide ide-tape: move historical changelog to Documentation/ide/ChangeLog.ide-tape.1995-2002 2008-02-02 19:56:48 +01:00
infiniband IB/umad: Add P_Key index support 2007-10-09 19:59:15 -07:00
input typo fixes 2007-10-20 01:34:40 +02:00
ioctl [PATCH] Document how to decode an IOCTL number 2006-12-10 09:55:40 -08:00
isdn spelling fixes: Documentation/ 2007-10-20 01:30:25 +02:00
ja_JP Add ja_JP translation of stable_kernel_rules.txt 2008-02-02 15:14:48 -08:00
kbuild kconfig: document use of HAVE_* 2008-01-28 23:21:19 +01:00
kdump Add documentation for extended crashkernel syntax 2007-10-19 11:53:51 -07:00
ko_KR HOWTO: update misspelling and word incorrected 2007-12-17 10:33:19 -08:00
lguest virtio: reset function 2008-02-04 23:50:03 +11:00
m68k [SCSI] 53c7xx: fix removal fallout 2008-01-11 18:22:30 -06:00
make Documentation/make/headers_install.txt 2007-10-17 08:43:05 -07:00
mips [MIPS] remove Documentation/mips/GT64120.README 2008-01-29 10:15:05 +00:00
namespaces The namespaces compatibility list doc 2007-11-29 09:24:53 -08:00
netlabel Fix occurrences of "the the " 2007-05-09 08:57:56 +02:00
networking Documentation: "decnet=" should read "decnet.addr=". 2008-02-03 15:18:45 +02:00
parisc
pcmcia pcmcia: replace kio_addr_t with unsigned int everywhere 2008-02-05 09:44:08 -08:00
power PM: Remove obsolete /sys/devices/.../power/state docs 2008-02-01 18:30:59 -05:00
powerpc [POWERPC] fsl_spi: stop using device_type = "spi" 2008-01-28 08:32:58 -06:00
s390 [S390] cio: Dump ccw device information in case of timeout. 2008-01-26 14:10:55 +01:00
scheduler Documentation: create new scheduler/ subdirectory 2008-02-07 08:42:17 -08:00
scsi [SCSI] aacraid: add Voodoo Lite class of cards. 2008-01-23 11:29:34 -06:00
serial
sh sh: SH7722 clock framework support. 2007-05-07 02:11:56 +00:00
sound [ALSA] hda-codec - Add Dell T3400 support 2008-01-31 17:30:22 +01:00
sparc [SPARC/64]: Prepare to remove of_platform_driver name. 2007-10-13 21:53:11 -07:00
spi Convert files to UTF-8 and some cleanups 2007-10-19 23:21:04 +02:00
sysctl oom: add sysctl to enable task memory dump 2008-02-07 08:42:19 -08:00
telephony Add a 00-INDEX file to Documentation/telephony/ 2007-10-17 08:43:05 -07:00
uml
usb USB: add Printer Gadget Driver 2008-02-01 14:34:49 -08:00
video4linux V4L/DVB (7043): New card supported(partially): Pinnacle 800i 2008-01-25 19:05:06 -02:00
vm kset: move /sys/slab to /sys/kernel/slab 2008-01-24 20:40:16 -08:00
w1 w1-gpio: add GPIO w1 bus master driver 2008-02-06 10:41:15 -08:00
watchdog [WATCHDOG] clarify watchdog operation in documentation 2008-01-18 21:23:05 +00:00
x86_64 documentation: add Documentation/x86-64/00-INDEX 2008-02-04 16:48:02 +01:00
zh_CN Chinese: add translation of Codingstyle 2008-01-24 20:40:04 -08:00
00-INDEX Documentation: create new scheduler/ subdirectory 2008-02-07 08:42:17 -08:00
BUG-HUNTING Documentation: add hint about call traces & module symbols to BUG-HUNTING 2008-02-06 10:41:09 -08:00
Changes [x86 setup] Document grub < 0.93 as broken 2007-08-02 13:50:43 -04:00
CodingStyle CodingStyle: relax the 80-cole rule 2007-10-17 08:42:55 -07:00
DMA-API.txt dma_free_coherent() needs irqs enabled (sigh) 2007-10-12 15:03:15 -07:00
DMA-ISA-LPC.txt
DMA-mapping.txt Update DMA-mapping documentation 2007-10-17 08:43:06 -07:00
HOWTO Change man-pages maintainer address 2007-10-17 08:43:01 -07:00
IO-mapping.txt
IPMI.txt IPMI: new NMI handling 2007-10-18 14:37:32 -07:00
IRQ-affinity.txt
IRQ.txt
Intel-IOMMU.txt Intel IOMMU: Iommu Gfx workaround 2007-10-22 08:13:19 -07:00
MSI-HOWTO.txt PCI: Remove no longer correct documentation regarding MSI vector assignment 2007-10-12 15:03:16 -07:00
ManagementStyle Fix this Paul Simon song's name 2007-09-13 08:11:10 -07:00
PCIEBUS-HOWTO.txt
README.DAC960
README.cycladesZ
SAK.txt
SM501.txt Tweak Documentation/SM501.txt 2007-10-17 08:43:06 -07:00
SecurityBugs
Smack.txt Smack: Simplified Mandatory Access Control Kernel 2008-02-05 09:44:20 -08:00
SubmitChecklist Documentation: Fix typo in SubmitChecklist. 2007-10-20 03:13:09 +02:00
SubmittingDrivers Update 2.4 maintainer in document 2007-10-20 02:02:12 +02:00
SubmittingPatches Documentation: mention email-clients.txt in SubmittingPatches 2008-02-03 18:06:58 +02:00
VGA-softcursor.txt
applying-patches.txt
atomic_ops.txt bitops: introduce lock ops 2007-10-18 14:37:29 -07:00
basic_profiling.txt
binfmt_misc.txt documentation: convert the Documentation directory to UTF-8 2007-05-09 08:58:19 +02:00
cachetlb.txt remove unused flush_tlb_pgtables 2007-10-19 11:53:34 -07:00
cciss.txt Documentation: cciss: detecting failed drives 2007-05-08 11:15:10 -07:00
cgroups.txt cgroups: move cgroups destroy() callbacks to cgroup_diput() 2008-02-07 08:42:18 -08:00
cli-sti-removal.txt
computone.txt
cpqarray.txt
cpu-hotplug.txt [S390] Get rid of additional_cpus kernel parameter. 2008-01-26 14:11:15 +01:00
cpu-load.txt [PATCH] Documentation: CPU load calculation description 2007-03-01 14:53:39 -08:00
cpusets.txt cpusets: update_cpumask documentation fix 2008-02-07 08:42:23 -08:00
cputopology.txt
dcdbas.txt
debugging-modules.txt Documentation: Clarify when module debugging actually works. 2008-02-03 15:27:38 +02:00
debugging-via-ohci1394.txt x86: early boot debugging via FireWire (ohci1394_dma=early) 2008-01-30 13:34:11 +01:00
dell_rbu.txt
devices.txt typo fixes 2007-10-20 01:34:40 +02:00
digiepca.txt
dontdiff [SCSI] 53c7xx: fix removal fallout 2008-01-11 18:22:30 -06:00
edac.txt move edac.txt two levels up 2008-02-07 08:42:17 -08:00
eisa.txt
email-clients.txt email-clients.txt: sylpheed is OK at IMAP 2008-02-07 08:42:17 -08:00
exception.txt
feature-removal-schedule.txt scheduled OSS driver removal 2008-02-06 10:41:02 -08:00
floppy.txt
gpio.txt gpiolib: update Documentation/gpio.txt 2008-02-05 09:44:13 -08:00
hayes-esp.txt
highuid.txt
hpet.txt hpet.txt: broken link fix 2007-07-31 15:39:42 -07:00
hw_random.txt
ide.txt ide: remove broken disk byte-swapping support 2008-01-26 20:13:09 +01:00
initrd.txt use the newc archive format as requested by initramfs 2008-02-03 14:54:41 +02:00
io_ordering.txt
ioctl-number.txt ocfs2: Reserve ioctl range 2008-01-25 14:48:57 -08:00
iostats.txt [BLOCK] Get rid of request_queue_t typedef 2007-07-24 09:28:11 +02:00
irqflags-tracing.txt
isapnp.txt
java.txt Documentation/java.txt: typo and grammar fixes 2007-10-20 02:37:21 +02:00
kernel-doc-nano-HOWTO.txt [PATCH] Discuss a couple common errors in kernel-doc usage. 2007-02-11 10:51:32 -08:00
kernel-docs.txt typo fixes 2007-10-20 01:34:40 +02:00
kernel-parameters.txt ide-pci-generic: kill the unused ifdef/endif/MODULE code 2008-02-06 02:57:49 +01:00
keys-request-key.txt KEYS: Make request_key() and co fundamentally asynchronous 2007-10-17 08:42:57 -07:00
keys.txt KEYS: Make request_key() and co fundamentally asynchronous 2007-10-17 08:42:57 -07:00
kobject.txt kobject: update the kobject/kset documentation 2008-01-24 20:40:41 -08:00
kprobes.txt kprobes: kretprobe user entry-handler 2008-02-06 10:41:11 -08:00
kref.txt docs: convert kref semaphore to mutex 2008-02-06 10:41:09 -08:00
laptop-mode.txt laptop-mode URL update 2007-05-08 11:15:14 -07:00
ldm.txt LDM: Fix for Windows Vista dynamic disks 2007-05-21 09:58:40 -07:00
leds-class.txt
local_ops.txt Revert "local_t Documentation update" 2008-01-17 15:38:59 -08:00
lockdep-design.txt
lockstat.txt lockstat: documentation 2007-10-07 16:28:43 -07:00
logo.gif
logo.txt
magic-number.txt Magic number prefix consistency change to Documentation/magic-number.txt 2007-05-09 08:58:18 +02:00
markers.txt Linux Kernel Markers: document format string 2007-11-14 18:45:40 -08:00
mca.txt
md.txt md: allow a maximum extent to be set for resyncing 2008-02-06 10:41:18 -08:00
memory-barriers.txt bitops: introduce lock ops 2007-10-18 14:37:29 -07:00
memory-hotplug.txt memory hotplug: document the memory hotplug notifier 2007-10-22 08:13:17 -07:00
memory.txt
mono.txt
moxa-smartio
mtrr.txt
mutex-design.txt Documentation: Add nested versions of mutex locks to docs 2007-10-20 00:15:26 +02:00
nbd.txt
nfsroot.txt [IPV4] ipconfig: Fix regression in ip command line processing 2008-01-08 23:29:58 -08:00
nmi_watchdog.txt
nommu-mmap.txt
numastat.txt
oops-tracing.txt Report that kernel is tainted if there was an OOPS 2007-07-17 10:23:02 -07:00
paride.txt
parport-lowlevel.txt plip: fix parport_register_device name parameter 2007-11-26 19:39:01 -08:00
parport.txt
pci-error-recovery.txt
pci.txt PCI: Remove pci_enable_device_bars() from documentation 2008-02-01 15:04:28 -08:00
pcieaer-howto.txt documentation: convert the Documentation directory to UTF-8 2007-05-09 08:58:19 +02:00
pi-futex.txt
pm.txt
pm_qos_interface.txt pm qos infrastructure and interface 2008-02-05 09:44:22 -08:00
pnp.txt Documentation: Replace obsolete "driverfs" with "sysfs". 2008-01-24 20:40:04 -08:00
power_supply_class.txt power_supply: add few more values and props 2008-02-02 02:43:00 +03:00
preempt-locking.txt
prio_tree.txt
ramdisk.txt Remove final traces of long-deprecated "ramdisk" kernel parm 2007-10-17 08:42:56 -07:00
rbtree.txt [PATCH] Documentation/rbtree.txt 2007-02-11 10:51:35 -08:00
rfkill.txt [RFKILL]: Add rfkill documentation 2007-10-10 16:49:24 -07:00
riscom8.txt
robust-futex-ABI.txt
robust-futexes.txt
rocket.txt
rpc-cache.txt
rt-mutex-design.txt
rt-mutex.txt
rtc.txt rtc: cleanup example code 2008-02-06 10:41:14 -08:00
serial-console.txt
sgi-ioc4.txt
sgi-visws.txt
smart-config.txt
sony-laptop.txt sony-laptop: update documentation and Kconfig help 2007-04-10 16:01:19 -04:00
sonypi.txt documentation: convert the Documentation directory to UTF-8 2007-05-09 08:58:19 +02:00
sparse.txt [PATCH] update 'getting sparse' info. 2007-03-08 16:47:58 -08:00
specialix.txt
spinlocks.txt docs: static initialization of spinlocks is OK 2007-07-16 09:05:52 -07:00
stable_api_nonsense.txt stable_api_nonsense.txt: Disambiguate the use of "this" by using "that" to refer to the syscall interface 2007-07-30 14:25:12 -07:00
stable_kernel_rules.txt
stallion.txt
svga.txt
sx.txt
sysfs-rules.txt Fix Doc/sysfs-rules typos 2007-07-30 14:25:12 -07:00
sysrq.txt sysrq docs: document sequence that actually works 2007-10-07 16:28:43 -07:00
thinkpad-acpi.txt ACPI: thinkpad-acpi: bump up version to 0.17 2007-11-05 13:07:11 -05:00
tty.txt termios: document callback more clearly 2007-11-29 09:24:52 -08:00
unaligned-memory-access.txt Documentation about unaligned memory access 2008-02-06 10:41:07 -08:00
unicode.txt
unshare.txt
video-output.txt output: Add output class document 2006-12-20 01:46:58 -05:00
volatile-considered-harmful.txt "volatile considered harmful" 2007-06-24 08:59:11 -07:00
voyager.txt
zorro.txt

README.cycladesZ

The Cyclades-Z must have firmware loaded onto the card before it will
operate.  This operation should be performed during system startup,

The firmware, loader program and the latest device driver code are
available from Cyclades at
    ftp://ftp.cyclades.com/pub/cyclades/cyclades-z/linux/