From 1224f40d2e5be236b76b4013e4d926b77a56a3da Mon Sep 17 00:00:00 2001 From: "John L. Hammond" Date: Tue, 25 Nov 2014 08:50:16 -0600 Subject: [PATCH] LU-2675 llite: remove some cl wrappers In llite remove the wrapper functions and macros: cl_i2info() cl_i2sbi() cl_iattr2fd() cl_inode_info cl_inode_mode() cl_inode_{a,m,c}time() cl_isize_{lock,unlock}() cl_isize_{read,write,write_nolock}() Signed-off-by: John L. Hammond Change-Id: I310c16c842781cbec741a7c43b746b582546badd Reviewed-on: http://review.whamcloud.com/12850 Tested-by: Jenkins Tested-by: Maloo Reviewed-by: James Simmons Reviewed-by: Lai Siyao Reviewed-by: Oleg Drokin --- lustre/llite/file.c | 8 +++--- lustre/llite/glimpse.c | 22 +++++++------- lustre/llite/lcommon_cl.c | 67 +++++++++++++++++++++---------------------- lustre/llite/llite_internal.h | 43 --------------------------- lustre/llite/llite_lib.c | 2 +- lustre/llite/rw.c | 2 +- lustre/llite/vvp_object.c | 4 +-- 7 files changed, 52 insertions(+), 96 deletions(-) diff --git a/lustre/llite/file.c b/lustre/llite/file.c index d1ca438..f2244e8 100644 --- a/lustre/llite/file.c +++ b/lustre/llite/file.c @@ -1052,7 +1052,7 @@ int ll_merge_attr(const struct lu_env *env, struct inode *inode) CDEBUG(D_VFSTRACE, DFID" updating i_size "LPU64"\n", PFID(&lli->lli_fid), attr->cat_size); - cl_isize_write_nolock(inode, attr->cat_size); + i_size_write(inode, attr->cat_size); inode->i_blocks = attr->cat_blocks; LTIME_S(inode->i_atime) = atime; @@ -1653,7 +1653,7 @@ ll_get_grouplock(struct inode *inode, struct file *file, unsigned long arg) LASSERT(fd->fd_grouplock.cg_lock == NULL); spin_unlock(&lli->lli_lock); - rc = cl_get_grouplock(cl_i2info(inode)->lli_clob, + rc = cl_get_grouplock(ll_i2info(inode)->lli_clob, arg, (file->f_flags & O_NONBLOCK), &grouplock); if (rc) RETURN(rc); @@ -2725,7 +2725,7 @@ int cl_sync_file_range(struct inode *inode, loff_t start, loff_t end, capa = ll_osscapa_get(inode, CAPA_OPC_OSS_WRITE); io = ccc_env_thread_io(env); - io->ci_obj = cl_i2info(inode)->lli_clob; + io->ci_obj = ll_i2info(inode)->lli_clob; io->ci_ignore_layout = ignore_layout; /* initialize parameters for sync */ @@ -4037,7 +4037,7 @@ int ll_layout_restore(struct inode *inode, loff_t offset, __u64 length) hur->hur_user_item[0].hui_extent.offset = offset; hur->hur_user_item[0].hui_extent.length = length; hur->hur_request.hr_itemcount = 1; - rc = obd_iocontrol(LL_IOC_HSM_REQUEST, cl_i2sbi(inode)->ll_md_exp, + rc = obd_iocontrol(LL_IOC_HSM_REQUEST, ll_i2sbi(inode)->ll_md_exp, len, hur, NULL); OBD_FREE(hur, len); RETURN(rc); diff --git a/lustre/llite/glimpse.c b/lustre/llite/glimpse.c index 70c3840..665ceb6 100644 --- a/lustre/llite/glimpse.c +++ b/lustre/llite/glimpse.c @@ -82,9 +82,9 @@ blkcnt_t dirty_cnt(struct inode *inode) } int cl_glimpse_lock(const struct lu_env *env, struct cl_io *io, - struct inode *inode, struct cl_object *clob, int agl) + struct inode *inode, struct cl_object *clob, int agl) { - struct cl_inode_info *lli = cl_i2info(inode); + struct ll_inode_info *lli = ll_i2info(inode); const struct lu_fid *fid = lu_object_fid(&clob->co_lu); int result; @@ -129,7 +129,7 @@ int cl_glimpse_lock(const struct lu_env *env, struct cl_io *io, if (!agl) { ll_merge_attr(env, inode); - if (cl_isize_read(inode) > 0 && + if (i_size_read(inode) > 0 && inode->i_blocks == 0) { /* * LU-417: Add dirty pages block count @@ -151,15 +151,15 @@ int cl_glimpse_lock(const struct lu_env *env, struct cl_io *io, } static int cl_io_get(struct inode *inode, struct lu_env **envout, - struct cl_io **ioout, int *refcheck) + struct cl_io **ioout, int *refcheck) { - struct lu_env *env; - struct cl_io *io; - struct cl_inode_info *lli = cl_i2info(inode); - struct cl_object *clob = lli->lli_clob; - int result; + struct lu_env *env; + struct cl_io *io; + struct ll_inode_info *lli = ll_i2info(inode); + struct cl_object *clob = lli->lli_clob; + int result; - if (S_ISREG(cl_inode_mode(inode))) { + if (S_ISREG(inode->i_mode)) { env = cl_env_get(refcheck); if (!IS_ERR(env)) { io = ccc_env_thread_io(env); @@ -227,7 +227,7 @@ int cl_local_size(struct inode *inode) ENTRY; - if (!cl_i2info(inode)->lli_has_smd) + if (!ll_i2info(inode)->lli_has_smd) RETURN(0); result = cl_io_get(inode, &env, &io, &refcheck); diff --git a/lustre/llite/lcommon_cl.c b/lustre/llite/lcommon_cl.c index 2a886b8..5b8a02d 100644 --- a/lustre/llite/lcommon_cl.c +++ b/lustre/llite/lcommon_cl.c @@ -412,14 +412,14 @@ int ccc_attr_set(const struct lu_env *env, struct cl_object *obj, } int ccc_object_glimpse(const struct lu_env *env, - const struct cl_object *obj, struct ost_lvb *lvb) + const struct cl_object *obj, struct ost_lvb *lvb) { - struct inode *inode = ccc_object_inode(obj); + struct inode *inode = ccc_object_inode(obj); - ENTRY; - lvb->lvb_mtime = cl_inode_mtime(inode); - lvb->lvb_atime = cl_inode_atime(inode); - lvb->lvb_ctime = cl_inode_ctime(inode); + ENTRY; + lvb->lvb_mtime = LTIME_S(inode->i_mtime); + lvb->lvb_atime = LTIME_S(inode->i_atime); + lvb->lvb_ctime = LTIME_S(inode->i_ctime); /* * LU-417: Add dirty pages block count lest i_blocks reports 0, some * "cp" or "tar" on remote node may think it's a completely sparse file @@ -443,7 +443,7 @@ static void ccc_object_size_lock(struct cl_object *obj) { struct inode *inode = ccc_object_inode(obj); - cl_isize_lock(inode); + ll_inode_size_lock(inode); cl_object_attr_lock(obj); } @@ -452,7 +452,7 @@ static void ccc_object_size_unlock(struct cl_object *obj) struct inode *inode = ccc_object_inode(obj); cl_object_attr_unlock(obj); - cl_isize_unlock(inode); + ll_inode_size_unlock(inode); } /***************************************************************************** @@ -731,7 +731,7 @@ int ccc_prep_size(const struct lu_env *env, struct cl_object *obj, * kernel will check such case correctly. * linux-2.6.18-128.1.1 miss to do that. * --bug 17336 */ - loff_t size = cl_isize_read(inode); + loff_t size = i_size_read(inode); unsigned long cur_index = start >> PAGE_CACHE_SHIFT; @@ -752,12 +752,12 @@ int ccc_prep_size(const struct lu_env *env, struct cl_object *obj, * which will always be >= the kms value here. * b=11081 */ - if (cl_isize_read(inode) < kms) { - cl_isize_write_nolock(inode, kms); + if (i_size_read(inode) < kms) { + i_size_write(inode, kms); CDEBUG(D_VFSTRACE, DFID" updating i_size "LPU64"\n", PFID(lu_object_fid(&obj->co_lu)), - (__u64)cl_isize_read(inode)); + (__u64)i_size_read(inode)); } } @@ -826,16 +826,16 @@ void ccc_req_attr_set(const struct lu_env *env, if (slice->crs_req->crq_type == CRT_WRITE) { if (flags & OBD_MD_FLEPOCH) { oa->o_valid |= OBD_MD_FLEPOCH; - oa->o_ioepoch = cl_i2info(inode)->lli_ioepoch; + oa->o_ioepoch = ll_i2info(inode)->lli_ioepoch; valid_flags |= OBD_MD_FLMTIME | OBD_MD_FLCTIME | OBD_MD_FLUID | OBD_MD_FLGID; } } obdo_from_inode(oa, inode, valid_flags & flags); - obdo_set_parent_fid(oa, &cl_i2info(inode)->lli_fid); + obdo_set_parent_fid(oa, &ll_i2info(inode)->lli_fid); if (OBD_FAIL_CHECK(OBD_FAIL_LFSCK_INVALID_PFID)) oa->o_parent_oid++; - memcpy(attr->cra_jobid, cl_i2info(inode)->lli_jobid, + memcpy(attr->cra_jobid, ll_i2info(inode)->lli_jobid, LUSTRE_JOBID_SIZE); } @@ -859,7 +859,7 @@ int cl_setattr_ost(struct inode *inode, const struct iattr *attr, RETURN(PTR_ERR(env)); io = ccc_env_thread_io(env); - io->ci_obj = cl_i2info(inode)->lli_clob; + io->ci_obj = ll_i2info(inode)->lli_clob; io->u.ci_setattr.sa_attr.lvb_atime = LTIME_S(attr->ia_atime); io->u.ci_setattr.sa_attr.lvb_mtime = LTIME_S(attr->ia_mtime); @@ -875,7 +875,7 @@ again: if (attr->ia_valid & ATTR_FILE) /* populate the file descriptor for ftruncate to honor * group lock - see LU-787 */ - cio->cui_fd = cl_iattr2fd(inode, attr); + cio->cui_fd = LUSTRE_FPRIVATE(attr->ia_file); result = cl_io_loop(env, io); } else { @@ -962,12 +962,11 @@ struct page *cl2vm_page(const struct cl_page_slice *slice) */ int ccc_object_invariant(const struct cl_object *obj) { - struct inode *inode = ccc_object_inode(obj); - struct cl_inode_info *lli = cl_i2info(inode); + struct inode *inode = ccc_object_inode(obj); + struct ll_inode_info *lli = ll_i2info(inode); - return (S_ISREG(cl_inode_mode(inode)) || - /* i_mode of unlinked inode is zeroed. */ - cl_inode_mode(inode) == 0) && lli->lli_clob == obj; + return (S_ISREG(inode->i_mode) || inode->i_mode == 0) && + lli->lli_clob == obj; } struct inode *ccc_object_inode(const struct cl_object *obj) @@ -997,8 +996,8 @@ struct cl_page *ccc_vmpage_page_transient(struct page *vmpage) */ int cl_file_inode_init(struct inode *inode, struct lustre_md *md) { - struct lu_env *env; - struct cl_inode_info *lli; + struct lu_env *env; + struct ll_inode_info *lli; struct cl_object *clob; struct lu_site *site; struct lu_fid *fid; @@ -1012,14 +1011,14 @@ int cl_file_inode_init(struct inode *inode, struct lustre_md *md) int refcheck; LASSERT(md->body->mbo_valid & OBD_MD_FLID); - LASSERT(S_ISREG(cl_inode_mode(inode))); + LASSERT(S_ISREG(inode->i_mode)); - env = cl_env_get(&refcheck); - if (IS_ERR(env)) - return PTR_ERR(env); + env = cl_env_get(&refcheck); + if (IS_ERR(env)) + return PTR_ERR(env); - site = cl_i2sbi(inode)->ll_site; - lli = cl_i2info(inode); + site = ll_i2sbi(inode)->ll_site; + lli = ll_i2info(inode); fid = &lli->lli_fid; LASSERT(fid_is_sane(fid)); @@ -1093,8 +1092,8 @@ static void cl_object_put_last(struct lu_env *env, struct cl_object *obj) void cl_inode_fini(struct inode *inode) { - struct lu_env *env; - struct cl_inode_info *lli = cl_i2info(inode); + struct lu_env *env; + struct ll_inode_info *lli = ll_i2info(inode); struct cl_object *clob = lli->lli_clob; int refcheck; int emergency; @@ -1188,10 +1187,10 @@ __u32 cl_fid_build_gen(const struct lu_fid *fid) * inside layout lock - MDS_INODELOCK_LAYOUT. */ struct lov_stripe_md *ccc_inode_lsm_get(struct inode *inode) { - return lov_lsm_get(cl_i2info(inode)->lli_clob); + return lov_lsm_get(ll_i2info(inode)->lli_clob); } void inline ccc_inode_lsm_put(struct inode *inode, struct lov_stripe_md *lsm) { - lov_lsm_put(cl_i2info(inode)->lli_clob, lsm); + lov_lsm_put(ll_i2info(inode)->lli_clob, lsm); } diff --git a/lustre/llite/llite_internal.h b/lustre/llite/llite_internal.h index dcefe27..e3810b7 100644 --- a/lustre/llite/llite_internal.h +++ b/lustre/llite/llite_internal.h @@ -1434,49 +1434,6 @@ typedef enum llioc_iter (*llioc_callback_t)(struct inode *inode, void *ll_iocontrol_register(llioc_callback_t cb, int count, unsigned int *cmd); void ll_iocontrol_unregister(void *magic); - -/* lclient compat stuff */ -#define cl_inode_info ll_inode_info -#define cl_i2info(info) ll_i2info(info) -#define cl_inode_mode(inode) ((inode)->i_mode) -#define cl_i2sbi ll_i2sbi - -static inline struct ll_file_data *cl_iattr2fd(struct inode *inode, - const struct iattr *attr) -{ - LASSERT(attr->ia_valid & ATTR_FILE); - return LUSTRE_FPRIVATE(attr->ia_file); -} - -static inline void cl_isize_lock(struct inode *inode) -{ - ll_inode_size_lock(inode); -} - -static inline void cl_isize_unlock(struct inode *inode) -{ - ll_inode_size_unlock(inode); -} - -static inline void cl_isize_write_nolock(struct inode *inode, loff_t kms) -{ - LASSERT(mutex_is_locked(&ll_i2info(inode)->lli_size_mutex)); - i_size_write(inode, kms); -} - -static inline void cl_isize_write(struct inode *inode, loff_t kms) -{ - ll_inode_size_lock(inode); - i_size_write(inode, kms); - ll_inode_size_unlock(inode); -} - -#define cl_isize_read(inode) i_size_read(inode) - -#define cl_inode_atime(inode) LTIME_S((inode)->i_atime) -#define cl_inode_ctime(inode) LTIME_S((inode)->i_ctime) -#define cl_inode_mtime(inode) LTIME_S((inode)->i_mtime) - struct obd_capa *cl_capa_lookup(struct inode *inode, enum cl_req_type crt); int cl_sync_file_range(struct inode *inode, loff_t start, loff_t end, diff --git a/lustre/llite/llite_lib.c b/lustre/llite/llite_lib.c index 1ec69d4..6daa0f8 100644 --- a/lustre/llite/llite_lib.c +++ b/lustre/llite/llite_lib.c @@ -2142,7 +2142,7 @@ int ll_read_inode2(struct inode *inode, void *opaque) void ll_delete_inode(struct inode *inode) { - struct cl_inode_info *lli = cl_i2info(inode); + struct ll_inode_info *lli = ll_i2info(inode); ENTRY; if (S_ISREG(inode->i_mode) && lli->lli_clob != NULL) diff --git a/lustre/llite/rw.c b/lustre/llite/rw.c index ff25525..db3eb2f 100644 --- a/lustre/llite/rw.c +++ b/lustre/llite/rw.c @@ -1090,7 +1090,7 @@ int ll_writepages(struct address_space *mapping, struct writeback_control *wbc) * is called later on. */ ignore_layout = 1; - if (cl_i2info(inode)->lli_clob == NULL) + if (ll_i2info(inode)->lli_clob == NULL) RETURN(0); result = cl_sync_file_range(inode, start, end, mode, ignore_layout); diff --git a/lustre/llite/vvp_object.c b/lustre/llite/vvp_object.c index b653570..cd2a05b 100644 --- a/lustre/llite/vvp_object.c +++ b/lustre/llite/vvp_object.c @@ -113,7 +113,7 @@ static int vvp_attr_set(const struct lu_env *env, struct cl_object *obj, if (valid & CAT_CTIME) LTIME_S(inode->i_ctime) = attr->cat_ctime; if (0 && valid & CAT_SIZE) - cl_isize_write_nolock(inode, attr->cat_size); + i_size_write(inode, attr->cat_size); /* not currently necessary */ if (0 && valid & (CAT_UID|CAT_GID|CAT_SIZE)) mark_inode_dirty(inode); @@ -181,7 +181,7 @@ static const struct lu_object_operations vvp_lu_obj_ops = { struct ccc_object *cl_inode2ccc(struct inode *inode) { - struct cl_inode_info *lli = cl_i2info(inode); + struct ll_inode_info *lli = ll_i2info(inode); struct cl_object *obj = lli->lli_clob; struct lu_object *lu; -- 1.8.3.1