qemu-irix/hw
Greg Kurz 3dbcf27334 9pfs: local: simplify file opening
The logic to open a path currently sits between local_open_nofollow() and
the relative_openat_nofollow() helper, which has no other user.

For the sake of clarity, this patch moves all the code of the helper into
its unique caller. While here we also:
- drop the code to skip leading "/" because the backend isn't supposed to
  pass anything but relative paths without consecutive slashes. The assert()
  is kept because we really don't want a buggy backend to pass an absolute
  path to openat().
- use strchrnul() to get a simpler code. This is ok since virtfs is for
  linux+glibc hosts only.
- don't dup() the initial directory and add an assert() to ensure we don't
  return the global mountfd to the caller. BTW, this would mean that the
  caller passed an empty path, which isn't supposed to happen either.

Signed-off-by: Greg Kurz <groug@kaod.org>
Reviewed-by: Eric Blake <eblake@redhat.com>
[groug: fixed typos in changelog]
2017-05-25 10:30:14 +02:00
..
9pfs 9pfs: local: simplify file opening 2017-05-25 10:30:14 +02:00
acpi pci, virtio, vhost: fixes 2017-05-18 10:01:08 +01:00
adc
alpha hw: Default -drive to if=ide explicitly where it works 2017-02-21 13:10:53 +01:00
arm pci, virtio, vhost: fixes 2017-05-18 10:01:08 +01:00
audio audio: Rename hw/audio/audio.h to hw/audio/soundhw.h 2017-05-19 10:48:54 +02:00
block pflash_cfi01: Remove user_creatable flag 2017-05-17 10:37:01 -03:00
bt
char s390x/3270: Mark non-migratable and enable the device 2017-05-04 10:34:37 +02:00
core migration/next for 20170517 2017-05-18 10:05:52 +01:00
cpu
cris
display migration: Create migration/blocker.h 2017-05-17 12:04:59 +02:00
dma qdev: Replace cannot_instantiate_with_device_add_yet with !user_creatable 2017-05-17 10:37:00 -03:00
gpio qdev: Replace cannot_instantiate_with_device_add_yet with !user_creatable 2017-05-17 10:37:00 -03:00
i2c qdev: Replace cannot_instantiate_with_device_add_yet with !user_creatable 2017-05-17 10:37:00 -03:00
i386 migration: migration.h was not needed 2017-05-18 19:20:59 +02:00
ide allwinner-ahci: Remove user_creatable flag 2017-05-17 10:37:01 -03:00
input qdev: Replace cannot_instantiate_with_device_add_yet with !user_creatable 2017-05-17 10:37:00 -03:00
intc migration/next for 20170517 2017-05-18 10:05:52 +01:00
ipack
ipmi ipmi: introduce an ipmi_bmc_gen_event() API 2017-04-26 12:41:55 +10:00
isa isabus-bridge: Remove user_creatable flag 2017-05-17 10:37:01 -03:00
lm32
m68k hw/m68k: QOMify the ColdFire interrupt controller 2017-02-18 22:23:31 +01:00
mem
microblaze Remove reduntant qemu: from error functions 2017-05-07 09:57:51 +03:00
mips qdev: Replace cannot_instantiate_with_device_add_yet with !user_creatable 2017-05-17 10:37:00 -03:00
misc migration/next for 20170517 2017-05-18 10:05:52 +01:00
moxie
net e1000e: Fix ICR "Other" causes clear logic 2017-05-23 10:10:38 +08:00
nios2 Remove reduntant qemu: from error functions 2017-05-07 09:57:51 +03:00
nvram fw_cfg: Remove user_creatable flag 2017-05-17 10:37:01 -03:00
openrisc target/openrisc: Support non-busy idle state using PMR SPR 2017-05-04 09:39:14 +09:00
pci pci: deassert intx when pci device unrealize 2017-05-18 00:35:15 +03:00
pci-bridge pci, virtio, vhost: fixes 2017-05-18 10:01:08 +01:00
pci-host qdev: Replace cannot_instantiate_with_device_add_yet with !user_creatable 2017-05-17 10:37:00 -03:00
pcmcia
ppc audio: Rename hw/audio/audio.h to hw/audio/soundhw.h 2017-05-19 10:48:54 +02:00
s390x s390-pcibus: No need to set user_creatable=false explicitly 2017-05-17 10:37:01 -03:00
scsi esp: Remove user_creatable flag 2017-05-17 10:37:01 -03:00
sd generic-sdhci: Remove user_creatable flag 2017-05-17 10:37:01 -03:00
sh4 qdev: Replace cannot_instantiate_with_device_add_yet with !user_creatable 2017-05-17 10:37:00 -03:00
smbios
sparc tcx: switch to load_image_mr() and remove prom_addr hack 2017-04-21 09:02:04 +01:00
sparc64 sparc/sparc64: grab BQL before calling cpu_check_irqs 2017-03-09 10:41:38 +00:00
ssi
timer hpet: Remove user_creatable flag 2017-05-17 10:37:01 -03:00
tpm
tricore Remove reduntant qemu: from error functions 2017-05-07 09:57:51 +03:00
unicore32
usb sysbus-ohci: Remove user_creatable flag 2017-05-17 10:37:01 -03:00
vfio sysbus: Set user_creatable=false by default on TYPE_SYS_BUS_DEVICE 2017-05-17 10:37:01 -03:00
virtio migration: migration.h was not needed 2017-05-18 19:20:59 +02:00
watchdog
xen xen-sysdev: Remove user_creatable flag 2017-05-17 10:37:01 -03:00
xenpv
xtensa target/xtensa: xtfpga: load DTB only when FDT support is enabled 2017-03-11 14:59:03 -08:00
Makefile.objs