mirror_qemu/block
Peter Lieven 6542aa9c75 block: add native support for NFS
This patch adds native support for accessing images on NFS
shares without the requirement to actually mount the entire
NFS share on the host.

NFS Images can simply be specified by an url of the form:
nfs://<host>/<export>/<filename>[?param=value[&param2=value2[&...]]]

For example:
qemu-img create -f qcow2 nfs://10.0.0.1/qemu-images/test.qcow2

You need LibNFS from Ronnie Sahlberg available at:
   git://github.com/sahlberg/libnfs.git
for this to work.

During configure it is automatically probed for libnfs and support
is enabled on-the-fly. You can forbid or enforce libnfs support
with --disable-libnfs or --enable-libnfs respectively.

Due to NFS restrictions you might need to execute your binaries
as root, allow them to open priviledged ports (<1024) or specify
insecure option on the NFS server.

For additional information on ROOT vs. non-ROOT operation and URL
format + parameters see:
   https://raw.github.com/sahlberg/libnfs/master/README

Supported by qemu are the uid, gid and tcp-syncnt URL parameters.

LibNFS currently support NFS version 3 only.

Signed-off-by: Peter Lieven <pl@kamp.de>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2014-02-09 09:12:38 +01:00
..
Makefile.objs block: add native support for NFS 2014-02-09 09:12:38 +01:00
backup.c block: Switch BdrvTrackedRequest to byte granularity 2014-01-24 17:40:02 +01:00
blkdebug.c qemu-iotests: Test pwritev RMW logic 2014-01-24 17:40:25 +01:00
blkverify.c block: Create authorizations mechanism for external snapshot and resize. 2014-01-24 16:07:08 +01:00
bochs.c bdrv: Use "Error" for opening images 2013-09-12 10:12:47 +02:00
cloop.c bdrv: Use "Error" for opening images 2013-09-12 10:12:47 +02:00
commit.c commit: Remove unused check 2013-12-20 16:26:16 +01:00
cow.c block: Allow reference for bdrv_file_open() 2014-01-22 12:07:17 +01:00
curl.c block/curl: Implement the libcurl timer callback interface 2014-01-24 16:07:08 +01:00
dmg.c bdrv: Use "Error" for opening images 2013-09-12 10:12:47 +02:00
gluster.c gluster: Add support for creating zero-filled image 2014-01-22 12:07:16 +01:00
iscsi.c Merge remote-tracking branch 'bonzini/scsi-next' into staging 2014-01-24 15:50:14 -08:00
linux-aio.c aio: drop io_flush argument 2013-08-19 15:52:19 +02:00
mirror.c block: resize backing image during active layer commit, if needed 2014-01-24 16:12:49 +01:00
nbd-client.c nbd: avoid uninitialized warnings 2013-12-16 10:12:20 +01:00
nbd-client.h nbd: pass export name as init argument 2013-12-16 10:12:20 +01:00
nbd.c qemu-option: Remove qemu_opts_create_nofail 2014-01-06 15:02:30 -05:00
nfs.c block: add native support for NFS 2014-02-09 09:12:38 +01:00
parallels.c bdrv: Use "Error" for opening images 2013-09-12 10:12:47 +02:00
qapi.c qmp: Add QMP query-named-block-nodes to list the named BlockDriverState nodes. 2014-01-24 16:07:08 +01:00
qcow.c block: Allow reference for bdrv_file_open() 2014-01-22 12:07:17 +01:00
qcow2-cache.c qcow2: Use negated overflow check mask 2013-10-11 16:50:00 +02:00
qcow2-cluster.c qcow2: use start_of_cluster() and offset_into_cluster() everywhere 2013-12-06 16:53:50 +01:00
qcow2-refcount.c qcow2: use start_of_cluster() and offset_into_cluster() everywhere 2013-12-06 16:53:50 +01:00
qcow2-snapshot.c snapshot: distinguish id and name in load_tmp 2013-12-04 15:19:00 +01:00
qcow2.c block: remove qcow2 .bdrv_make_empty implementation 2014-01-31 22:05:03 +01:00
qcow2.h qcow2: fix wrong value of L1E_OFFSET_MASK, L2E_OFFSET_MASK and REFT_OFFSET_MASK 2014-01-24 14:33:00 +01:00
qed-check.c qed: mark image clean after repair succeeds 2012-08-10 10:25:12 +02:00
qed-cluster.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
qed-gencb.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
qed-l2-cache.c qed: do not evict in-use L2 table cache entries 2012-03-12 15:14:06 +01:00
qed-table.c misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
qed.c block: remove QED .bdrv_make_empty implementation 2014-01-31 22:05:03 +01:00
qed.h block: qed - use QEMU_PACKED for on-disk structures 2013-09-25 20:51:15 +02:00
raw-aio.h raw-posix: add support for write_zeroes on XFS and block devices 2013-12-03 15:26:49 +01:00
raw-posix.c raw: Probe required direct I/O alignment 2014-01-24 17:40:02 +01:00
raw-win32.c raw: Probe required direct I/O alignment 2014-01-24 17:40:02 +01:00
raw_bsd.c block/raw: copy BlockLimits on raw_open 2013-11-28 10:30:51 +01:00
rbd.c rbd: switch from pipe to QEMUBH completion notification 2014-01-22 12:07:16 +01:00
sheepdog.c sheepdog: fix 'qemu-img map' 2014-01-24 14:33:00 +01:00
snapshot.c qemu-nbd: support internal snapshot export 2013-12-04 15:19:00 +01:00
ssh.c bdrv: Use "Error" for creating images 2013-09-12 10:12:48 +02:00
stream.c block: Update BlockLimits when they might have changed 2014-01-24 17:40:01 +01:00
vdi.c block drivers: add discard/write_zeroes properties to bdrv_get_info implementation 2013-12-03 15:26:49 +01:00
vhdx-endian.c block: vhdx - move more endian translations to vhdx-endian.c 2013-11-07 13:58:59 +01:00
vhdx-log.c block/vhdx: Error checking fixes 2014-01-31 22:05:03 +01:00
vhdx.c block/vhdx: Error checking fixes 2014-01-31 22:05:03 +01:00
vhdx.h block: vhdx - improve error message, and .bdrv_check implementation 2013-12-20 09:11:58 +01:00
vmdk.c block/vmdk: add basic .bdrv_check support 2014-01-31 22:05:03 +01:00
vpc.c block drivers: add discard/write_zeroes properties to bdrv_get_info implementation 2013-12-03 15:26:49 +01:00
vvfat.c qemu-option: Remove qemu_opts_create_nofail 2014-01-06 15:02:30 -05:00
win32-aio.c win32-aio: drop win32_aio_flush_cb() 2013-08-22 22:05:04 +02:00