summaryrefslogtreecommitdiff
path: root/source3/smbd/oplock_irix.c
diff options
context:
space:
mode:
authorTim Prouty <tprouty@samba.org>2009-02-15 23:38:53 -0800
committerTim Prouty <tprouty@samba.org>2009-02-19 20:58:01 -0800
commit6fbebb5369211b72545a1dd588bc6b9fa04210a1 (patch)
treeb095dd3cc88369ec8f1e6e3af6b033990998b17f /source3/smbd/oplock_irix.c
parent669f2a02e29195aaba8cb2f3e50cb2ce66b904a6 (diff)
downloadsamba-6fbebb5369211b72545a1dd588bc6b9fa04210a1.tar.gz
samba-6fbebb5369211b72545a1dd588bc6b9fa04210a1.tar.bz2
samba-6fbebb5369211b72545a1dd588bc6b9fa04210a1.zip
s3: Modify SMB_VFS_FILE_ID_CREATE to take a stat struct
Since file_id_create_dev is incompatible with the concept of file_ids, it is now static and in the one file that needs it.
Diffstat (limited to 'source3/smbd/oplock_irix.c')
-rw-r--r--source3/smbd/oplock_irix.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/source3/smbd/oplock_irix.c b/source3/smbd/oplock_irix.c
index bbc9132a08..89b8e0f7b5 100644
--- a/source3/smbd/oplock_irix.c
+++ b/source3/smbd/oplock_irix.c
@@ -103,6 +103,24 @@ static bool irix_oplocks_available(void)
return True;
}
+/*
+ * This is bad because the file_id should always be created through the vfs
+ * layer! Unfortunately, a conn struct isn't available here.
+ */
+static struct file_id file_id_create_dev(SMB_DEV_T dev, SMB_INO_T inode)
+{
+ struct file_id key;
+
+ /* the ZERO_STRUCT ensures padding doesn't break using the key as a
+ * blob */
+ ZERO_STRUCT(key);
+
+ key.devid = dev;
+ key.inode = inode;
+
+ return key;
+}
+
/****************************************************************************
* Deal with the IRIX kernel <--> smbd
* oplock break protocol.