summaryrefslogtreecommitdiff
path: root/libbcachefs/dirent.c
diff options
context:
space:
mode:
Diffstat (limited to 'libbcachefs/dirent.c')
-rw-r--r--libbcachefs/dirent.c14
1 files changed, 1 insertions, 13 deletions
diff --git a/libbcachefs/dirent.c b/libbcachefs/dirent.c
index 5f3e16b1..627870ad 100644
--- a/libbcachefs/dirent.c
+++ b/libbcachefs/dirent.c
@@ -15,16 +15,7 @@ unsigned bch2_dirent_name_bytes(struct bkey_s_c_dirent d)
unsigned len = bkey_val_bytes(d.k) -
offsetof(struct bch_dirent, d_name);
- while (len && !d.v->d_name[len - 1])
- --len;
-
- return len;
-}
-
-static unsigned dirent_val_u64s(unsigned len)
-{
- return DIV_ROUND_UP(offsetof(struct bch_dirent, d_name) + len,
- sizeof(u64));
+ return strnlen(d.v->d_name, len);
}
static u64 bch2_dirent_hash(const struct bch_hash_info *info,
@@ -107,9 +98,6 @@ const char *bch2_dirent_invalid(const struct bch_fs *c, struct bkey_s_c k)
if (len > BCH_NAME_MAX)
return "dirent name too big";
- if (memchr(d.v->d_name, '/', len))
- return "dirent name has invalid characters";
-
return NULL;
case BCH_DIRENT_WHITEOUT:
return bkey_val_bytes(k.k) != 0