r21079: Minimizing diff: Adopt the Samba4 style ChangeNotify flags.
authorVolker Lendecke <vlendec@samba.org>
Wed, 31 Jan 2007 12:42:24 +0000 (12:42 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 17:17:33 +0000 (12:17 -0500)
Volker

source/include/messages.h
source/include/smb.h
source/smbd/notify_fam.c
source/smbd/notify_hash.c
source/smbd/notify_kernel.c
source/smbd/reply.c

index ead5fb08c29ee93214b28de6af0e509979aa5b78..7cd0e0234873274a1e52ddc4680a2d609fe750e4 100644 (file)
 #define MSG_SMB_BLOCKING_LOCK_CANCEL 3013
 #define MSG_SMB_NOTIFY       3014
 #define MSG_SMB_STAT_CACHE_DELETE 3015
+/*
+ * Samba4 compatibility
+ */
+#define MSG_PVFS_NOTIFY       3016
 
 /* winbind messages */
 #define MSG_WINBIND_FINISHED     4001
index 48d0e0cf6fa08cabe679c63b06befeb216091e9d..3af3dd63dc5511dc3a54b0e3e6d6a89dde712f37 100644 (file)
@@ -1379,7 +1379,7 @@ struct bitmap {
 #define FILE_READ_ONLY_VOLUME           0x00080000
 
 /* 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_ATTRIBUTES  0x004
 #define FILE_NOTIFY_CHANGE_SIZE        0x008
@@ -1388,7 +1388,9 @@ struct bitmap {
 #define FILE_NOTIFY_CHANGE_CREATION    0x040
 #define FILE_NOTIFY_CHANGE_EA          0x080
 #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 \
        (FILE_NOTIFY_CHANGE_FILE_NAME|FILE_NOTIFY_CHANGE_DIR_NAME)
index 306316e49f7b250b7f6b087ad0f14b05c483473f..aba1f5dcb30d7678392ad07ba3768859094fb6fd 100644 (file)
@@ -191,8 +191,8 @@ static void *fam_notify_add(TALLOC_CTX *mem_ctx,
        struct fam_notify_ctx *ctx;
        pstring fullpath;
 
-       if ((*filter & FILE_NOTIFY_CHANGE_FILE) == 0) {
-               DEBUG(10, ("filter = %u, no FILE_NOTIFY_CHANGE_FILE\n",
+       if ((*filter & FILE_NOTIFY_CHANGE_FILE_NAME) == 0) {
+               DEBUG(10, ("filter = %u, no FILE_NOTIFY_CHANGE_FILE_NAME\n",
                           *filter));
                return NULL;
        }
@@ -224,7 +224,7 @@ static void *fam_notify_add(TALLOC_CTX *mem_ctx,
         * FAMCreated and FAMDeleted events
         */
 
-       ctx->filter = FILE_NOTIFY_CHANGE_FILE;
+       ctx->filter = FILE_NOTIFY_CHANGE_FILE_NAME;
 
        if (!(ctx->path = talloc_strdup(ctx, fullpath))) {
                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
         */
 
-       *filter &= ~FILE_NOTIFY_CHANGE_FILE;
+       *filter &= ~FILE_NOTIFY_CHANGE_FILE_NAME;
 
        DLIST_ADD(fam_notify_list, ctx);
        talloc_set_destructor(ctx, fam_notify_ctx_destructor);
index 773a7565c563942c2cb041f1458d02815575af60..5f563419bddc54945e036399bed26f0f48b04115 100644 (file)
@@ -147,8 +147,7 @@ static BOOL notify_hash(connection_struct *conn, char *path, uint32 flags,
                 */
 
                if (flags & (FILE_NOTIFY_CHANGE_DIR_NAME
-                            |FILE_NOTIFY_CHANGE_FILE_NAME
-                            |FILE_NOTIFY_CHANGE_FILE)) {
+                            |FILE_NOTIFY_CHANGE_FILE_NAME)) {
                        int i;
                        unsigned char tmp_hash[16];
                        mdfour(tmp_hash, (const unsigned char *)fname,
index 0b5784f3d05818d46d9dac037a900336679defdf..f90414dc798ad3c0df0de5ff089a266490888100 100644 (file)
@@ -152,7 +152,7 @@ static int kernel_register_notify(connection_struct *conn, char *path,
        kernel_flags = DN_CREATE|DN_DELETE|DN_RENAME; /* creation/deletion
                                                       * changes
                                                       * 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
                                                            |= DN_RENAME
                                                            |DN_DELETE;
index a1edce935d196d110649e9a83af3b02a44db91f9..b0bddc03f633d9238349b36e521d558db86ada4b 100644 (file)
@@ -1867,7 +1867,7 @@ NTSTATUS unlink_internals(connection_struct *conn, uint32 dirtype,
                if (SMB_VFS_UNLINK(conn,directory) == 0) {
                        count++;
                        notify_fname(conn, directory,
-                                    FILE_NOTIFY_CHANGE_FILE,
+                                    FILE_NOTIFY_CHANGE_FILE_NAME,
                                     NOTIFY_ACTION_REMOVED);
                }
        } else {
@@ -1930,7 +1930,7 @@ NTSTATUS unlink_internals(connection_struct *conn, uint32 dirtype,
                                DEBUG(3,("unlink_internals: succesful unlink "
                                         "[%s]\n",fname));
                                notify_action(conn, directory, dname,
-                                             FILE_NOTIFY_CHANGE_FILE,
+                                             FILE_NOTIFY_CHANGE_FILE_NAME,
                                              NOTIFY_ACTION_REMOVED);
                        }