Fix the mess that ab just made of the new VFS code.
[jra/samba/.git] / examples / VFS / skel_transparent.c
index 55407be10cc708dcd55e0fc7918dc830fc70c872..0a934976c45db85aa74567aff404a3d7e73b1390 100644 (file)
@@ -539,6 +539,26 @@ static int skel_aio_suspend(struct vfs_handle_struct *handle, struct files_struc
        return SMB_VFS_NEXT_AIO_SUSPEND(handle, fsp, aiocb, n, ts);
 }
 
+static bool skel_aio_force(struct vfs_handle_struct *handle, struct files_struct *fsp)
+{
+        return SMB_VFS_NEXT_AIO_FORCE(handle, fsp);
+}
+
+static int skel_is_offline(struct vfs_handle_struct *handle, const char *path, SMB_STRUCT_STAT *sbuf, bool *offline)
+{
+       return SMB_VFS_NEXT_IS_OFFLINE(handle, path, sbuf, offline);
+}
+
+static int skel_set_offline(struct vfs_handle_struct *handle, const char *path)
+{
+       return SMB_VFS_NEXT_SET_OFFLINE(handle, path);
+}
+
+static bool skel_is_remotestorage(struct vfs_handle_struct *handle, const char *path)
+{
+       return SMB_VFS_NEXT_IS_REMOTESTORAGE(handle, path);
+}
+
 /* VFS operations structure */
 
 static vfs_op_tuple skel_op_tuples[] = {
@@ -633,7 +653,7 @@ static vfs_op_tuple skel_op_tuples[] = {
        {SMB_VFS_OP(skel_sys_acl_free_text),            SMB_VFS_OP_SYS_ACL_FREE_TEXT,           SMB_VFS_LAYER_TRANSPARENT},
        {SMB_VFS_OP(skel_sys_acl_free_acl),             SMB_VFS_OP_SYS_ACL_FREE_ACL,            SMB_VFS_LAYER_TRANSPARENT},
        {SMB_VFS_OP(skel_sys_acl_free_qualifier),       SMB_VFS_OP_SYS_ACL_FREE_QUALIFIER,      SMB_VFS_LAYER_TRANSPARENT},
-       
+
        /* EA operations. */
        {SMB_VFS_OP(skel_getxattr),                     SMB_VFS_OP_GETXATTR,                    SMB_VFS_LAYER_TRANSPARENT},
        {SMB_VFS_OP(skel_lgetxattr),                    SMB_VFS_OP_LGETXATTR,                   SMB_VFS_LAYER_TRANSPARENT},
@@ -656,6 +676,12 @@ static vfs_op_tuple skel_op_tuples[] = {
        {SMB_VFS_OP(skel_aio_error),                    SMB_VFS_OP_AIO_ERROR,                   SMB_VFS_LAYER_TRANSPARENT},
        {SMB_VFS_OP(skel_aio_fsync),                    SMB_VFS_OP_AIO_FSYNC,                   SMB_VFS_LAYER_TRANSPARENT},
        {SMB_VFS_OP(skel_aio_suspend),                  SMB_VFS_OP_AIO_SUSPEND,                 SMB_VFS_LAYER_TRANSPARENT},
+       {SMB_VFS_OP(skel_aio_force),                    SMB_VFS_OP_AIO_FORCE,                   SMB_VFS_LAYER_TRANSPARENT},
+
+       /* offline operations */
+       {SMB_VFS_OP(skel_is_offline),                   SMB_VFS_OP_IS_OFFLINE,                  SMB_VFS_LAYER_TRANSPARENT},
+       {SMB_VFS_OP(skel_set_offline),                  SMB_VFS_OP_SET_OFFLINE,                 SMB_VFS_LAYER_TRANSPARENT},
+       {SMB_VFS_OP(skel_is_remotestorage),             SMB_VFS_OP_IS_REMOTESTORAGE,            SMB_VFS_LAYER_TRANSPARENT},
 
        {NULL,                                          SMB_VFS_OP_NOOP,                        SMB_VFS_LAYER_NOOP}
 };