mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-06 00:39:48 +00:00
bcachefs: Set the last mount time using the realtime clock
This way the last mount time is actually meaningful instead of just being various times from 1970 (which happens with the monotonic clock). Also, roundup_pow_of_two() is undefined when passed in 0, so check before calling it. Signed-off-by: Tim Schlueter <schlueter.tim@linux.com> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
This commit is contained in:
parent
4628529f15
commit
a420eea689
2 changed files with 6 additions and 4 deletions
|
@ -13,7 +13,9 @@ struct { \
|
|||
#define DECLARE_FIFO(type, name) FIFO(type) name
|
||||
|
||||
#define fifo_buf_size(fifo) \
|
||||
(roundup_pow_of_two((fifo)->size) * sizeof((fifo)->data[0]))
|
||||
((fifo)->size \
|
||||
? roundup_pow_of_two((fifo)->size) * sizeof((fifo)->data[0]) \
|
||||
: 0)
|
||||
|
||||
#define init_fifo(fifo, _size, _gfp) \
|
||||
({ \
|
||||
|
|
|
@ -654,7 +654,7 @@ const char *bch2_fs_start(struct bch_fs *c)
|
|||
const char *err = "cannot allocate memory";
|
||||
struct bch_sb_field_members *mi;
|
||||
struct bch_dev *ca;
|
||||
time64_t now = ktime_get_seconds();
|
||||
time64_t now = ktime_get_real_seconds();
|
||||
unsigned i;
|
||||
int ret = -EINVAL;
|
||||
|
||||
|
@ -1418,7 +1418,7 @@ int bch2_dev_add(struct bch_fs *c, const char *path)
|
|||
/* success: */
|
||||
|
||||
mi->members[dev_idx] = dev_mi;
|
||||
mi->members[dev_idx].last_mount = cpu_to_le64(ktime_get_seconds());
|
||||
mi->members[dev_idx].last_mount = cpu_to_le64(ktime_get_real_seconds());
|
||||
c->disk_sb.sb->nr_devices = nr_devices;
|
||||
|
||||
ca->disk_sb.sb->dev_idx = dev_idx;
|
||||
|
@ -1494,7 +1494,7 @@ int bch2_dev_online(struct bch_fs *c, const char *path)
|
|||
mi = bch2_sb_get_members(c->disk_sb.sb);
|
||||
|
||||
mi->members[ca->dev_idx].last_mount =
|
||||
cpu_to_le64(ktime_get_seconds());
|
||||
cpu_to_le64(ktime_get_real_seconds());
|
||||
|
||||
bch2_write_super(c);
|
||||
mutex_unlock(&c->sb_lock);
|
||||
|
|
Loading…
Reference in a new issue