so that corresponing dnodes are kept in memory.
Change-Id: Ic312bfc57e3adc1032cefdd97efcf8f819418dc8
Signed-off-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-on: http://review.whamcloud.com/19103
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Fan Yong <fan.yong@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
#include <sys/nvpair.h>
#include <sys/zfs_znode.h>
#include <sys/zap.h>
+#include <sys/dbuf.h>
/**
* By design including kmem.h overrides the Linux slab interfaces to provide
struct osd_oi {
char oi_name[OSD_OI_NAME_SIZE]; /* unused */
uint64_t oi_zapid;
+ dmu_buf_t *oi_db;
};
struct osd_seq {
if (rc >= sizeof(oi->oi_name))
return -E2BIG;
- rc = 0;
oi->oi_zapid = zde->zde_dnode;
- return rc;
+ return 0;
}
/**
oi = o->od_oi_table[key];
if (oi) {
+ if (oi->oi_db)
+ sa_buf_rele(oi->oi_db, osd_obj_tag);
OBD_FREE_PTR(oi);
o->od_oi_table[key] = NULL;
}
}
o->od_oi_table[key] = oi;
+ __osd_obj2dbuf(env, o->od_os, oi->oi_zapid, &oi->oi_db);
return 0;
}