[libvirt] [PATCH 2/4] virfile: Introduce virFileIsNFSFSType

John Ferlan jferlan at redhat.com
Fri Aug 8 11:42:21 UTC 2014



On 08/08/2014 07:07 AM, Ján Tomko wrote:
> On 08/05/2014 04:38 PM, John Ferlan wrote:
>> Use the virFileGetFSFtype() in order to compare the returned
>> f_type for the NFS super magic number
>>
>> Signed-off-by: John Ferlan <jferlan at redhat.com>
>> ---
>>  src/libvirt_private.syms |  1 +
>>  src/util/virfile.c       | 19 +++++++++++++++++++
>>  src/util/virfile.h       |  1 +
>>  3 files changed, 21 insertions(+)
>>
>> diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
>> index 08111d4..121e578 100644
>> --- a/src/libvirt_private.syms
>> +++ b/src/libvirt_private.syms
>> @@ -1291,6 +1291,7 @@ virFileIsDir;
>>  virFileIsExecutable;
>>  virFileIsLink;
>>  virFileIsMountPoint;
>> +virFileIsNFSFSType;
>>  virFileIsSharedFS;
>>  virFileIsSharedFSType;
>>  virFileLinkPointsTo;
>> diff --git a/src/util/virfile.c b/src/util/virfile.c
>> index 7612007..e6c767d 100644
>> --- a/src/util/virfile.c
>> +++ b/src/util/virfile.c
>> @@ -2927,6 +2927,18 @@ virFileIsSharedFSType(const char *path,
>>      return 0;
>>  }
>>  
>> +bool
>> +virFileIsNFSFSType(const char *path)
>> +{
>> +    long long int f_type;
>> +
>> +    if ((virFileGetFSFtype(path, &f_type) == 0) &&
>> +        (f_type == NFS_SUPER_MAGIC))
>> +        return true;
>> +
>> +    return false;
>> +}
>> +
>>  int
>>  virFileGetHugepageSize(const char *path,
>>                         unsigned long long *size)
>> @@ -3060,6 +3072,13 @@ int virFileIsSharedFSType(const char *path ATTRIBUTE_UNUSED,
>>  }
>>  
>>  int
>> +virFileIsNFSFSType(const char *path ATTRIBUTE_UNUSED)
> 
> This doesn't match the prototype in virfile.h.
> 

Drat - boy I hate making the same mistake twice - changed the function
late, but forgot to change the #else...

> Also, I wonder if virFileIsNFSFSType(path) is that much more readable than
> virFileIsSharedFSType(path, VIR_FILE_SHFS_NFS) == 1.
> 

hmm... guess that makes patch 1 & 2 unnecessary. Guess I was more
hyperfocused on how to get at NFS_SUPER_MAGIC that I missed the SHFS enum

I'll rework...


John


>> +{
>> +    /* XXX implement me :-) */ 
>> +    return false;
>> +}
>> +
>> +int
>>  virFileGetHugepageSize(const char *path ATTRIBUTE_UNUSED,
>>                         unsigned long long *size ATTRIBUTE_UNUSED)
>>  {
>> diff --git a/src/util/virfile.h b/src/util/virfile.h
>> index 403d0ba..cc07c53 100644
>> --- a/src/util/virfile.h
>> +++ b/src/util/virfile.h
>> @@ -191,6 +191,7 @@ enum {
>>  };
>>  
>>  int virFileIsSharedFSType(const char *path, int fstypes) ATTRIBUTE_NONNULL(1);
>> +bool virFileIsNFSFSType(const char *path);
> 
> ATTRIBUTE_NONNULL(1);
> 
>>  int virFileIsSharedFS(const char *path) ATTRIBUTE_NONNULL(1);
>>  int virFileIsMountPoint(const char *file) ATTRIBUTE_NONNULL(1);
>>  
>>
> 
> ACK
> 




More information about the libvir-list mailing list