diff options
Diffstat (limited to 'libglusterfs/src/gfdb/gfdb_sqlite3_helper.c')
-rw-r--r-- | libglusterfs/src/gfdb/gfdb_sqlite3_helper.c | 43 |
1 files changed, 25 insertions, 18 deletions
diff --git a/libglusterfs/src/gfdb/gfdb_sqlite3_helper.c b/libglusterfs/src/gfdb/gfdb_sqlite3_helper.c index 14aec204917..4d925e95ef7 100644 --- a/libglusterfs/src/gfdb/gfdb_sqlite3_helper.c +++ b/libglusterfs/src/gfdb/gfdb_sqlite3_helper.c @@ -807,15 +807,18 @@ gf_sql_insert_wind (gf_sql_connection_t *sql_conn, } } - /*All fops update times read or write*/ - ret = gf_update_time (sql_conn, gfid_str, modtime, - gfdb_db_record->do_record_counters, - its_wind, - isreadfop (gfdb_db_record->gfdb_fop_type)); - if (ret) { - gf_log (GFDB_STR_SQLITE3, GF_LOG_ERROR, - "Failed update wind time in DB"); - goto out; + /* update times only when said!*/ + if (gfdb_db_record->do_record_times) { + /*All fops update times read or write*/ + ret = gf_update_time (sql_conn, gfid_str, modtime, + gfdb_db_record->do_record_counters, + its_wind, + isreadfop (gfdb_db_record->gfdb_fop_type)); + if (ret) { + gf_log (GFDB_STR_SQLITE3, GF_LOG_ERROR, + "Failed update wind time in DB"); + goto out; + } } ret = 0; @@ -851,7 +854,8 @@ gf_sql_insert_unwind (gf_sql_connection_t *sql_conn, } /*Only update if recording unwind is set*/ - if (gfdb_db_record->do_record_uwind_time) { + if (gfdb_db_record->do_record_times && + gfdb_db_record->do_record_uwind_time) { modtime = &gfdb_db_record->gfdb_unwind_change_time; ret = gf_update_time (sql_conn, gfid_str, modtime, gfdb_db_record->do_record_counters, @@ -918,16 +922,18 @@ gf_sql_update_delete_wind (gf_sql_connection_t *sql_conn, goto out; } - /*Update the wind write times*/ - modtime = &gfdb_db_record->gfdb_unwind_change_time; - ret = gf_update_time (sql_conn, gfid_str, modtime, + if (gfdb_db_record->do_record_times) { + /*Update the wind write times*/ + modtime = &gfdb_db_record->gfdb_wind_change_time; + ret = gf_update_time (sql_conn, gfid_str, modtime, gfdb_db_record->do_record_counters, _gf_true, isreadfop (gfdb_db_record->gfdb_fop_type)); - if (ret) { - gf_log (GFDB_STR_SQLITE3, GF_LOG_ERROR, - "Failed update wind time in DB"); - goto out; + if (ret) { + gf_log (GFDB_STR_SQLITE3, GF_LOG_ERROR, + "Failed update wind time in DB"); + goto out; + } } ret = gf_sql_update_link_flags (sql_conn, gfid_str, pargfid_str, @@ -989,7 +995,8 @@ gf_sql_delete_unwind (gf_sql_connection_t *sql_conn, goto out; } - if (gfdb_db_record->do_record_uwind_time) { + if (gfdb_db_record->do_record_times && + gfdb_db_record->do_record_uwind_time) { ret = gf_update_time (sql_conn, gfid_str, modtime, gfdb_db_record->do_record_counters, _gf_false, |