r24272: try to fix the build on irix...
authorStefan Metzmacher <metze@samba.org>
Tue, 7 Aug 2007 14:06:27 +0000 (14:06 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 17:29:24 +0000 (12:29 -0500)
metze
(This used to be commit dd7e94258b0fc0157d890d71f05c6fe16b6a2ea9)

source3/smbd/oplock_irix.c

index 6f2dceeddc0ff6ab1ad63df7f5e0dc0fe02b4145..75f807f86b5b9ec34ce4ea70095bf29ac9f830cf 100644 (file)
@@ -96,6 +96,7 @@ static files_struct *irix_oplock_receive_message(fd_set *fds)
        extern int smb_read_error;
        oplock_stat_t os;
        char dummy;
+       struct file_id fileid;
        files_struct *fsp;
 
        /* Ensure we only get one call per select fd set. */
@@ -137,11 +138,14 @@ static files_struct *irix_oplock_receive_message(fd_set *fds)
        /*
         * We only have device and inode info here - we have to guess that this
         * is the first fsp open with this dev,ino pair.
+        *
+        * NOTE: this doesn't work if any VFS modules overloads
+        *       the file_id_create() hook!
         */
 
-       if ((fsp = file_find_di_first(
-                    file_id_create((SMB_DEV_T)os.os_dev,
-                                   (SMB_INO_T)os.os_ino))) == NULL) {
+       fileid = file_id_create_dev((SMB_DEV_T)os.os_dev,
+                                   (SMB_INO_T)os.os_ino);
+       if ((fsp = file_find_di_first(fileid)) == NULL) {
                DEBUG(0,("irix_oplock_receive_message: unable to find open "
                         "file with dev = %x, inode = %.0f\n",
                         (unsigned int)os.os_dev, (double)os.os_ino ));