summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRalph Boehme <rb@sernet.de>2014-09-15 13:53:22 +0200
committerJeremy Allison <jra@samba.org>2014-09-25 23:43:35 +0200
commitb6ec190e7452dc8ec9f37ad509410b5832bc49cd (patch)
tree0992b17923da67771098ccf70502c959016df35b
parent168191d9bf02a01a3f336893f1eafc44c5077417 (diff)
downloadsamba-b6ec190e7452dc8ec9f37ad509410b5832bc49cd.tar.gz
vfs_fruit: update rfork size in AppleDouble header
Update the AppleDouble entry with the new size when ftruncating a resource fork. Signed-off-by: Ralph Boehme <rb@sernet.de> Reviewed-by: Jeremy Allison <jra@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Thu Sep 25 23:43:35 CEST 2014 on sn-devel-104
-rw-r--r--source3/modules/vfs_fruit.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/source3/modules/vfs_fruit.c b/source3/modules/vfs_fruit.c
index 458904edc9a..0441d5ebd48 100644
--- a/source3/modules/vfs_fruit.c
+++ b/source3/modules/vfs_fruit.c
@@ -2824,6 +2824,14 @@ static int fruit_ftruncate(struct vfs_handle_struct *handle,
rc = SMB_VFS_NEXT_FTRUNCATE(
handle, fsp,
offset + ad_getentryoff(ad, ADEID_RFORK));
+ if (rc != 0) {
+ return -1;
+ }
+ ad_setentrylen(ad, ADEID_RFORK, offset);
+ rc = ad_write(ad, NULL);
+ if (rc != 0) {
+ return -1;
+ }
}
break;
default: