Ignore:
Timestamp:
May 20, 2009, 6:46:53 PM (16 years ago)
Author:
Herwig Bauernfeind
Message:

Update 3.2 branch to 3.2.4

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/samba-3.2.x/source/smbd/fileio.c

    r133 r204  
    177177                                      void *private_data)
    178178{
    179        files_struct *fsp = (files_struct *)private_data;
    180 
    181        /* Remove the timed event handler. */
    182        TALLOC_FREE(fsp->update_write_time_event);
    183        DEBUG(5, ("Update write time on %s\n", fsp->fsp_name));
    184 
    185        /* change the write time if not already changed by someoneelse */
    186        set_write_time_fsp(fsp, timespec_current(), false);
    187 }
     179        files_struct *fsp = (files_struct *)private_data;
     180
     181        /* Remove the timed event handler. */
     182        TALLOC_FREE(fsp->update_write_time_event);
     183        DEBUG(5, ("Update write time on %s\n", fsp->fsp_name));
     184
     185        /* change the write time if not already changed by someone else */
     186        update_write_time(fsp);
     187}
     188
     189/*********************************************************
     190 Schedule a write time update for WRITE_TIME_UPDATE_USEC_DELAY
     191 in the future.
     192*********************************************************/
    188193
    189194void trigger_write_time_update(struct files_struct *fsp)
     
    192197
    193198        if (fsp->write_time_forced) {
     199                /* No point - "sticky" write times
     200                 * in effect.
     201                 */
    194202                return;
    195203        }
    196204
    197205        if (fsp->update_write_time_triggered) {
     206                /*
     207                 * We only update the write time
     208                 * on the first write. After that
     209                 * no other writes affect this.
     210                 */
    198211                return;
    199212        }
     
    211224                                "update_write_time_handler",
    212225                                update_write_time_handler, fsp);
     226}
     227
     228void trigger_write_time_update_immediate(struct files_struct *fsp)
     229{
     230        if (fsp->write_time_forced) {
     231                /*
     232                 * No point - "sticky" write times
     233                 * in effect.
     234                 */
     235                return;
     236        }
     237
     238        TALLOC_FREE(fsp->update_write_time_event);
     239        DEBUG(5, ("Update write time immediate on %s\n", fsp->fsp_name));
     240
     241        fsp->update_write_time_triggered = true;
     242
     243        fsp->update_write_time_on_close = false;
     244        update_write_time(fsp);
    213245}
    214246
Note: See TracChangeset for help on using the changeset viewer.