summaryrefslogtreecommitdiffstats
path: root/fs/ubifs/tnc.c
diff options
context:
space:
mode:
authorRichard Weinberger <richard@nod.at>2016-10-19 15:59:12 +0200
committerRichard Weinberger <richard@nod.at>2016-12-12 23:07:38 +0100
commitd63d61c16972c667d770f713c21aa04e2c0489d2 (patch)
tree9e40aed759c90f2435d36ea98a2ddbfed4c0e811 /fs/ubifs/tnc.c
parentubifs: Use a random number for cookies (diff)
downloadlinux-d63d61c16972c667d770f713c21aa04e2c0489d2.tar.xz
linux-d63d61c16972c667d770f713c21aa04e2c0489d2.zip
ubifs: Implement UBIFS_FLG_DOUBLE_HASH
This feature flag indicates that all directory entry nodes have a 32bit cookie set and therefore UBIFS is allowed to perform lookups by hash. Signed-off-by: Richard Weinberger <richard@nod.at>
Diffstat (limited to 'fs/ubifs/tnc.c')
-rw-r--r--fs/ubifs/tnc.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/ubifs/tnc.c b/fs/ubifs/tnc.c
index 1bba4c8b5d3d..74ae2de949df 100644
--- a/fs/ubifs/tnc.c
+++ b/fs/ubifs/tnc.c
@@ -1930,6 +1930,9 @@ int ubifs_tnc_lookup_dh(struct ubifs_info *c, const union ubifs_key *key,
int err;
const struct ubifs_dent_node *dent = node;
+ if (!c->double_hash)
+ return -EOPNOTSUPP;
+
/*
* We assume that in most of the cases there are no name collisions and
* 'ubifs_tnc_lookup()' returns us the right direntry.