btrfs: replace get_seconds with new 64bit time API
The get_seconds() function is deprecated as it truncates the timestamp to 32 bits. Change it to or ktime_get_real_seconds(). Signed-off-by: Allen Pais <allen.lkml@gmail.com> Reviewed-by: David Sterba <dsterba@suse.com> [ update changelog ] Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
1ffaddd029
commit
a944442c2b
|
@ -342,8 +342,8 @@ struct btrfs_path {
|
||||||
sizeof(struct btrfs_item))
|
sizeof(struct btrfs_item))
|
||||||
struct btrfs_dev_replace {
|
struct btrfs_dev_replace {
|
||||||
u64 replace_state; /* see #define above */
|
u64 replace_state; /* see #define above */
|
||||||
u64 time_started; /* seconds since 1-Jan-1970 */
|
time64_t time_started; /* seconds since 1-Jan-1970 */
|
||||||
u64 time_stopped; /* seconds since 1-Jan-1970 */
|
time64_t time_stopped; /* seconds since 1-Jan-1970 */
|
||||||
atomic64_t num_write_errors;
|
atomic64_t num_write_errors;
|
||||||
atomic64_t num_uncorrectable_read_errors;
|
atomic64_t num_uncorrectable_read_errors;
|
||||||
|
|
||||||
|
|
|
@ -465,7 +465,7 @@ int btrfs_dev_replace_start(struct btrfs_fs_info *fs_info,
|
||||||
* go to the tgtdev as well (refer to btrfs_map_block()).
|
* go to the tgtdev as well (refer to btrfs_map_block()).
|
||||||
*/
|
*/
|
||||||
dev_replace->replace_state = BTRFS_IOCTL_DEV_REPLACE_STATE_STARTED;
|
dev_replace->replace_state = BTRFS_IOCTL_DEV_REPLACE_STATE_STARTED;
|
||||||
dev_replace->time_started = get_seconds();
|
dev_replace->time_started = ktime_get_real_seconds();
|
||||||
dev_replace->cursor_left = 0;
|
dev_replace->cursor_left = 0;
|
||||||
dev_replace->committed_cursor_left = 0;
|
dev_replace->committed_cursor_left = 0;
|
||||||
dev_replace->cursor_left_last_write_of_item = 0;
|
dev_replace->cursor_left_last_write_of_item = 0;
|
||||||
|
@ -618,7 +618,7 @@ static int btrfs_dev_replace_finishing(struct btrfs_fs_info *fs_info,
|
||||||
: BTRFS_IOCTL_DEV_REPLACE_STATE_FINISHED;
|
: BTRFS_IOCTL_DEV_REPLACE_STATE_FINISHED;
|
||||||
dev_replace->tgtdev = NULL;
|
dev_replace->tgtdev = NULL;
|
||||||
dev_replace->srcdev = NULL;
|
dev_replace->srcdev = NULL;
|
||||||
dev_replace->time_stopped = get_seconds();
|
dev_replace->time_stopped = ktime_get_real_seconds();
|
||||||
dev_replace->item_needs_writeback = 1;
|
dev_replace->item_needs_writeback = 1;
|
||||||
|
|
||||||
/* replace old device with new one in mapping tree */
|
/* replace old device with new one in mapping tree */
|
||||||
|
@ -807,7 +807,7 @@ int btrfs_dev_replace_cancel(struct btrfs_fs_info *fs_info)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
dev_replace->replace_state = BTRFS_IOCTL_DEV_REPLACE_STATE_CANCELED;
|
dev_replace->replace_state = BTRFS_IOCTL_DEV_REPLACE_STATE_CANCELED;
|
||||||
dev_replace->time_stopped = get_seconds();
|
dev_replace->time_stopped = ktime_get_real_seconds();
|
||||||
dev_replace->item_needs_writeback = 1;
|
dev_replace->item_needs_writeback = 1;
|
||||||
btrfs_dev_replace_write_unlock(dev_replace);
|
btrfs_dev_replace_write_unlock(dev_replace);
|
||||||
btrfs_scrub_cancel(fs_info);
|
btrfs_scrub_cancel(fs_info);
|
||||||
|
@ -848,7 +848,7 @@ void btrfs_dev_replace_suspend_for_unmount(struct btrfs_fs_info *fs_info)
|
||||||
case BTRFS_IOCTL_DEV_REPLACE_STATE_STARTED:
|
case BTRFS_IOCTL_DEV_REPLACE_STATE_STARTED:
|
||||||
dev_replace->replace_state =
|
dev_replace->replace_state =
|
||||||
BTRFS_IOCTL_DEV_REPLACE_STATE_SUSPENDED;
|
BTRFS_IOCTL_DEV_REPLACE_STATE_SUSPENDED;
|
||||||
dev_replace->time_stopped = get_seconds();
|
dev_replace->time_stopped = ktime_get_real_seconds();
|
||||||
dev_replace->item_needs_writeback = 1;
|
dev_replace->item_needs_writeback = 1;
|
||||||
btrfs_info(fs_info, "suspending dev_replace for unmount");
|
btrfs_info(fs_info, "suspending dev_replace for unmount");
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -1803,7 +1803,7 @@ static int transaction_kthread(void *arg)
|
||||||
struct btrfs_trans_handle *trans;
|
struct btrfs_trans_handle *trans;
|
||||||
struct btrfs_transaction *cur;
|
struct btrfs_transaction *cur;
|
||||||
u64 transid;
|
u64 transid;
|
||||||
unsigned long now;
|
time64_t now;
|
||||||
unsigned long delay;
|
unsigned long delay;
|
||||||
bool cannot_commit;
|
bool cannot_commit;
|
||||||
|
|
||||||
|
@ -1819,7 +1819,7 @@ static int transaction_kthread(void *arg)
|
||||||
goto sleep;
|
goto sleep;
|
||||||
}
|
}
|
||||||
|
|
||||||
now = get_seconds();
|
now = ktime_get_real_seconds();
|
||||||
if (cur->state < TRANS_STATE_BLOCKED &&
|
if (cur->state < TRANS_STATE_BLOCKED &&
|
||||||
!test_bit(BTRFS_FS_NEED_ASYNC_COMMIT, &fs_info->flags) &&
|
!test_bit(BTRFS_FS_NEED_ASYNC_COMMIT, &fs_info->flags) &&
|
||||||
(now < cur->start_time ||
|
(now < cur->start_time ||
|
||||||
|
|
|
@ -241,7 +241,7 @@ static noinline int join_transaction(struct btrfs_fs_info *fs_info,
|
||||||
refcount_set(&cur_trans->use_count, 2);
|
refcount_set(&cur_trans->use_count, 2);
|
||||||
atomic_set(&cur_trans->pending_ordered, 0);
|
atomic_set(&cur_trans->pending_ordered, 0);
|
||||||
cur_trans->flags = 0;
|
cur_trans->flags = 0;
|
||||||
cur_trans->start_time = get_seconds();
|
cur_trans->start_time = ktime_get_real_seconds();
|
||||||
|
|
||||||
memset(&cur_trans->delayed_refs, 0, sizeof(cur_trans->delayed_refs));
|
memset(&cur_trans->delayed_refs, 0, sizeof(cur_trans->delayed_refs));
|
||||||
|
|
||||||
|
|
|
@ -48,7 +48,7 @@ struct btrfs_transaction {
|
||||||
int aborted;
|
int aborted;
|
||||||
struct list_head list;
|
struct list_head list;
|
||||||
struct extent_io_tree dirty_pages;
|
struct extent_io_tree dirty_pages;
|
||||||
unsigned long start_time;
|
time64_t start_time;
|
||||||
wait_queue_head_t writer_wait;
|
wait_queue_head_t writer_wait;
|
||||||
wait_queue_head_t commit_wait;
|
wait_queue_head_t commit_wait;
|
||||||
wait_queue_head_t pending_wait;
|
wait_queue_head_t pending_wait;
|
||||||
|
|
Loading…
Reference in New Issue