summaryrefslogtreecommitdiff
path: root/source3/smbd/fileio.c
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2009-07-01 17:39:10 -0700
committerJeremy Allison <jra@samba.org>2009-07-01 17:39:10 -0700
commit82b5fad8be2cf05c17d115fa86c1049a41fae75b (patch)
treee60d57015d1515920b2a3523664f8014f55d5b59 /source3/smbd/fileio.c
parentb971860e01a3e616b0dd21990c054c8f8356f513 (diff)
downloadsamba-82b5fad8be2cf05c17d115fa86c1049a41fae75b.tar.gz
samba-82b5fad8be2cf05c17d115fa86c1049a41fae75b.tar.bz2
samba-82b5fad8be2cf05c17d115fa86c1049a41fae75b.zip
Ensure we don't use delayed writes on POSIX opened files.
Don't remove pending writetime changes if no time changes are sent in UNIX_BASIC infolevel. Jeremy
Diffstat (limited to 'source3/smbd/fileio.c')
-rw-r--r--source3/smbd/fileio.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/source3/smbd/fileio.c b/source3/smbd/fileio.c
index 843b3f9586..5cc3d4b88b 100644
--- a/source3/smbd/fileio.c
+++ b/source3/smbd/fileio.c
@@ -193,6 +193,11 @@ void trigger_write_time_update(struct files_struct *fsp)
{
int delay;
+ if (fsp->posix_open) {
+ /* Don't use delayed writes on POSIX files. */
+ return;
+ }
+
if (fsp->write_time_forced) {
/* No point - "sticky" write times
* in effect.
@@ -224,6 +229,11 @@ void trigger_write_time_update(struct files_struct *fsp)
void trigger_write_time_update_immediate(struct files_struct *fsp)
{
+ if (fsp->posix_open) {
+ /* Don't use delayed writes on POSIX files. */
+ return;
+ }
+
if (fsp->write_time_forced) {
/*
* No point - "sticky" write times