svn commit: samba r14948 - in branches/SAMBA_4_0/source: ntvfs/sysdep torture/raw

tridge at samba.org tridge at samba.org
Thu Apr 6 11:09:24 GMT 2006


Author: tridge
Date: 2006-04-06 11:09:24 +0000 (Thu, 06 Apr 2006)
New Revision: 14948

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=14948

Log:

add testing of truncate events, and add truncate support to inotify
backend

Modified:
   branches/SAMBA_4_0/source/ntvfs/sysdep/inotify.c
   branches/SAMBA_4_0/source/torture/raw/notify.c


Changeset:
Modified: branches/SAMBA_4_0/source/ntvfs/sysdep/inotify.c
===================================================================
--- branches/SAMBA_4_0/source/ntvfs/sysdep/inotify.c	2006-04-06 11:07:21 UTC (rev 14947)
+++ branches/SAMBA_4_0/source/ntvfs/sysdep/inotify.c	2006-04-06 11:09:24 UTC (rev 14948)
@@ -116,6 +116,10 @@
 				  FILE_NOTIFY_CHANGE_SECURITY))) {
 			return True;
 		}
+		if ((e->mask & IN_MODIFY) && 
+		    (w->filter & FILE_NOTIFY_CHANGE_ATTRIBUTES)) {
+			return True;
+		}
 		if ((w->filter & FILE_NOTIFY_CHANGE_FILE_NAME) == 0) {
 			return False;
 		}
@@ -281,8 +285,7 @@
 } inotify_mapping[] = {
 	{FILE_NOTIFY_CHANGE_FILE_NAME,   IN_CREATE|IN_DELETE|IN_MOVED_FROM|IN_MOVED_TO},
 	{FILE_NOTIFY_CHANGE_DIR_NAME,    IN_CREATE|IN_DELETE|IN_MOVED_FROM|IN_MOVED_TO},
-	{FILE_NOTIFY_CHANGE_ATTRIBUTES,  IN_ATTRIB | IN_MOVED_TO | IN_MOVED_FROM},
-	{FILE_NOTIFY_CHANGE_SIZE,        IN_MODIFY},
+	{FILE_NOTIFY_CHANGE_ATTRIBUTES,  IN_ATTRIB|IN_MOVED_TO|IN_MOVED_FROM|IN_MODIFY},
 	{FILE_NOTIFY_CHANGE_LAST_WRITE,  IN_ATTRIB},
 	{FILE_NOTIFY_CHANGE_LAST_ACCESS, IN_ATTRIB},
 	{FILE_NOTIFY_CHANGE_EA,          IN_ATTRIB},

Modified: branches/SAMBA_4_0/source/torture/raw/notify.c
===================================================================
--- branches/SAMBA_4_0/source/torture/raw/notify.c	2006-04-06 11:07:21 UTC (rev 14947)
+++ branches/SAMBA_4_0/source/torture/raw/notify.c	2006-04-06 11:09:24 UTC (rev 14948)
@@ -205,7 +205,7 @@
 	status = smbcli_unlink(cli->tree, BASEDIR "\\test*.txt");
 	CHECK_STATUS(status, NT_STATUS_OK);
 
-	/* recev the 3rd notify */
+	/* receive the 3rd notify */
 	status = smb_raw_changenotify_recv(req, mem_ctx, &notify);
 	CHECK_STATUS(status, NT_STATUS_OK);
 	CHECK_VAL(notify.out.num_changes, 1);
@@ -214,6 +214,7 @@
 
 	/* and we now see the rest of the unlink calls on both directory handles */
 	notify.in.file.fnum = fnum;
+	msleep(10);
 	req = smb_raw_changenotify_send(cli->tree, &notify);
 	status = smb_raw_changenotify_recv(req, mem_ctx, &notify);
 	CHECK_STATUS(status, NT_STATUS_OK);
@@ -578,6 +579,14 @@
 		NOTIFY_ACTION_MODIFIED,
 		0, 1);
 
+	printf("testing truncate\n");
+	NOTIFY_MASK_TEST(
+		fnum2 = create_complex_file(cli, mem_ctx, BASEDIR "\\tname1");,
+		smbcli_ftruncate(cli->tree, fnum2, 10000);,
+		(smbcli_close(cli->tree, fnum2), smbcli_unlink(cli->tree, BASEDIR "\\tname1"));,
+		NOTIFY_ACTION_MODIFIED,
+		FILE_NOTIFY_CHANGE_SIZE | FILE_NOTIFY_CHANGE_ATTRIBUTES, 1);
+
 done:
 	smb_raw_exit(cli->session);
 	return ret;



More information about the samba-cvs mailing list