/* Default to max data size covered by a level-1 indirect block */
static unsigned long osd_sync_destroy_max_size =
1UL << (DN_MAX_INDBLKSHIFT - SPA_BLKPTRSHIFT + SPA_MAXBLOCKSHIFT);
-CFS_MODULE_PARM(osd_sync_destroy_max_size, "ul", ulong, 0444,
- "Maximum object size to use synchronous destroy.");
+module_param(osd_sync_destroy_max_size, ulong, 0444);
+MODULE_PARM_DESC(osd_sync_destroy_max_size, "Maximum object size to use synchronous destroy.");
static inline void
osd_object_set_destroy_type(struct osd_object *obj)
if (!S_ISREG(dt->do_lu.lo_header->loh_attr))
valid &= ~(LA_SIZE | LA_BLOCKS);
+ if (valid & LA_CTIME && la->la_ctime == obj->oo_attr.la_ctime)
+ valid &= ~LA_CTIME;
+
+ if (valid & LA_MTIME && la->la_mtime == obj->oo_attr.la_mtime)
+ valid &= ~LA_MTIME;
+
+ if (valid & LA_ATIME && la->la_atime == obj->oo_attr.la_atime)
+ valid &= ~LA_ATIME;
+
if (valid == 0)
GOTO(out, rc = 0);
LASSERT(osd_invariant(obj));
rc = osd_init_lma(env, obj, fid, oh);
- if (rc) {
+ if (rc != 0)
CERROR("%s: can not set LMA on "DFID": rc = %d\n",
osd->od_svname, PFID(fid), rc);
- /* ignore errors during LMA initialization */
- rc = 0;
- }
out:
up_write(&obj->oo_guard);