summaryrefslogtreecommitdiffstats
path: root/xlators/features/shard/src
diff options
context:
space:
mode:
Diffstat (limited to 'xlators/features/shard/src')
-rw-r--r--xlators/features/shard/src/shard.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/xlators/features/shard/src/shard.c b/xlators/features/shard/src/shard.c
index 696032f4bac..29e131080f6 100644
--- a/xlators/features/shard/src/shard.c
+++ b/xlators/features/shard/src/shard.c
@@ -1238,6 +1238,14 @@ shard_lookup_dot_shard_cbk (call_frame_t *frame, void *cookie, xlator_t *this,
if (op_ret)
goto unwind;
+ if (!IA_ISDIR (buf->ia_type)) {
+ gf_log (this->name, GF_LOG_CRITICAL, "/.shard already exists "
+ "and is not a directory. Please remove /.shard from all"
+ " bricks and try again");
+ op_errno = EIO;
+ goto unwind;
+ }
+
shard_link_dot_shard_inode (local, inode, buf);
shard_writev_create_write_shards (frame, this);
return 0;