> On Sun, Sep 26, 2010 at 12:30 PM, Venkatram Tummala <
> [email protected]> wrote:
>
>> in your code you have done in memory_read
>>
>>> *f_pos = *f_pos + count;
>>>
>>> why have you done this?
>>> What purpose it serves?
>>>
>>
>> It updates the file pointer.
>>
>> Why is that important to update the pointer?
Can this be not done without updating.
Your read function is
ssize_t memory_read(struct file *filp, char __user *buf,
size_t count, loff_t *f_pos)
{
if (*f_pos > 0)
return 0;
if (count > strlen(memory_buffer))
count = strlen(memory_buffer);
copy_to_user(buf,memory_buffer,count);
*f_pos = *f_pos + count;
return count;
}
I am not able to understand why one needs to update f_pos
to be able to write to userspace or when I am doing a cat /dev/bond