mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-18 10:36:45 +07:00
staging/lustre/hsm: count NULL terminator in hai_zero/hal_size
If fsname is 8-byte aligned, hai_zero fails to count the ending NULL terminator causing hai to directly attached after fsname and future hai_zero will return a different position for first hai. Signed-off-by: Peng Tao <bergwolf@gmail.com> Reviewed-on: http://review.whamcloud.com/9431 Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-4689 Reviewed-by: Andreas Dilger <andreas.dilger@intel.com> Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com> Signed-off-by: Oleg Drokin <oleg.drokin@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
081b726563
commit
5d0d422e72
@ -1106,7 +1106,8 @@ static inline struct hsm_action_item * hai_zero(struct hsm_action_list *hal)
|
||||
{
|
||||
return (struct hsm_action_item *)(hal->hal_fsname +
|
||||
cfs_size_round(strlen(hal-> \
|
||||
hal_fsname)));
|
||||
hal_fsname)
|
||||
+ 1));
|
||||
}
|
||||
/* Return pointer to next hai */
|
||||
static inline struct hsm_action_item * hai_next(struct hsm_action_item *hai)
|
||||
@ -1121,7 +1122,7 @@ static inline int hal_size(struct hsm_action_list *hal)
|
||||
int i, sz;
|
||||
struct hsm_action_item *hai;
|
||||
|
||||
sz = sizeof(*hal) + cfs_size_round(strlen(hal->hal_fsname));
|
||||
sz = sizeof(*hal) + cfs_size_round(strlen(hal->hal_fsname) + 1);
|
||||
hai = hai_zero(hal);
|
||||
for (i = 0; i < hal->hal_count; i++, hai = hai_next(hai))
|
||||
sz += cfs_size_round(hai->hai_len);
|
||||
|
Loading…
Reference in New Issue
Block a user