virFileFlock;
virFileFreeACLs;
virFileGetACLs;
+virFileGetDefaultHugepage;
virFileGetHugepageSize;
virFileGetMountReverseSubtree;
virFileGetMountSubtree;
virHugeTLBFSPtr hugetlbfs,
size_t nhugetlbfs)
{
- size_t i;
-
- for (i = 0; i < nhugetlbfs; i++)
- if (hugetlbfs[i].deflt)
- break;
+ virHugeTLBFSPtr p;
- if (i == nhugetlbfs)
- i = 0;
+ if (!(p = virFileGetDefaultHugepage(hugetlbfs, nhugetlbfs)))
+ p = &hugetlbfs[0];
- return qemuGetDomainHugepagePath(def, &hugetlbfs[i]);
+ return qemuGetDomainHugepagePath(def, p);
}
}
#endif /* defined __linux__ */
+/**
+ * virFileGetDefaultHugepage:
+ * @fs: array of hugetlbfs mount points
+ * @nfs: number of items in @fs
+ *
+ * In the passed array of hugetlbfs mount points @fs find the
+ * default one. It's the one which has no '-o pagesize'.
+ *
+ * Returns: default hugepage, or
+ * NULL if none found
+ */
+virHugeTLBFSPtr
+virFileGetDefaultHugepage(virHugeTLBFSPtr fs,
+ size_t nfs)
+{
+ size_t i;
+
+ for (i = 0; i < nfs; i++) {
+ if (fs[i].deflt)
+ return &fs[i];
+ }
+
+ return NULL;
+}
+
int virFileIsSharedFS(const char *path)
{
return virFileIsSharedFSType(path,
int virFileFindHugeTLBFS(virHugeTLBFSPtr *ret_fs,
size_t *ret_nfs);
+virHugeTLBFSPtr virFileGetDefaultHugepage(virHugeTLBFSPtr fs,
+ size_t nfs);
+
int virFileSetupDev(const char *path,
const char *mount_options);