summaryrefslogtreecommitdiff
path: root/fs/bcachefs/dirent.c
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@gmail.com>2018-07-16 07:33:49 -0400
committerKent Overstreet <kent.overstreet@gmail.com>2018-07-16 07:33:49 -0400
commit6e85e6af9bf2bbf7555ef60fa7c8499923bb9f5f (patch)
treef2b52f527c8d183cf5e18dd2d2c171cb1ee8f51c /fs/bcachefs/dirent.c
parentcce723fde2714f4267a6951f9030f1d15ba0b7fc (diff)
search for null from start of dirent, not endkill-alloc-btree-hack
Diffstat (limited to 'fs/bcachefs/dirent.c')
-rw-r--r--fs/bcachefs/dirent.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/fs/bcachefs/dirent.c b/fs/bcachefs/dirent.c
index d3dd3eb71837..c4be31494e21 100644
--- a/fs/bcachefs/dirent.c
+++ b/fs/bcachefs/dirent.c
@@ -14,11 +14,9 @@ unsigned bch2_dirent_name_bytes(struct bkey_s_c_dirent d)
{
unsigned len = bkey_val_bytes(d.k) -
offsetof(struct bch_dirent, d_name);
+ u8 *null = memchr(d.v->d_name, 0, len);
- while (len && !d.v->d_name[len - 1])
- --len;
-
- return len;
+ return null ? null - d.v->d_name : len;
}
static unsigned dirent_val_u64s(unsigned len)