Fix osd lookup cache to support files with long encrypted names.
Those encrypted names can be up to 256 bytes, not NUL terminated.
Fixes:
29f8eb2a67 ("LU-16405 osd: lookup cache")
Signed-off-by: Sebastien Buisson <sbuisson@ddn.com>
Change-Id: Ica2329c8a0990395307a14fe9bb9d43db3b364ed
Reviewed-on: https://review.whamcloud.com/c/fs/lustre-release/+/52016
Tested-by: jenkins <devops@whamcloud.com>
Tested-by: Maloo <maloo@whamcloud.com>
Reviewed-by: Andreas Dilger <adilger@whamcloud.com>
Reviewed-by: James Simmons <jsimmons@infradead.org>
Reviewed-by: Oleg Drokin <green@whamcloud.com>
entry->lce_obj.lco_gen = obj->oo_inode->i_generation;
entry->lce_obj.lco_version = iversion;
- LASSERT(ln->ln_namelen <= LDISKFS_NAME_LEN);
+ LASSERT(ln->ln_namelen <= LDISKFS_NAME_LEN + 1);
entry->lce_namelen = ln->ln_namelen;
memcpy(entry->lce_name, ln->ln_name, ln->ln_namelen);
memcpy(&entry->lce_fid, rec, sizeof(entry->lce_fid));
struct lu_fid lce_fid;
short lce_rc;
short lce_namelen;
- char lce_name[LDISKFS_NAME_LEN];
+ char lce_name[LDISKFS_NAME_LEN + 1];
};
#define OSD_LOOKUP_CACHE_MAX 3