> On 21 Jul 2017, at 17:20, Yanhu Cao <gmayyyha@xxxxxxxxx> wrote: > > kernel client is still sending write,startsync. > that startsync is a no-op (has been for years) and can probably be removed > > Link: http://tracker.ceph.com/issues/20604 > > Signed-off-by: Yanhu Cao <gmayyyha@xxxxxxxxx> > --- > fs/ceph/addr.c | 9 ++------- > fs/ceph/file.c | 5 +---- > include/linux/ceph/rados.h | 1 - > net/ceph/osd_client.c | 5 ----- > 4 files changed, 3 insertions(+), 17 deletions(-) > > diff --git a/fs/ceph/addr.c b/fs/ceph/addr.c > index 5083628..f9a1805 100644 > --- a/fs/ceph/addr.c > +++ b/fs/ceph/addr.c > @@ -939,7 +939,7 @@ static int ceph_writepages_start(struct address_space *mapping, > break; > } > > - num_ops = 1 + do_sync; > + num_ops = 1; > strip_unit_end = page->index + > ((len - 1) >> PAGE_SHIFT); > > @@ -1045,7 +1045,7 @@ static int ceph_writepages_start(struct address_space *mapping, > for (i = 0; i < locked_pages; i++) { > u64 cur_offset = page_offset(pages[i]); > if (offset + len != cur_offset) { > - if (op_idx + do_sync + 1 == req->r_num_ops) > + if (op_idx + 1 == req->r_num_ops) > break; > osd_req_op_extent_dup_last(req, op_idx, > cur_offset - offset); > @@ -1082,17 +1082,12 @@ static int ceph_writepages_start(struct address_space *mapping, > 0, !!pool, false); > osd_req_op_extent_update(req, op_idx, len); > > - if (do_sync) { > - op_idx++; > - osd_req_op_init(req, op_idx, CEPH_OSD_OP_STARTSYNC, 0); > - } > BUG_ON(op_idx + 1 != req->r_num_ops); > > pool = NULL; > if (i < locked_pages) { > BUG_ON(num_ops <= req->r_num_ops); > num_ops -= req->r_num_ops; > - num_ops += do_sync; > locked_pages -= i; > > /* allocate new pages array for next request */ > diff --git a/fs/ceph/file.c b/fs/ceph/file.c > index 3d48c41..405c99b 100644 > --- a/fs/ceph/file.c > +++ b/fs/ceph/file.c > @@ -800,7 +800,6 @@ static void ceph_aio_retry_work(struct work_struct *work) > } > > req->r_ops[0] = orig_req->r_ops[0]; > - osd_req_op_init(req, 1, CEPH_OSD_OP_STARTSYNC, 0); > > req->r_mtime = aio_req->mtime; > req->r_data_offset = req->r_ops[0].extent.offset; > @@ -874,8 +873,7 @@ static void ceph_aio_retry_work(struct work_struct *work) > vino = ceph_vino(inode); > req = ceph_osdc_new_request(&fsc->client->osdc, &ci->i_layout, > vino, pos, &size, 0, > - /*include a 'startsync' command*/ > - write ? 2 : 1, > + 1, > write ? CEPH_OSD_OP_WRITE : > CEPH_OSD_OP_READ, > flags, snapc, > @@ -922,7 +920,6 @@ static void ceph_aio_retry_work(struct work_struct *work) > truncate_inode_pages_range(inode->i_mapping, pos, > (pos+len) | (PAGE_SIZE - 1)); > > - osd_req_op_init(req, 1, CEPH_OSD_OP_STARTSYNC, 0); > req->r_mtime = mtime; > } > > diff --git a/include/linux/ceph/rados.h b/include/linux/ceph/rados.h > index 385db08..ba5adf0 100644 > --- a/include/linux/ceph/rados.h > +++ b/include/linux/ceph/rados.h > @@ -226,7 +226,6 @@ struct ceph_eversion { > \ > /* fancy write */ \ > f(APPEND, __CEPH_OSD_OP(WR, DATA, 6), "append") \ > - f(STARTSYNC, __CEPH_OSD_OP(WR, DATA, 7), "startsync") \ > f(SETTRUNC, __CEPH_OSD_OP(WR, DATA, 8), "settrunc") \ > f(TRIMTRUNC, __CEPH_OSD_OP(WR, DATA, 9), "trimtrunc") \ > \ > diff --git a/net/ceph/osd_client.c b/net/ceph/osd_client.c > index 901bb82..5c9d696 100644 > --- a/net/ceph/osd_client.c > +++ b/net/ceph/osd_client.c > @@ -863,8 +863,6 @@ static u32 osd_req_encode_op(struct ceph_osd_op *dst, > dst->cls.method_len = src->cls.method_len; > dst->cls.indata_len = cpu_to_le32(src->cls.indata_len); > break; > - case CEPH_OSD_OP_STARTSYNC: > - break; > case CEPH_OSD_OP_WATCH: > dst->watch.cookie = cpu_to_le64(src->watch.cookie); > dst->watch.ver = cpu_to_le64(0); > @@ -916,9 +914,6 @@ static u32 osd_req_encode_op(struct ceph_osd_op *dst, > * if the file was recently truncated, we include information about its > * old and new size so that the object can be updated appropriately. (we > * avoid synchronously deleting truncated objects because it's slow.) > - * > - * if @do_sync, include a 'startsync' command so that the osd will flush > - * data quickly. > */ > struct ceph_osd_request *ceph_osdc_new_request(struct ceph_osd_client *osdc, > struct ceph_file_layout *layout, > -- > 1.8.3.1 > Applied, thanks. Yan, Zheng -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html