svn commit: samba r7541 - in branches/SAMBA_3_0/source/modules: .
jra at samba.org
jra at samba.org
Mon Jun 13 16:49:59 GMT 2005
Author: jra
Date: 2005-06-13 16:49:57 +0000 (Mon, 13 Jun 2005)
New Revision: 7541
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=7541
Log:
Patch from core at road-star.jp for bug #2792. Ensure the shadow copy
module hooks seekdir, telldir, rewinddir to match updated large
directory code.
Jeremy.
Modified:
branches/SAMBA_3_0/source/modules/vfs_shadow_copy.c
Changeset:
Modified: branches/SAMBA_3_0/source/modules/vfs_shadow_copy.c
===================================================================
--- branches/SAMBA_3_0/source/modules/vfs_shadow_copy.c 2005-06-13 16:49:55 UTC (rev 7540)
+++ branches/SAMBA_3_0/source/modules/vfs_shadow_copy.c 2005-06-13 16:49:57 UTC (rev 7541)
@@ -133,6 +133,27 @@
return NULL;
}
+static void shadow_copy_seekdir(struct vfs_handle_struct *handle, struct connection_struct *conn, DIR *_dirp, long offset)
+{
+ shadow_copy_Dir *dirp = (shadow_copy_Dir *)_dirp;
+
+ if (offset < dirp->num) {
+ dirp->pos = offset ;
+ }
+}
+
+static long shadow_copy_telldir(struct vfs_handle_struct *handle, struct connection_struct *conn, DIR *_dirp)
+{
+ shadow_copy_Dir *dirp = (shadow_copy_Dir *)_dirp;
+ return( dirp->pos ) ;
+}
+
+static void shadow_copy_rewinddir(struct vfs_handle_struct *handle, struct connection_struct *conn, DIR *_dirp)
+{
+ shadow_copy_Dir *dirp = (shadow_copy_Dir *)_dirp;
+ dirp->pos = 0 ;
+}
+
int shadow_copy_closedir(vfs_handle_struct *handle, connection_struct *conn, DIR *_dirp)
{
shadow_copy_Dir *dirp = (shadow_copy_Dir *)_dirp;
@@ -200,6 +221,9 @@
static vfs_op_tuple shadow_copy_ops[] = {
{SMB_VFS_OP(shadow_copy_opendir), SMB_VFS_OP_OPENDIR, SMB_VFS_LAYER_TRANSPARENT},
{SMB_VFS_OP(shadow_copy_readdir), SMB_VFS_OP_READDIR, SMB_VFS_LAYER_TRANSPARENT},
+ {SMB_VFS_OP(shadow_copy_seekdir), SMB_VFS_OP_SEEKDIR, SMB_VFS_LAYER_TRANSPARENT},
+ {SMB_VFS_OP(shadow_copy_telldir), SMB_VFS_OP_TELLDIR, SMB_VFS_LAYER_TRANSPARENT},
+ {SMB_VFS_OP(shadow_copy_rewinddir), SMB_VFS_OP_REWINDDIR, SMB_VFS_LAYER_TRANSPARENT},
{SMB_VFS_OP(shadow_copy_closedir), SMB_VFS_OP_CLOSEDIR, SMB_VFS_LAYER_TRANSPARENT},
{SMB_VFS_OP(shadow_copy_get_shadow_copy_data), SMB_VFS_OP_GET_SHADOW_COPY_DATA,SMB_VFS_LAYER_OPAQUE},
More information about the samba-cvs
mailing list