Whamcloud - gitweb
git://git.whamcloud.com
/
fs
/
lustre-release.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
LU-6142 obdclass: convert calls to container_of0()
[fs/lustre-release.git]
/
lustre
/
obdclass
/
scrub.c
diff --git
a/lustre/obdclass/scrub.c
b/lustre/obdclass/scrub.c
index
b2e93c6
..
fabb7bf
100644
(file)
--- a/
lustre/obdclass/scrub.c
+++ b/
lustre/obdclass/scrub.c
@@
-41,12
+41,13
@@
static inline struct dt_device *scrub_obj2dev(struct dt_object *obj)
{
static inline struct dt_device *scrub_obj2dev(struct dt_object *obj)
{
- return container_of0(obj->do_lu.lo_dev, struct dt_device, dd_lu_dev);
+ return container_of_safe(obj->do_lu.lo_dev, struct dt_device,
+ dd_lu_dev);
}
static void scrub_file_to_cpu(struct scrub_file *des, struct scrub_file *src)
{
}
static void scrub_file_to_cpu(struct scrub_file *des, struct scrub_file *src)
{
-
memcpy(des->sf_uuid, src->sf_uuid, 16
);
+
uuid_copy(&des->sf_uuid, &src->sf_uuid
);
des->sf_flags = le64_to_cpu(src->sf_flags);
des->sf_magic = le32_to_cpu(src->sf_magic);
des->sf_status = le16_to_cpu(src->sf_status);
des->sf_flags = le64_to_cpu(src->sf_flags);
des->sf_magic = le32_to_cpu(src->sf_magic);
des->sf_status = le16_to_cpu(src->sf_status);
@@
-80,7
+81,7
@@
static void scrub_file_to_cpu(struct scrub_file *des, struct scrub_file *src)
static void scrub_file_to_le(struct scrub_file *des, struct scrub_file *src)
{
static void scrub_file_to_le(struct scrub_file *des, struct scrub_file *src)
{
-
memcpy(des->sf_uuid, src->sf_uuid, 16
);
+
uuid_copy(&des->sf_uuid, &src->sf_uuid
);
des->sf_flags = cpu_to_le64(src->sf_flags);
des->sf_magic = cpu_to_le32(src->sf_magic);
des->sf_status = cpu_to_le16(src->sf_status);
des->sf_flags = cpu_to_le64(src->sf_flags);
des->sf_magic = cpu_to_le32(src->sf_magic);
des->sf_status = cpu_to_le16(src->sf_status);
@@
-112,18
+113,18
@@
static void scrub_file_to_le(struct scrub_file *des, struct scrub_file *src)
memcpy(des->sf_oi_bitmap, src->sf_oi_bitmap, SCRUB_OI_BITMAP_SIZE);
}
memcpy(des->sf_oi_bitmap, src->sf_oi_bitmap, SCRUB_OI_BITMAP_SIZE);
}
-void scrub_file_init(struct lustre_scrub *scrub,
__u8 *
uuid)
+void scrub_file_init(struct lustre_scrub *scrub,
uuid_t
uuid)
{
struct scrub_file *sf = &scrub->os_file;
memset(sf, 0, sizeof(*sf));
{
struct scrub_file *sf = &scrub->os_file;
memset(sf, 0, sizeof(*sf));
-
memcpy(sf->sf_uuid, uuid, 16
);
+
uuid_copy(&sf->sf_uuid, &uuid
);
sf->sf_magic = SCRUB_MAGIC_V1;
sf->sf_status = SS_INIT;
}
EXPORT_SYMBOL(scrub_file_init);
sf->sf_magic = SCRUB_MAGIC_V1;
sf->sf_status = SS_INIT;
}
EXPORT_SYMBOL(scrub_file_init);
-void scrub_file_reset(struct lustre_scrub *scrub,
__u8 *uuid, __
u64 flags)
+void scrub_file_reset(struct lustre_scrub *scrub,
uuid_t uuid,
u64 flags)
{
struct scrub_file *sf = &scrub->os_file;
{
struct scrub_file *sf = &scrub->os_file;
@@
-131,7
+132,7
@@
void scrub_file_reset(struct lustre_scrub *scrub, __u8 *uuid, __u64 flags)
"%#llx, add flags = %#llx\n",
scrub->os_name, sf->sf_flags, flags);
"%#llx, add flags = %#llx\n",
scrub->os_name, sf->sf_flags, flags);
-
memcpy(sf->sf_uuid, uuid, 16
);
+
uuid_copy(&sf->sf_uuid, &uuid
);
sf->sf_status = SS_INIT;
sf->sf_flags |= flags;
sf->sf_flags &= ~SF_AUTO;
sf->sf_status = SS_INIT;
sf->sf_flags |= flags;
sf->sf_flags &= ~SF_AUTO;
@@
-275,7
+276,6
@@
int scrub_start(int (*threadfn)(void *data), struct lustre_scrub *scrub,
void *data, __u32 flags)
{
struct ptlrpc_thread *thread = &scrub->os_thread;
void *data, __u32 flags)
{
struct ptlrpc_thread *thread = &scrub->os_thread;
- struct l_wait_info lwi = { 0 };
struct task_struct *task;
int rc;
ENTRY;
struct task_struct *task;
int rc;
ENTRY;
@@
-290,9
+290,8
@@
again:
if (unlikely(thread_is_stopping(thread))) {
spin_unlock(&scrub->os_lock);
if (unlikely(thread_is_stopping(thread))) {
spin_unlock(&scrub->os_lock);
- l_wait_event(thread->t_ctl_waitq,
- thread_is_stopped(thread),
- &lwi);
+ wait_event_idle(thread->t_ctl_waitq,
+ thread_is_stopped(thread));
goto again;
}
spin_unlock(&scrub->os_lock);
goto again;
}
spin_unlock(&scrub->os_lock);
@@
-317,9
+316,8
@@
again:
RETURN(rc);
}
RETURN(rc);
}
- l_wait_event(thread->t_ctl_waitq,
- thread_is_running(thread) || thread_is_stopped(thread),
- &lwi);
+ wait_event_idle(thread->t_ctl_waitq,
+ thread_is_running(thread) || thread_is_stopped(thread));
RETURN(0);
}
RETURN(0);
}
@@
-328,7
+326,6
@@
EXPORT_SYMBOL(scrub_start);
void scrub_stop(struct lustre_scrub *scrub)
{
struct ptlrpc_thread *thread = &scrub->os_thread;
void scrub_stop(struct lustre_scrub *scrub)
{
struct ptlrpc_thread *thread = &scrub->os_thread;
- struct l_wait_info lwi = { 0 };
/* os_lock: sync status between stop and scrub thread */
spin_lock(&scrub->os_lock);
/* os_lock: sync status between stop and scrub thread */
spin_lock(&scrub->os_lock);
@@
-336,9
+333,8
@@
void scrub_stop(struct lustre_scrub *scrub)
thread_set_flags(thread, SVC_STOPPING);
spin_unlock(&scrub->os_lock);
wake_up_all(&thread->t_ctl_waitq);
thread_set_flags(thread, SVC_STOPPING);
spin_unlock(&scrub->os_lock);
wake_up_all(&thread->t_ctl_waitq);
- l_wait_event(thread->t_ctl_waitq,
- thread_is_stopped(thread),
- &lwi);
+ wait_event_idle(thread->t_ctl_waitq,
+ thread_is_stopped(thread));
/* Do not skip the last lock/unlock, which can guarantee that
* the caller cannot return until the OI scrub thread exit. */
spin_lock(&scrub->os_lock);
/* Do not skip the last lock/unlock, which can guarantee that
* the caller cannot return until the OI scrub thread exit. */
spin_lock(&scrub->os_lock);
@@
-380,7
+376,7
@@
static void scrub_bits_dump(struct seq_file *m, int bits, const char *names[],
seq_printf(m, "%s:%c", prefix, bits != 0 ? ' ' : '\n');
seq_printf(m, "%s:%c", prefix, bits != 0 ? ' ' : '\n');
- for (i = 0, flag = 1; bits != 0; i++, flag =
1 << i
) {
+ for (i = 0, flag = 1; bits != 0; i++, flag =
BIT(i)
) {
if (flag & bits) {
bits &= ~flag;
seq_printf(m, "%s%c", names[i],
if (flag & bits) {
bits &= ~flag;
seq_printf(m, "%s%c", names[i],
@@
-479,7
+475,7
@@
void scrub_dump(struct seq_file *m, struct lustre_scrub *scrub)
seq_printf(m, "run_time: %lld seconds\n"
"average_speed: %lld objects/sec\n"
seq_printf(m, "run_time: %lld seconds\n"
"average_speed: %lld objects/sec\n"
- "real
-
time_speed: %lld objects/sec\n"
+ "real
_
time_speed: %lld objects/sec\n"
"current_position: %llu\n"
"scrub_in_prior: %s\n"
"scrub_full_speed: %s\n"
"current_position: %llu\n"
"scrub_in_prior: %s\n"
"scrub_full_speed: %s\n"
@@
-492,9
+488,9
@@
void scrub_dump(struct seq_file *m, struct lustre_scrub *scrub)
} else {
if (sf->sf_run_time != 0)
speed = div_s64(speed, sf->sf_run_time);
} else {
if (sf->sf_run_time != 0)
speed = div_s64(speed, sf->sf_run_time);
- seq_printf(m, "run_time: %
l
d seconds\n"
+ seq_printf(m, "run_time: %d seconds\n"
"average_speed: %lld objects/sec\n"
"average_speed: %lld objects/sec\n"
- "real
-
time_speed: N/A\n"
+ "real
_
time_speed: N/A\n"
"current_position: N/A\n",
sf->sf_run_time, speed);
}
"current_position: N/A\n",
sf->sf_run_time, speed);
}