X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=lustre%2Fosd-ldiskfs%2Fosd_scrub.c;h=352cdb82730cf109a976d2c86c9060e818803b31;hp=7e58c2063aa0a20e96ecf3c0ed7083fdc90bff5d;hb=773c6672533f680f51c2632cefb4249a6190d269;hpb=0d8a372d30572077fbf943c7d3f32e3d5d7ee3d5 diff --git a/lustre/osd-ldiskfs/osd_scrub.c b/lustre/osd-ldiskfs/osd_scrub.c index 7e58c20..352cdb8 100644 --- a/lustre/osd-ldiskfs/osd_scrub.c +++ b/lustre/osd-ldiskfs/osd_scrub.c @@ -950,6 +950,9 @@ again: } cfs_spin_unlock(&scrub->os_lock); + if (scrub->os_file.sf_status == SS_COMPLETED) + flags |= SS_RESET; + scrub->os_start_flags = flags; thread_set_flags(thread, 0); rc = cfs_create_thread(osd_scrub_main, dev, 0); @@ -968,16 +971,12 @@ again: int osd_scrub_start(struct osd_device *dev) { - __u32 flags = SS_AUTO; - int rc; + int rc; ENTRY; - if (dev->od_scrub.os_file.sf_status == SS_COMPLETED) - flags |= SS_RESET; - /* od_otable_mutex: prevent curcurrent start/stop */ cfs_mutex_lock(&dev->od_otable_mutex); - rc = do_osd_scrub_start(dev, flags); + rc = do_osd_scrub_start(dev, SS_AUTO); cfs_mutex_unlock(&dev->od_otable_mutex); RETURN(rc == -EALREADY ? 0 : rc);