]> git.ipfire.org Git - thirdparty/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)
committerJán Tomko <jtomko@redhat.com>
Thu, 10 Apr 2014 07:29:45 +0000 (09:29 +0200)
commit1710925ad94d1bf9218c284b5293549ab474bc27
tree55e3c0d8106155b96d9e28eb6dc2e7c7490d3aa2
parentbe7636c3ff3d966307b5808fca4340c69fe7bbd6
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>
(cherry picked from commit 9cac863965aa318667619727c387ec8ee3965557)
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