tags:

views:

15

answers:

0

I am working on a Fuse filesystem and I am running into a strange problem when I do a read

Basically I have a fuse client that implements the read() function..

say xmp_read(const char *path, char *buf, size_t size, off_t offset, struct fuse_file_info *fi)

{

}

Here in the read, lets say i am copying (using memcpy/strcpy) a particular string in buf. When I print the buf in the read() function, I am seeing the correct contents of buf being printed.

However, when I write an application that calls the read()/xmp_read() only the first 13 characters are being returned and not the whole string. This happens even if i do the read() in the application in a while loop. Not sure why this is happenning. Any thoughts?

Thanks!

-Vinay.