OK, will change it, thanks.Returning -Esomething might be less drastic? ENOSYS perhaps?Yeah, BUG_ON shouldn't be used for API misuse unless there's absolutely
no other way to handle it.
Ok, will split it into 2 functions and check the function pointer instead of grant table version, thanks.Well, in general, specifically testing for features rather than+ gnttab_shared.v2[ref].sub_page.frame = frame;It's not clear this adds anything over and above letting the user query
+ gnttab_shared.v2[ref].sub_page.page_off = page_off;
+ gnttab_shared.v2[ref].sub_page.length = length;
+ gnttab_shared.v2[ref].hdr.domid = domid;
+ wmb();
+ gnttab_shared.v2[ref].hdr.flags =
+ GTF_permit_access | GTF_sub_page | flags;
+}
+EXPORT_SYMBOL_GPL(gnttab_grant_foreign_access_ref_subpage_v2);
+
+bool gnttab_subpage_trans_grants_available(void)
+{
+ return grant_table_version == 2;
+}
the grant table version. It's hard to tell since there are no users
presented here though. Perhaps separate subpage and transitive functions
would be cleaner?
interface versions is better.