Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp2643003ybz; Sun, 3 May 2020 06:00:57 -0700 (PDT) X-Google-Smtp-Source: APiQypJtU9Ko0l3U2avWG7r2k4/SqehK2jQOEApccU7wCG5wiT/oYPMwJDbyNaVFm1UXqzeU4CRh X-Received: by 2002:a17:906:130e:: with SMTP id w14mr11038001ejb.155.1588510857494; Sun, 03 May 2020 06:00:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1588510857; cv=none; d=google.com; s=arc-20160816; b=ppf7MqaNo5oqT6ZpmHz9/JgWL5ikOqGveglpJ2N5OW+pt6o1nBE3e68ssTxIFrepd6 If5nvBogjDo4XYClZffEvNA7tGnJzmirSr8nzgPs5naPYwScQQtQgTn+8+rHlLXau09R uatBa5zeoooYel73fqu5JoQ4/bl3bQ8xsBXkelJdWW0T2k10XP+ZgV1M0qVRjkxWVPdj r5jzWK28UZcHfzPmJXP6yjuSsa4tz2j76VeBdEM1pP87wEe4mwRwze/QO1McV71Qss+N M4QmtoAyZUh7Kx0JtFOF/4jBKoNtAz1aEN78BUmWjBPz7Lwk98I7VwxDNsm6WbvRaC1D XX+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:mime-version:user-agent:date:message-id:to:subject :from:dkim-signature; bh=7OBMmC9zNBbWirf7jc1Oj9zn6Y17eITmAeWdRuMM7V4=; b=MoG9StC7FftiX0hOL2s0aiSF0XObOw7OC8fWxTTRDkzFQVpFftq5SR/YApEzcShxPF /FHS7HYJVJSu+wbYrrGCQR+Fl55oZGcm5RAPbLqdW+7dUHt0rmHxNtfnvlGfIgh2uT24 FQ01tu99YhucTiMEuF8WvOUUU4cAiDr2+mgh3GTqiZnoLD1Wwvp3uFLXwENx4gI2M/AJ 4gV9n/QiIjGQ3rDslCx0Kq+kJ9HYWHp5l/nayMykfGi3+OnFTN12LNZFAJ9JHvoZQZT6 wpbqFxN3A+v8EqA72XAsSUzbk27tzZN17xJ6lSM2AK6+cq8xUe+zMvg0vdxId7miMYZ1 ymJw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@jguk.org header.s=google header.b=mHwbje1h; spf=pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id d8si4955707edp.582.2020.05.03.06.00.34; Sun, 03 May 2020 06:00:57 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@jguk.org header.s=google header.b=mHwbje1h; spf=pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728242AbgECNA2 (ORCPT + 99 others); Sun, 3 May 2020 09:00:28 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41372 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728239AbgECNA2 (ORCPT ); Sun, 3 May 2020 09:00:28 -0400 Received: from mail-wr1-x429.google.com (mail-wr1-x429.google.com [IPv6:2a00:1450:4864:20::429]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3060BC061A0C for ; Sun, 3 May 2020 06:00:28 -0700 (PDT) Received: by mail-wr1-x429.google.com with SMTP id s8so7281701wrt.9 for ; Sun, 03 May 2020 06:00:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jguk.org; s=google; h=from:subject:to:message-id:date:user-agent:mime-version :content-language:content-transfer-encoding; bh=7OBMmC9zNBbWirf7jc1Oj9zn6Y17eITmAeWdRuMM7V4=; b=mHwbje1h5I9/r+PEtBuPAfmzrXyA4rMbCojJknCpCnJaNe0ojwpi14l7aFWEYJydTk 8VdxPjKGAMeavALgsnAF6hPjC3Tmn6BmEpRY39ignTSDjLIjUpmyTOJckEXPG8tifI/6 QatIXGTrNBHJQ3JS0eM15hE9/p8Llw4ITALw6amLl9Nf0QquGP7cu3G8tZvuiPq4iA1v w9hlUV13thylCn2rpTmaj+qVkubiOj7Ya1myUPbX5NlT3ClfXs/A3xCuML/5LzlL+G/O /APdjvBEENYyJBExIWZqfWabTpgR5sozLsbI+BGdJXAawFWKQpFRjKxqTpAQH8hDlyyY dn+g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:subject:to:message-id:date:user-agent :mime-version:content-language:content-transfer-encoding; bh=7OBMmC9zNBbWirf7jc1Oj9zn6Y17eITmAeWdRuMM7V4=; b=Fgu1ZcvbgF8p3+11RNIBiIAULYFZmxBaQty/5fghdYfnnZh6Zy40NR+0qsldlQK/UA fdJMenyhQOQuY986Pa/wE2ExeiVxuL3/qozAO5cX2WMcpR8M9BOjqr/dAHU7Qic2GYxQ UrX9mmfwtSzLDBIm8wFGb3QkSUEwJZL8HCVzTKkQKdFE4Axp/c+2fH8eGh04LQlsUquC hZF0vh+odiNiKaVDlzQBNfXjtqytJep/EkGRSXa7L/Lb1wg9nveutMw21Q5gznqOEuVT /9mzCOcN98iNlncbmpudBAtQsclwDibdlpVkEh+X4ncX5iTHfIRthkCgCU26NFbg8yIB K9LQ== X-Gm-Message-State: AGi0PubkpcPdK8s+M6L4plrHjjUPkieuIJIcbqj8j/urge0Zxo5s+CBC xzwJRBDlEloIuOqNSFWZ0Q0zVQ== X-Received: by 2002:a5d:5703:: with SMTP id a3mr12757046wrv.53.1588510826868; Sun, 03 May 2020 06:00:26 -0700 (PDT) Received: from [192.168.0.12] (cpc87281-slou4-2-0-cust47.17-4.cable.virginm.net. [92.236.12.48]) by smtp.gmail.com with ESMTPSA id k6sm8881051wma.19.2020.05.03.06.00.25 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 03 May 2020 06:00:26 -0700 (PDT) From: Jonny Grant Subject: /fs/ext4/namei.c ext4_find_dest_de() To: linux-ext4@vger.kernel.org Message-ID: <2edc7d6a-289e-57ad-baf1-477dc240474d@jguk.org> Date: Sun, 3 May 2020 14:00:25 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-GB Content-Transfer-Encoding: 7bit Sender: linux-ext4-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org Hi I noticed that mkdir() returns EEXIST if a directory already exists. strerror(EEXIST) text is "File exists" Can ext4_find_dest_de() be amended to return EISDIR if a directory already exists? This will make the error message clearer. This is the line of code from ext4_find_dest_de(): if (ext4_match(dir, fname, de)) return -EEXIST; I propose to change to something like the following: int ext4_match_result = ext4_match(dir, fname, de); nlen = EXT4_DIR_REC_LEN(de->name_len); rlen = ext4_rec_len_from_disk(de->rec_len, buf_size); if ((de->inode ? rlen - nlen : rlen) >= reclen) break; de = (struct ext4_dir_entry_2 *)((char *)de + rlen); if (ext4_match_result) { if(EXT4_FT_DIR == de->file_type) { return -EISDIR; } else { return -EEXIST; } } Let me know if this would be supported, and I can prepare a patch. Cheers Jonny