pvfs: add posix:oplocktimeout=30 option
authorStefan Metzmacher <metze@samba.org>
Mon, 25 Feb 2008 18:17:45 +0000 (19:17 +0100)
committerStefan Metzmacher <metze@samba.org>
Tue, 26 Feb 2008 08:32:59 +0000 (09:32 +0100)
metze
(This used to be commit 5abc57ddab558c13db3864d13afc2ad3b1641d1c)

source4/ntvfs/posix/vfs_posix.c
source4/ntvfs/posix/vfs_posix.h

index e058e6f546d64167e6fd81e1cefb436f7d5f8966..ca874d1db1f0551a901c5a39cafe00a481f3f5f3 100644 (file)
@@ -91,6 +91,10 @@ static void pvfs_setup_options(struct pvfs_state *pvfs)
                                                        PVFS_SHARE_DELAY,
                                                        PVFS_SHARE_DELAY_DEFAULT);
 
+       pvfs->oplock_break_timeout = share_int_option(scfg,
+                                                     PVFS_OPLOCK_TIMEOUT,
+                                                     PVFS_OPLOCK_TIMEOUT_DEFAULT);
+
        pvfs->share_name = talloc_strdup(pvfs, scfg->name);
 
        pvfs->fs_attribs = 
index 72469505ccc192cc955b53fdc3e16f3239eb243c..4d22a917149c7d0f7aff4c6c21d53b7de1640a1c 100644 (file)
@@ -52,9 +52,12 @@ struct pvfs_state {
           ntcancel */
        struct pvfs_wait *wait_list;
 
-       /* the sharing violation timeout */
+       /* the sharing violation timeout (nsecs) */
        uint_t sharing_violation_delay;
 
+       /* the oplock break timeout (secs) */
+       uint_t oplock_break_timeout;
+
        /* filesystem attributes (see FS_ATTR_*) */
        uint32_t fs_attribs;
 
@@ -247,6 +250,7 @@ struct pvfs_odb_retry;
 #define PVFS_XATTR                     "posix:xattr"
 #define PVFS_FAKE_OPLOCKS              "posix:fakeoplocks"
 #define PVFS_SHARE_DELAY               "posix:sharedelay"
+#define PVFS_OPLOCK_TIMEOUT            "posix:oplocktimeout"
 #define PVFS_ALLOCATION_ROUNDING       "posix:allocationrounding"
 #define PVFS_SEARCH_INACTIVITY         "posix:searchinactivity"
 #define PVFS_ACL                       "posix:acl"
@@ -254,7 +258,8 @@ struct pvfs_odb_retry;
 
 #define PVFS_XATTR_DEFAULT                     true
 #define PVFS_FAKE_OPLOCKS_DEFAULT              false
-#define PVFS_SHARE_DELAY_DEFAULT               1000000
+#define PVFS_SHARE_DELAY_DEFAULT               1000000 /* nsecs */
+#define PVFS_OPLOCK_TIMEOUT_DEFAULT            30 /* secs */
 #define PVFS_ALLOCATION_ROUNDING_DEFAULT       512
 #define PVFS_SEARCH_INACTIVITY_DEFAULT         300