summaryrefslogtreecommitdiff
path: root/source3
diff options
context:
space:
mode:
authorVolker Lendecke <vlendec@samba.org>2007-01-18 12:49:59 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:17:17 -0500
commit2958f467339913320e8593301127baef8a56beb1 (patch)
treec6063bd1aa765fdd0fee28fec356b45e19472285 /source3
parent71730ae5eb658c8c674273d9162e1c989e3bccda (diff)
downloadsamba-2958f467339913320e8593301127baef8a56beb1.tar.gz
samba-2958f467339913320e8593301127baef8a56beb1.tar.bz2
samba-2958f467339913320e8593301127baef8a56beb1.zip
r20877: Random notify fixes
(This used to be commit 2f1bfc53733ac3debc6a8b51642ab191869cd792)
Diffstat (limited to 'source3')
-rw-r--r--source3/smbd/reply.c21
1 files changed, 8 insertions, 13 deletions
diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c
index 2075939f5b..2763924d4f 100644
--- a/source3/smbd/reply.c
+++ b/source3/smbd/reply.c
@@ -1866,7 +1866,8 @@ NTSTATUS unlink_internals(connection_struct *conn, uint32 dirtype,
if (SMB_VFS_UNLINK(conn,directory) == 0) {
count++;
- notify_fname(conn, directory, -1,
+ notify_fname(conn, directory,
+ FILE_NOTIFY_CHANGE_FILE,
NOTIFY_ACTION_REMOVED);
}
} else {
@@ -1929,7 +1930,8 @@ NTSTATUS unlink_internals(connection_struct *conn, uint32 dirtype,
DEBUG(3,("unlink_internals: succesful unlink "
"[%s]\n",fname));
notify_action(conn, directory, dname,
- -1, NOTIFY_ACTION_REMOVED);
+ FILE_NOTIFY_CHANGE_FILE,
+ NOTIFY_ACTION_REMOVED);
}
}
@@ -3718,6 +3720,8 @@ BOOL rmdir_internals(connection_struct *conn, const char *directory)
ret = SMB_VFS_RMDIR(conn,directory);
if (ret == 0) {
+ notify_fname(conn, directory, FILE_NOTIFY_CHANGE_DIR_NAME,
+ NOTIFY_ACTION_REMOVED);
return True;
}
@@ -3795,17 +3799,8 @@ BOOL rmdir_internals(connection_struct *conn, const char *directory)
return False;
}
- {
- char *parent_dir;
- const char *dirname;
-
- if (parent_dirname_talloc(tmp_talloc_ctx(), directory,
- &parent_dir, &dirname)) {
- notify_action(conn, parent_dir, dirname, -1,
- NOTIFY_ACTION_REMOVED);
- TALLOC_FREE(parent_dir); /* Not strictly necessary */
- }
- }
+ notify_fname(conn, directory, FILE_NOTIFY_CHANGE_DIR_NAME,
+ NOTIFY_ACTION_REMOVED);
return True;
}