From patchwork Wed Jul 29 08:11:15 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christian Schoenebeck X-Patchwork-Id: 11710711 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id DFFD213B6 for ; Wed, 12 Aug 2020 12:44:34 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id B54FC2080C for ; Wed, 12 Aug 2020 12:44:34 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=crudebyte.com header.i=@crudebyte.com header.b="goUyB5sy" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B54FC2080C Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=crudebyte.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Received: from localhost ([::1]:52358 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k5q7O-0006CV-1S for patchwork-qemu-devel@patchwork.kernel.org; Wed, 12 Aug 2020 08:44:34 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:34732) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <29c9d2ca80ebac14ff55f687634cd3fa491ba8be@lizzy.crudebyte.com>) id 1k5q6l-0004xR-GN for qemu-devel@nongnu.org; Wed, 12 Aug 2020 08:43:55 -0400 Received: from lizzy.crudebyte.com ([91.194.90.13]:56061) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <29c9d2ca80ebac14ff55f687634cd3fa491ba8be@lizzy.crudebyte.com>) id 1k5q6j-0005WH-Ud for qemu-devel@nongnu.org; Wed, 12 Aug 2020 08:43:55 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=crudebyte.com; s=lizzy; h=Cc:To:Subject:Date:From:References:In-Reply-To: Message-Id:Content-Type:Content-Transfer-Encoding:MIME-Version:Content-ID: Content-Description; bh=LqNHrKbO1NaaAH1aku5vOmPL7nWsQaBzfBb1PxDUUHY=; b=goUyB 5syWmV0ZuYhBmr6Hvdv2dRTWgb1Li00ePrVsQx2XZjesN7V+U6be825n8FUNV/Y7s9POFE1AYl5tO bilHWNPIVgyxEzZYJ5QGtBTz94x0HduDIOx3aAoShf2s1u+xd9sqQokdHZcHpnUjyyFq9vKER5iea RpFPJa/GpByYLOZ9wbMQyg8x5ie31zOMz91R9IEoYbJvUbcHMQfgoqzl8mqwab3RybZgZH4EPz5Ij ckTz8ARa+qo7VipnanSjkzPJDOMChyS7/SOovIgaDgyyO4mfTI1Q8R/EbNOwANVHLT7GhPbSHKTbx KYqKql5Q/MGYiAZyF/APSp2JbGFag==; Message-Id: <29c9d2ca80ebac14ff55f687634cd3fa491ba8be.1597226797.git.qemu_oss@crudebyte.com> In-Reply-To: References: From: Christian Schoenebeck Date: Wed, 29 Jul 2020 10:11:15 +0200 Subject: [PULL 2/7] 9pfs: make v9fs_readdir_response_size() public To: qemu-devel@nongnu.org, Peter Maydell Cc: Greg Kurz Received-SPF: none client-ip=91.194.90.13; envelope-from=29c9d2ca80ebac14ff55f687634cd3fa491ba8be@lizzy.crudebyte.com; helo=lizzy.crudebyte.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/08/12 08:16:56 X-ACL-Warn: Detected OS = Linux 3.11 and newer X-Spam_score_int: 13 X-Spam_score: 1.3 X-Spam_bar: + X-Spam_report: (1.3 / 5.0 requ) BAYES_00=-1.9, DATE_IN_PAST_96_XX=3.405, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patchwork-qemu-devel=patchwork.kernel.org@nongnu.org Sender: "Qemu-devel" Rename function v9fs_readdir_data_size() -> v9fs_readdir_response_size() and make it callable from other units. So far this function is only used by 9p.c, however subsequent patches require the function to be callable from another 9pfs unit. And as we're at it; also make it clear for what this function is used for. Signed-off-by: Christian Schoenebeck Reviewed-by: Greg Kurz Message-Id: <3668ebc7d5b929a0e4f1357457060d96f50f76f4.1596012787.git.qemu_oss@crudebyte.com> Signed-off-by: Christian Schoenebeck --- hw/9pfs/9p.c | 10 ++++++++-- hw/9pfs/9p.h | 1 + 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/hw/9pfs/9p.c b/hw/9pfs/9p.c index 2ffd96ade9..7a228c4828 100644 --- a/hw/9pfs/9p.c +++ b/hw/9pfs/9p.c @@ -2313,7 +2313,13 @@ out_nofid: pdu_complete(pdu, err); } -static size_t v9fs_readdir_data_size(V9fsString *name) +/** + * Returns size required in Rreaddir response for the passed dirent @p name. + * + * @param name - directory entry's name (i.e. file name, directory name) + * @returns required size in bytes + */ +size_t v9fs_readdir_response_size(V9fsString *name) { /* * Size of each dirent on the wire: size of qid (13) + size of offset (8) @@ -2348,7 +2354,7 @@ static int coroutine_fn v9fs_do_readdir(V9fsPDU *pdu, V9fsFidState *fidp, } v9fs_string_init(&name); v9fs_string_sprintf(&name, "%s", dent->d_name); - if ((count + v9fs_readdir_data_size(&name)) > max_count) { + if ((count + v9fs_readdir_response_size(&name)) > max_count) { v9fs_readdir_unlock(&fidp->fs.dir); /* Ran out of buffer. Set dir back to old position and return */ diff --git a/hw/9pfs/9p.h b/hw/9pfs/9p.h index ee2271663c..561774e843 100644 --- a/hw/9pfs/9p.h +++ b/hw/9pfs/9p.h @@ -419,6 +419,7 @@ void v9fs_path_init(V9fsPath *path); void v9fs_path_free(V9fsPath *path); void v9fs_path_sprintf(V9fsPath *path, const char *fmt, ...); void v9fs_path_copy(V9fsPath *dst, const V9fsPath *src); +size_t v9fs_readdir_response_size(V9fsString *name); int v9fs_name_to_path(V9fsState *s, V9fsPath *dirpath, const char *name, V9fsPath *path); int v9fs_device_realize_common(V9fsState *s, const V9fsTransport *t,