> On Sun, Sep 26, 2010 at 12:30 PM, Venkatram Tummala <
> venkatram...@gmail.com> 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

Reply via email to