mirror of
https://github.com/samba-team/samba.git
synced 2025-12-07 20:23:50 +03:00
r21079: Minimizing diff: Adopt the Samba4 style ChangeNotify flags.
Volker
This commit is contained in:
committed by
Gerald (Jerry) Carter
parent
cdb7d582b7
commit
a3c1069b0c
@@ -73,6 +73,10 @@
|
|||||||
#define MSG_SMB_BLOCKING_LOCK_CANCEL 3013
|
#define MSG_SMB_BLOCKING_LOCK_CANCEL 3013
|
||||||
#define MSG_SMB_NOTIFY 3014
|
#define MSG_SMB_NOTIFY 3014
|
||||||
#define MSG_SMB_STAT_CACHE_DELETE 3015
|
#define MSG_SMB_STAT_CACHE_DELETE 3015
|
||||||
|
/*
|
||||||
|
* Samba4 compatibility
|
||||||
|
*/
|
||||||
|
#define MSG_PVFS_NOTIFY 3016
|
||||||
|
|
||||||
/* winbind messages */
|
/* winbind messages */
|
||||||
#define MSG_WINBIND_FINISHED 4001
|
#define MSG_WINBIND_FINISHED 4001
|
||||||
|
|||||||
@@ -1379,7 +1379,7 @@ struct bitmap {
|
|||||||
#define FILE_READ_ONLY_VOLUME 0x00080000
|
#define FILE_READ_ONLY_VOLUME 0x00080000
|
||||||
|
|
||||||
/* ChangeNotify flags. */
|
/* ChangeNotify flags. */
|
||||||
#define FILE_NOTIFY_CHANGE_FILE 0x001
|
#define FILE_NOTIFY_CHANGE_FILE_NAME 0x001
|
||||||
#define FILE_NOTIFY_CHANGE_DIR_NAME 0x002
|
#define FILE_NOTIFY_CHANGE_DIR_NAME 0x002
|
||||||
#define FILE_NOTIFY_CHANGE_ATTRIBUTES 0x004
|
#define FILE_NOTIFY_CHANGE_ATTRIBUTES 0x004
|
||||||
#define FILE_NOTIFY_CHANGE_SIZE 0x008
|
#define FILE_NOTIFY_CHANGE_SIZE 0x008
|
||||||
@@ -1388,7 +1388,9 @@ struct bitmap {
|
|||||||
#define FILE_NOTIFY_CHANGE_CREATION 0x040
|
#define FILE_NOTIFY_CHANGE_CREATION 0x040
|
||||||
#define FILE_NOTIFY_CHANGE_EA 0x080
|
#define FILE_NOTIFY_CHANGE_EA 0x080
|
||||||
#define FILE_NOTIFY_CHANGE_SECURITY 0x100
|
#define FILE_NOTIFY_CHANGE_SECURITY 0x100
|
||||||
#define FILE_NOTIFY_CHANGE_FILE_NAME 0x200
|
#define FILE_NOTIFY_CHANGE_STREAM_NAME 0x00000200
|
||||||
|
#define FILE_NOTIFY_CHANGE_STREAM_SIZE 0x00000400
|
||||||
|
#define FILE_NOTIFY_CHANGE_STREAM_WRITE 0x00000800
|
||||||
|
|
||||||
#define FILE_NOTIFY_CHANGE_NAME \
|
#define FILE_NOTIFY_CHANGE_NAME \
|
||||||
(FILE_NOTIFY_CHANGE_FILE_NAME|FILE_NOTIFY_CHANGE_DIR_NAME)
|
(FILE_NOTIFY_CHANGE_FILE_NAME|FILE_NOTIFY_CHANGE_DIR_NAME)
|
||||||
|
|||||||
@@ -191,8 +191,8 @@ static void *fam_notify_add(TALLOC_CTX *mem_ctx,
|
|||||||
struct fam_notify_ctx *ctx;
|
struct fam_notify_ctx *ctx;
|
||||||
pstring fullpath;
|
pstring fullpath;
|
||||||
|
|
||||||
if ((*filter & FILE_NOTIFY_CHANGE_FILE) == 0) {
|
if ((*filter & FILE_NOTIFY_CHANGE_FILE_NAME) == 0) {
|
||||||
DEBUG(10, ("filter = %u, no FILE_NOTIFY_CHANGE_FILE\n",
|
DEBUG(10, ("filter = %u, no FILE_NOTIFY_CHANGE_FILE_NAME\n",
|
||||||
*filter));
|
*filter));
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
@@ -224,7 +224,7 @@ static void *fam_notify_add(TALLOC_CTX *mem_ctx,
|
|||||||
* FAMCreated and FAMDeleted events
|
* FAMCreated and FAMDeleted events
|
||||||
*/
|
*/
|
||||||
|
|
||||||
ctx->filter = FILE_NOTIFY_CHANGE_FILE;
|
ctx->filter = FILE_NOTIFY_CHANGE_FILE_NAME;
|
||||||
|
|
||||||
if (!(ctx->path = talloc_strdup(ctx, fullpath))) {
|
if (!(ctx->path = talloc_strdup(ctx, fullpath))) {
|
||||||
DEBUG(0, ("talloc_strdup failed\n"));
|
DEBUG(0, ("talloc_strdup failed\n"));
|
||||||
@@ -236,7 +236,7 @@ static void *fam_notify_add(TALLOC_CTX *mem_ctx,
|
|||||||
* Leave the rest to smbd itself
|
* Leave the rest to smbd itself
|
||||||
*/
|
*/
|
||||||
|
|
||||||
*filter &= ~FILE_NOTIFY_CHANGE_FILE;
|
*filter &= ~FILE_NOTIFY_CHANGE_FILE_NAME;
|
||||||
|
|
||||||
DLIST_ADD(fam_notify_list, ctx);
|
DLIST_ADD(fam_notify_list, ctx);
|
||||||
talloc_set_destructor(ctx, fam_notify_ctx_destructor);
|
talloc_set_destructor(ctx, fam_notify_ctx_destructor);
|
||||||
|
|||||||
@@ -147,8 +147,7 @@ static BOOL notify_hash(connection_struct *conn, char *path, uint32 flags,
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
if (flags & (FILE_NOTIFY_CHANGE_DIR_NAME
|
if (flags & (FILE_NOTIFY_CHANGE_DIR_NAME
|
||||||
|FILE_NOTIFY_CHANGE_FILE_NAME
|
|FILE_NOTIFY_CHANGE_FILE_NAME)) {
|
||||||
|FILE_NOTIFY_CHANGE_FILE)) {
|
|
||||||
int i;
|
int i;
|
||||||
unsigned char tmp_hash[16];
|
unsigned char tmp_hash[16];
|
||||||
mdfour(tmp_hash, (const unsigned char *)fname,
|
mdfour(tmp_hash, (const unsigned char *)fname,
|
||||||
|
|||||||
@@ -152,7 +152,7 @@ static int kernel_register_notify(connection_struct *conn, char *path,
|
|||||||
kernel_flags = DN_CREATE|DN_DELETE|DN_RENAME; /* creation/deletion
|
kernel_flags = DN_CREATE|DN_DELETE|DN_RENAME; /* creation/deletion
|
||||||
* changes
|
* changes
|
||||||
* everything! */
|
* everything! */
|
||||||
if (flags & FILE_NOTIFY_CHANGE_FILE) kernel_flags |= DN_MODIFY;
|
if (flags & FILE_NOTIFY_CHANGE_FILE_NAME) kernel_flags |= DN_MODIFY;
|
||||||
if (flags & FILE_NOTIFY_CHANGE_DIR_NAME) kernel_flags
|
if (flags & FILE_NOTIFY_CHANGE_DIR_NAME) kernel_flags
|
||||||
|= DN_RENAME
|
|= DN_RENAME
|
||||||
|DN_DELETE;
|
|DN_DELETE;
|
||||||
|
|||||||
@@ -1867,7 +1867,7 @@ NTSTATUS unlink_internals(connection_struct *conn, uint32 dirtype,
|
|||||||
if (SMB_VFS_UNLINK(conn,directory) == 0) {
|
if (SMB_VFS_UNLINK(conn,directory) == 0) {
|
||||||
count++;
|
count++;
|
||||||
notify_fname(conn, directory,
|
notify_fname(conn, directory,
|
||||||
FILE_NOTIFY_CHANGE_FILE,
|
FILE_NOTIFY_CHANGE_FILE_NAME,
|
||||||
NOTIFY_ACTION_REMOVED);
|
NOTIFY_ACTION_REMOVED);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -1930,7 +1930,7 @@ NTSTATUS unlink_internals(connection_struct *conn, uint32 dirtype,
|
|||||||
DEBUG(3,("unlink_internals: succesful unlink "
|
DEBUG(3,("unlink_internals: succesful unlink "
|
||||||
"[%s]\n",fname));
|
"[%s]\n",fname));
|
||||||
notify_action(conn, directory, dname,
|
notify_action(conn, directory, dname,
|
||||||
FILE_NOTIFY_CHANGE_FILE,
|
FILE_NOTIFY_CHANGE_FILE_NAME,
|
||||||
NOTIFY_ACTION_REMOVED);
|
NOTIFY_ACTION_REMOVED);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user