https://github.com/torvalds/linux
Revision a4f4d6df537368297a84e6b9444f403f99bf59f6 authored by J. Bruce Fields on 08 December 2008, 23:24:18 UTC, committed by Linus Torvalds on 09 December 2008, 03:49:32 UTC
While 440037287c5 "[PATCH] switch all filesystems over to
d_obtain_alias" removed some cases where fh_to_dentry() and
fh_to_parent() could return NULL, there are still a few NULL returns
left in individual filesystems.  Thus it was a mistake for that commit
to remove the handling of NULL returns in the callers.

Revert those parts of 440037287c5 which removed the NULL handling.

(We could, alternatively, modify all implementations to return -ESTALE
instead of NULL, but that proves to require fixing a number of
filesystems, and in some cases it's arguably more natural to return
NULL.)

Thanks to David for original patch and Linus, Christoph, and Hugh for
review.

Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Cc: David Howells <dhowells@redhat.com>
Cc: Christoph Hellwig <hch@infradead.org>
Cc: Hugh Dickins <hugh@veritas.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
1 parent 218d11a
History
Tip revision: a4f4d6df537368297a84e6b9444f403f99bf59f6 authored by J. Bruce Fields on 08 December 2008, 23:24:18 UTC
EXPORTFS: handle NULL returns from fh_to_dentry()/fh_to_parent()
Tip revision: a4f4d6d
File Mode Size
proc-mn103e010
unit-asb2303
unit-asb2305
.gitignore -rw-r--r-- 10 bytes
Kbuild -rw-r--r-- 39 bytes
atomic.h -rw-r--r-- 3.9 KB
auxvec.h -rw-r--r-- 52 bytes
bitops.h -rw-r--r-- 5.3 KB
bug.h -rw-r--r-- 862 bytes
bugs.h -rw-r--r-- 561 bytes
busctl-regs.h -rw-r--r-- 7.8 KB
byteorder.h -rw-r--r-- 1.1 KB
cache.h -rw-r--r-- 2.0 KB
cacheflush.h -rw-r--r-- 4.2 KB
checksum.h -rw-r--r-- 2.2 KB
cpu-regs.h -rw-r--r-- 14.3 KB
cputime.h -rw-r--r-- 33 bytes
current.h -rw-r--r-- 922 bytes
delay.h -rw-r--r-- 597 bytes
device.h -rw-r--r-- 32 bytes
div64.h -rw-r--r-- 2.7 KB
dma-mapping.h -rw-r--r-- 6.4 KB
dma.h -rw-r--r-- 3.1 KB
dmactl-regs.h -rw-r--r-- 4.6 KB
elf.h -rw-r--r-- 4.3 KB
emergency-restart.h -rw-r--r-- 43 bytes
errno.h -rw-r--r-- 31 bytes
exceptions.h -rw-r--r-- 4.8 KB
fb.h -rw-r--r-- 602 bytes
fcntl.h -rw-r--r-- 31 bytes
fpu.h -rw-r--r-- 2.3 KB
frame.inc -rw-r--r-- 2.2 KB
futex.h -rw-r--r-- 31 bytes
gdb-stub.h -rw-r--r-- 5.4 KB
hardirq.h -rw-r--r-- 1.7 KB
highmem.h -rw-r--r-- 2.8 KB
hw_irq.h -rw-r--r-- 483 bytes
ide.h -rw-r--r-- 1.1 KB
intctl-regs.h -rw-r--r-- 2.4 KB
io.h -rw-r--r-- 6.8 KB
ioctl.h -rw-r--r-- 31 bytes
ioctls.h -rw-r--r-- 2.7 KB
ipc.h -rw-r--r-- 29 bytes
ipcbuf.h -rw-r--r-- 619 bytes
irq.h -rw-r--r-- 977 bytes
irq_regs.h -rw-r--r-- 683 bytes
kdebug.h -rw-r--r-- 561 bytes
kmap_types.h -rw-r--r-- 702 bytes
kprobes.h -rw-r--r-- 1.5 KB
linkage.h -rw-r--r-- 593 bytes
local.h -rw-r--r-- 31 bytes
mc146818rtc.h -rw-r--r-- 26 bytes
mman.h -rw-r--r-- 1.0 KB
mmu.h -rw-r--r-- 395 bytes
mmu_context.h -rw-r--r-- 3.8 KB
module.h -rw-r--r-- 759 bytes
msgbuf.h -rw-r--r-- 982 bytes
mutex.h -rw-r--r-- 637 bytes
nmi.h -rw-r--r-- 456 bytes
page.h -rw-r--r-- 3.6 KB
page_offset.h -rw-r--r-- 263 bytes
param.h -rw-r--r-- 888 bytes
pci.h -rw-r--r-- 3.3 KB
percpu.h -rw-r--r-- 32 bytes
pgalloc.h -rw-r--r-- 1.5 KB
pgtable.h -rw-r--r-- 15.6 KB
pio-regs.h -rw-r--r-- 7.5 KB
poll.h -rw-r--r-- 30 bytes
posix_types.h -rw-r--r-- 3.5 KB
processor.h -rw-r--r-- 4.5 KB
ptrace.h -rw-r--r-- 2.6 KB
reset-regs.h -rw-r--r-- 1.9 KB
resource.h -rw-r--r-- 34 bytes
rtc-regs.h -rw-r--r-- 3.6 KB
rtc.h -rw-r--r-- 928 bytes
scatterlist.h -rw-r--r-- 1.7 KB
sections.h -rw-r--r-- 34 bytes
sembuf.h -rw-r--r-- 696 bytes
serial-regs.h -rw-r--r-- 7.5 KB
serial.h -rw-r--r-- 1.1 KB
setup.h -rw-r--r-- 546 bytes
shmbuf.h -rw-r--r-- 1.1 KB
shmparam.h -rw-r--r-- 143 bytes
sigcontext.h -rw-r--r-- 1.2 KB
siginfo.h -rw-r--r-- 33 bytes
signal.h -rw-r--r-- 3.8 KB
smp.h -rw-r--r-- 505 bytes
socket.h -rw-r--r-- 1.2 KB
sockios.h -rw-r--r-- 340 bytes
spinlock.h -rw-r--r-- 525 bytes
stat.h -rw-r--r-- 1.6 KB
statfs.h -rw-r--r-- 32 bytes
string.h -rw-r--r-- 1.0 KB
system.h -rw-r--r-- 5.6 KB
termbits.h -rw-r--r-- 4.6 KB
termios.h -rw-r--r-- 2.6 KB
thread_info.h -rw-r--r-- 4.7 KB
timer-regs.h -rw-r--r-- 14.4 KB
timex.h -rw-r--r-- 868 bytes
tlb.h -rw-r--r-- 941 bytes
tlbflush.h -rw-r--r-- 2.1 KB
topology.h -rw-r--r-- 34 bytes
types.h -rw-r--r-- 864 bytes
uaccess.h -rw-r--r-- 13.1 KB
ucontext.h -rw-r--r-- 673 bytes
unaligned.h -rw-r--r-- 678 bytes
unistd.h -rw-r--r-- 10.9 KB
user.h -rw-r--r-- 1.9 KB
vga.h -rw-r--r-- 471 bytes
xor.h -rw-r--r-- 29 bytes

back to top