From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:60733) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TrHnh-0008HN-UI for qemu-devel@nongnu.org; Fri, 04 Jan 2013 19:39:52 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TrHne-0008NJ-Sq for qemu-devel@nongnu.org; Fri, 04 Jan 2013 19:39:49 -0500 Received: from mail-ie0-f177.google.com ([209.85.223.177]:34469) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TrHne-0008ND-Nf for qemu-devel@nongnu.org; Fri, 04 Jan 2013 19:39:46 -0500 Received: by mail-ie0-f177.google.com with SMTP id k13so20383786iea.22 for ; Fri, 04 Jan 2013 16:39:46 -0800 (PST) Sender: Richard Henderson From: Richard Henderson Date: Fri, 4 Jan 2013 16:39:33 -0800 Message-Id: <1357346373-13898-9-git-send-email-rth@twiddle.net> In-Reply-To: <1357346373-13898-1-git-send-email-rth@twiddle.net> References: <1357346373-13898-1-git-send-email-rth@twiddle.net> Subject: [Qemu-devel] [PATCH 8/8] user: Consider symbolic links as possible directories List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Blue Swirl , Riku Voipio Commit 2296f194dfde4c0a54f249d3fdb8c8ca21dc611b reduced the number of syscalls performed during user emulation startup, but failed to consider the use of symbolic links in creating directory structures. Signed-off-by: Richard Henderson --- path.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/path.c b/path.c index ef3f277..4c5b0f6 100644 --- a/path.c +++ b/path.c @@ -58,9 +58,10 @@ static struct pathelem *new_entry(const char *root, #define streq(a,b) (strcmp((a), (b)) == 0) /* Not all systems provide this feature */ -#if defined(DT_DIR) && defined(DT_UNKNOWN) +#if defined(DT_DIR) && defined(DT_UNKNOWN) && defined(DT_LNK) # define dirent_type(dirent) ((dirent)->d_type) -# define is_dir_maybe(type) ((type) == DT_DIR || (type) == DT_UNKNOWN) +# define is_dir_maybe(type) \ + ((type) == DT_DIR || (type) == DT_UNKNOWN || (type) == DT_LNK) #else # define dirent_type(dirent) (1) # define is_dir_maybe(type) (type) -- 1.7.11.7