TP_STRUCT__entry(
                __field(dev_t,  dev)
                __field(ino_t,  ino)
-               __field(const char *,   name)
+               __string(name,  dentry->d_name.name)
                __field(unsigned int, flags)
        ),
 
        TP_fast_assign(
                __entry->dev    = dir->i_sb->s_dev;
                __entry->ino    = dir->i_ino;
-               __entry->name   = dentry->d_name.name;
+               __assign_str(name, dentry->d_name.name);
                __entry->flags  = flags;
        ),
 
        TP_printk("dev = (%d,%d), pino = %lu, name:%s, flags:%u",
                show_dev_ino(__entry),
-               __entry->name,
+               __get_str(name),
                __entry->flags)
 );
 
        TP_STRUCT__entry(
                __field(dev_t,  dev)
                __field(ino_t,  ino)
-               __field(const char *,   name)
+               __string(name,  dentry->d_name.name)
                __field(nid_t,  cino)
                __field(int,    err)
        ),
        TP_fast_assign(
                __entry->dev    = dir->i_sb->s_dev;
                __entry->ino    = dir->i_ino;
-               __entry->name   = dentry->d_name.name;
+               __assign_str(name, dentry->d_name.name);
                __entry->cino   = ino;
                __entry->err    = err;
        ),
 
        TP_printk("dev = (%d,%d), pino = %lu, name:%s, ino:%u, err:%d",
                show_dev_ino(__entry),
-               __entry->name,
+               __get_str(name),
                __entry->cino,
                __entry->err)
 );