ll_vfs_dq_init() should be called before operating on the system
objects (like llog, oi, last_rcvd, etc.), otherwise, block accounting
will be missed if object is already existing.
Signed-off-by: Niu Yawei <niu@whamcloud.com>
Change-Id: I922c9ca8caebf52ae07fd130c41286dad68c1b8f
Reviewed-on: http://review.whamcloud.com/4220
Reviewed-by: Johann Lombardi <johann.lombardi@intel.com>
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.com>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
return -EACCES;
LASSERT(handle != NULL);
return -EACCES;
LASSERT(handle != NULL);
+ LASSERT(inode != NULL);
+ ll_vfs_dq_init(inode);
/* XXX: don't check: one declared chunk can be used many times */
/* OSD_EXEC_OP(handle, write); */
/* XXX: don't check: one declared chunk can be used many times */
/* OSD_EXEC_OP(handle, write); */
LASSERT(end == OBD_OBJECT_EOF);
LASSERT(dt_object_exists(dt));
LASSERT(osd_invariant(obj));
LASSERT(end == OBD_OBJECT_EOF);
LASSERT(dt_object_exists(dt));
LASSERT(osd_invariant(obj));
+ LASSERT(inode != NULL);
+ ll_vfs_dq_init(inode);
LASSERT(th);
oh = container_of(th, struct osd_thandle, ot_super);
LASSERT(th);
oh = container_of(th, struct osd_thandle, ot_super);
LASSERT(oi);
LASSERT(oi->oi_inode);
LASSERT(oi);
LASSERT(oi->oi_inode);
+ ll_vfs_dq_init(oi->oi_inode);
bag = &oi->oi_dir.od_container;
ipd = osd_idx_ipd_get(oti->oti_env, bag);
bag = &oi->oi_dir.od_container;
ipd = osd_idx_ipd_get(oti->oti_env, bag);
+ LASSERT(oi->oi_inode);
+ ll_vfs_dq_init(oi->oi_inode);
bag = &oi->oi_dir.od_container;
ipd = osd_idx_ipd_get(oti->oti_env, bag);
bag = &oi->oi_dir.od_container;
ipd = osd_idx_ipd_get(oti->oti_env, bag);