if (IS_ERR(env))
RETURN(PTR_ERR(env));
- io = &ccc_env_info(env)->cti_io;
+ io = ccc_env_thread_io(env);
io->ci_obj = cl_i2info(inode)->lli_clob;
io->u.ci_setattr.sa_attr.lvb_atime = LTIME_S(attr->ia_atime);
static void cl_object_put_last(struct lu_env *env, struct cl_object *obj)
{
struct lu_object_header *header = obj->co_lu.lo_header;
- struct lu_site *site;
cfs_waitlink_t waiter;
if (unlikely(cfs_atomic_read(&header->loh_ref) != 1)) {
- site = obj->co_lu.lo_dev->ld_site;
+ struct lu_site *site = obj->co_lu.lo_dev->ld_site;
+ struct lu_site_bkt_data *bkt;
+
+ bkt = lu_site_bkt_from_fid(site, &header->loh_fid);
cfs_waitlink_init(&waiter);
- cfs_waitq_add(&site->ls_marche_funebre, &waiter);
+ cfs_waitq_add(&bkt->lsb_marche_funebre, &waiter);
while (1) {
cfs_set_current_state(CFS_TASK_UNINT);
}
cfs_set_current_state(CFS_TASK_RUNNING);
- cfs_waitq_del(&site->ls_marche_funebre, &waiter);
+ cfs_waitq_del(&bkt->lsb_marche_funebre, &waiter);
}
cl_object_put(env, obj);
}
/**
- * for 32 bit inode numbers directly map seq+oid to 32bit number.
- */
-__u32 cl_fid_build_ino32(const struct lu_fid *fid)
-{
- RETURN(fid_flatten32(fid));
-}
-
-/**
* build inode number from passed @fid */
-__u64 cl_fid_build_ino(const struct lu_fid *fid)
+__u64 cl_fid_build_ino(const struct lu_fid *fid, int api32)
{
-#if BITS_PER_LONG == 32
- RETURN(fid_flatten32(fid));
-#else
- RETURN(fid_flatten(fid));
-#endif
+ if (BITS_PER_LONG == 32 || api32)
+ RETURN(fid_flatten32(fid));
+ else
+ RETURN(fid_flatten(fid));
}
/**