Re: [PATCHv2 11/33] storage: Move virStorageFileGetMetadata to the storage driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 05/28/14 03:53, Eric Blake wrote:
> On 05/26/2014 03:27 AM, Peter Krempa wrote:
>> On 05/23/14 18:38, Eric Blake wrote:
>>> On 05/22/2014 07:47 AM, Peter Krempa wrote:
>>>> My future work will modify the metadata crawler function to use the
>>>> storage driver file APIs to access the files instead of accessing them
>>>> directly so that we will be able to request the metadata for remote
>>>> files too. To avoid linking the storage driver to every helper file
>>>> using the utils code, the backing chain traversal function needs to be
>>>> moved to the storage driver source.
>>>>
> 
>>>>  src/storage/storage_driver.c  | 233 ++++++++++++++++++++++++++++++++++++++++++
>>>>  src/storage/storage_driver.h  |   5 +
>>>>  src/util/virstoragefile.c     | 233 +-----------------------------------------
> 
>>>>  virStorageFileGetMetadataFromFDInternal(virStorageSourcePtr meta,
>>>>                                          int fd,
>>>>                                          int *backingFormat)
>>>
>>> It's a bit confusing that we now have virStorageFile* functions spread
>>> across two different files; maybe a later patch should rename the
>>> storage_driver.h functions to have a different prefix?
>>>
>>
>> We definitely can address this later. Any suggestions on the name of the
>> moved code?
> 
> virStorageDriverFoo?  It's slightly longer, so might cause long lines,
> but seems reasonable for the file name.
> 

And what about the functions to access storage files via the storage
driver? they are called virStorageFileFoo but reside in the storage
driver too. Should I change those too?

Peter


src/storage/storage_driver.h:

int virStorageFileInit(virStorageSourcePtr src);
int virStorageFileInitAs(virStorageSourcePtr src,
                         uid_t uid, gid_t gid);
void virStorageFileDeinit(virStorageSourcePtr src);

int virStorageFileCreate(virStorageSourcePtr src);
int virStorageFileUnlink(virStorageSourcePtr src);
int virStorageFileStat(virStorageSourcePtr src,
                       struct stat *stat);
ssize_t virStorageFileReadHeader(virStorageSourcePtr src,
                                 ssize_t max_len,
                                 char **buf);
const char *virStorageFileGetUniqueIdentifier(virStorageSourcePtr src);
int virStorageFileAccess(virStorageSourcePtr src, int mode);

int virStorageFileGetMetadata(virStorageSourcePtr src,
                              uid_t uid, gid_t gid,
                              bool allow_probe)
    ATTRIBUTE_NONNULL(1);



Attachment: signature.asc
Description: OpenPGP digital signature

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list

[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]