]> xenbits.xensource.com Git - libvirt.git/commit
storage: reduce number of stat calls
authorEric Blake <eblake@redhat.com>
Tue, 5 Nov 2013 15:30:01 +0000 (08:30 -0700)
committerEric Blake <eblake@redhat.com>
Thu, 7 Nov 2013 00:17:08 +0000 (17:17 -0700)
commit9cac863965aa318667619727c387ec8ee3965557
treed489c61c51fea7fcda2d880e0fc42c27bbaebd32
parent5327fad4f292e4f3f84884ffe158c492bf00519c
storage: reduce number of stat calls

We are calling fstat() at least twice per storage volume in
a directory storage pool; this is rather wasteful.  Refactoring
this is also a step towards making code reusable for gluster,
where gluster can provide struct stat but cannot use fstat().

* src/storage/storage_backend.h
(virStorageBackendVolOpenCheckMode)
(virStorageBackendUpdateVolTargetInfoFD): Update signature.
* src/storage/storage_backend.c
(virStorageBackendVolOpenCheckMode): Pass stat results back.
(virStorageBackendUpdateVolTargetInfoFD): Use existing stats.
(virStorageBackendVolOpen, virStorageBackendUpdateVolTargetInfo):
Update callers.
* src/storage/storage_backend_fs.c (virStorageBackendProbeTarget):
Likewise.
* src/storage/storage_backend_scsi.c
(virStorageBackendSCSIUpdateVolTargetInfo): Likewise.
* src/storage/storage_backend_mpath.c
(virStorageBackendMpathUpdateVolTargetInfo): Likewise.

Signed-off-by: Eric Blake <eblake@redhat.com>
src/storage/storage_backend.c
src/storage/storage_backend.h
src/storage/storage_backend_fs.c
src/storage/storage_backend_mpath.c
src/storage/storage_backend_scsi.c