Implement FUSE .ftruncate. - susmb - mounting of SMB/CIFS shares via FUSE | |
git clone git://git.codemadness.org/susmb | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit a31e37f5b54869feccc5e2337d240a942221afe4 | |
parent c5e4d004aa80f05e98f0e8af1a77849696f76b0c | |
Author: Geoff Johnstone <[email protected]> | |
Date: Fri, 10 Apr 2009 19:20:13 +0100 | |
Implement FUSE .ftruncate. | |
Diffstat: | |
M usmb.c | 4 ++-- | |
M usmb_file.h | 3 ++- | |
2 files changed, 4 insertions(+), 3 deletions(-) | |
--- | |
diff --git a/usmb.c b/usmb.c | |
@@ -129,7 +129,7 @@ static void usmb_destroy (void *unused UNUSED) | |
// readlink mknod symlink flush fsync | |
// no easy way of implementing these: | |
-// access ftruncate | |
+// access | |
#ifdef __lint | |
#define SET_ELEMENT(name,value) value | |
@@ -170,7 +170,7 @@ static struct fuse_operations fuse_ops = { | |
SET_ELEMENT (.destroy, usmb_destroy), | |
SET_ELEMENT (.access, NULL), | |
SET_ELEMENT (.create, usmb_create), | |
- SET_ELEMENT (.ftruncate, NULL), | |
+ SET_ELEMENT (.ftruncate, usmb_ftruncate), | |
SET_ELEMENT (.fgetattr, usmb_fgetattr), | |
SET_ELEMENT (.lock, NULL), // TODO: implement | |
SET_ELEMENT (.utimens, NULL), // TODO: implement | |
diff --git a/usmb_file.h b/usmb_file.h | |
@@ -37,6 +37,7 @@ | |
int usmb_utime (const char *filename, struct utimbuf *utb); | |
int usmb_truncate (const char *filename, off_t newsize); | |
int usmb_chmod (const char *filename, mode_t mode); | |
-// int usmb_chown (const char *filename, uid_t owner, uid_t group); | |
+ int usmb_ftruncate (const char *path, off_t size, | |
+ struct fuse_file_info *fi); | |
#endif |