On 03.12.20 10:12, Jan Beulich wrote:
On 03.12.2020 09:47, Jürgen Groß wrote:
On 02.12.20 16:36, Jan Beulich wrote:
On 01.12.2020 09:21, Juergen Gross wrote:
static int hypfs_write(struct hypfs_entry *entry,
XEN_GUEST_HANDLE_PARAM(void) uaddr, unsigned long
ulen)
On 03.12.2020 09:47, Jürgen Groß wrote:
> On 02.12.20 16:36, Jan Beulich wrote:
>> On 01.12.2020 09:21, Juergen Gross wrote:
>>> static int hypfs_write(struct hypfs_entry *entry,
>>> XEN_GUEST_HANDLE_PARAM(void) uaddr, unsigned long
>>> ulen)
>>
>> As a tangent, is there
On 02.12.20 16:36, Jan Beulich wrote:
On 01.12.2020 09:21, Juergen Gross wrote:
static int hypfs_write(struct hypfs_entry *entry,
XEN_GUEST_HANDLE_PARAM(void) uaddr, unsigned long ulen)
As a tangent, is there a reason these write functions don't take
handles of "cons
On 02.12.20 16:36, Jan Beulich wrote:
On 01.12.2020 09:21, Juergen Gross wrote:
@@ -297,6 +321,7 @@ int hypfs_write_leaf(struct hypfs_entry_leaf *leaf,
int ret;
ASSERT(this_cpu(hypfs_locked) == hypfs_write_locked);
+ASSERT(leaf->e.max_size);
if ( ulen > leaf->e.max_s
On 01.12.2020 09:21, Juergen Gross wrote:
> @@ -297,6 +321,7 @@ int hypfs_write_leaf(struct hypfs_entry_leaf *leaf,
> int ret;
>
> ASSERT(this_cpu(hypfs_locked) == hypfs_write_locked);
> +ASSERT(leaf->e.max_size);
>
> if ( ulen > leaf->e.max_size )
> return -ENOSPC;
Move the function pointers currently stored in each hypfs node into a
dedicated structure in order to save some space for each node. This
will save even more space with additional callbacks added in future.
Provide some standard function vectors.
Instead of testing the write pointer to be not NUL