fuse: Implement write syscall (RHBZ#592883).

This commit is contained in:
Richard Jones
2010-05-18 23:49:43 +01:00
parent 1214b32162
commit 9735484c35
2 changed files with 22 additions and 1 deletions

View File

@@ -653,7 +653,17 @@ fg_write (const char *path, const char *buf, size_t size,
dir_cache_invalidate (path);
return -ENOSYS; /* XXX */
/* See fg_read. */
const size_t limit = 2 * 1024 * 1024;
if (size > limit)
size = limit;
int r;
r = guestfs_pwrite (g, path, buf, size, offset);
if (r == -1)
return error ();
return r;
}
static int

View File

@@ -207,6 +207,17 @@ for ts in 12345 1234567 987654321; do
[ "$(stat -c %Y timestamp)" -eq $ts ]
done
stage Checking writes
cp hello.txt copy.txt
echo >> copy.txt
echo world >> copy.txt
echo bigger >> copy.txt
echo biggest >> copy.txt
[ "$(cat copy.txt)" = "hello
world
bigger
biggest" ]
# These ones are not yet tested by the current script:
#stage XXX statfs/statvfs
#stage XXX xattr operations