From patchwork Tue Mar 2 18:48:57 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Brandon Maier X-Patchwork-Id: 1446226 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=googlegroups.com (client-ip=2607:f8b0:4864:20::63b; helo=mail-pl1-x63b.google.com; envelope-from=swupdate+bncbdejh7exuihbbhur7kaqmgqevpafdbq@googlegroups.com; receiver=) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=googlegroups.com header.i=@googlegroups.com header.a=rsa-sha256 header.s=20161025 header.b=fxFbLsvR; dkim-atps=neutral Received: from mail-pl1-x63b.google.com (mail-pl1-x63b.google.com [IPv6:2607:f8b0:4864:20::63b]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4DqmPb32tfz9sCD for ; Wed, 3 Mar 2021 05:49:05 +1100 (AEDT) Received: by mail-pl1-x63b.google.com with SMTP id p15sf11837862plq.8 for ; Tue, 02 Mar 2021 10:49:05 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1614710942; cv=pass; d=google.com; s=arc-20160816; b=uGyBJwLVW0KCzuOCv4qKHV99JLBPhVsAZFgeA9GQE0mMyZbWMG0WetDuR6tAXwT4fn IP20vA8alKervEq6AvcJRdMbliJIu9mXozIeYjIJLl/yPLAIWzYrrH1sJAeKmEeSuPYm HQ6mFm2akRA0iEKnvRrFy+Tkc0/bJ5BK46Czndrz7DruWk14BdGhbrKWyuuoJI2yXsJk BrqW7e1MCXPp627BQ/ZHsKiDbuvCeZJt5nID5avuUHqOaap4aCIVQqldIo3soKtGVK78 gVUZ1+9THTh6O/pHOYIUGNorMO9RuTsmblj7OB6x7SjU5yFiOdh55YzyHOmTPDFRCJET JBRw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:mime-version:message-id:date :subject:cc:to:from:ironport-sdr:sender:dkim-signature; bh=QNxzID/iPld492aMRpQIH1eMY/peEjks01zdVxhkSSM=; b=gzx2XZKkeJiiYhaJCpRgwrW3pKlaGpHziEUPruXBuuRn/198DPiJ95Gau4Pc8WzTHn s8LfqdtQ5VsJFWCm0lFUmt9WdtoGh0hab4qgXnw1CmBjNvh0qCuu0P1bjNyWqlnIdb8A LdvdDAhSpFMMvlnz6uFB/Y9cWQXfCZv0wpFw9LugQ/Ro0KkH5dexN3lifPxzhkUcYCZM irwhmnE+hChP5e+53hQpcd6JDU3tQzMj5JziY+gynzZ0zBJmq/gu5u10/IsFPfMWrzjc WtcVng4cjnqAvgexhVnNmw7tnWjVXxNQgoGUrxiRiGbJl/g9sl7TYeToGLFvyD5LuI5u 1D6Q== ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@rockwellcollins.com header.s=hrcrc2020 header.b=aTuJ8EUw; spf=pass (google.com: domain of brandon.maier@rockwellcollins.com designates 205.175.225.130 as permitted sender) smtp.mailfrom=brandon.maier@rockwellcollins.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=rockwellcollins.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20161025; h=sender:ironport-sdr:from:to:cc:subject:date:message-id:mime-version :x-original-sender:x-original-authentication-results:precedence :mailing-list:list-id:list-post:list-help:list-archive :list-subscribe:list-unsubscribe; bh=QNxzID/iPld492aMRpQIH1eMY/peEjks01zdVxhkSSM=; b=fxFbLsvR6fYMTV+7Dz97M66Yte9xDcm9aamD0lUVTUne7+E6sd7dYEgWg2bTk653he FTxpVmGEqYbM/EWIEaFVPfgdWWyLPscDbVX3BCShWLcTdJN1QKyThe+NiOo7tpBpjN26 KDB4xQ5uJ8hfmqbYxgBpwzrSxEMR9DLRmYDGPD8mmumgefbv/vFbrRPurtjjOAkUhdvu E95WzZdyaFTm0YX5XVsb4Dy2dkvH1x8/Pinpe4f+7fgx4HKiayKBSE9AliBpopBgdO93 44J7V0bo9m5y1XI2gUupGoVnDf/gekeSZ8QUnMfJehqh8eDMSOCOYEbYjT87R4Owx6D4 4DvQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=sender:x-gm-message-state:ironport-sdr:from:to:cc:subject:date :message-id:mime-version:x-original-sender :x-original-authentication-results:precedence:mailing-list:list-id :x-spam-checked-in-group:list-post:list-help:list-archive :list-subscribe:list-unsubscribe; bh=QNxzID/iPld492aMRpQIH1eMY/peEjks01zdVxhkSSM=; b=q/7EhtApeOXUDsuaVDzlJxansR1HeICn7CWSuKENJBVK/JfDuLk/jCrkU0b1Upkpfa zccPOLaJJM+OtfN3i9DJAqO6LAFzO5T9D+sWH+++9cPy0taxICeZMc5fVIz1JW9vklim Aj9ca4e9NFQhguUdsWO38TA2Yu0LdCOgFNVFwCOWHjaVNqSx3eBUGGGK+xL5WXC6KQwe qouNyVcw0xkLSXTqb193bOeoEojzN1JgPpeWjf+RGIWY/psHbxM7FVU75fIhJnzg8oAt +Bq0wZRb2zVEfvWbxYXbnzzfdRxOlf0DvmUD2lEokThxNLzqA2AdAvi/bGwlq0iHyl41 ndMQ== Sender: swupdate@googlegroups.com X-Gm-Message-State: AOAM530UQFLYLQ+zSvLWT1PTmZz9p5/dMZD16y4uD1xKhQGqJxoJVkOc QUa++ZSiKHkiMSeLZvfRuTU= X-Google-Smtp-Source: ABdhPJz9btxAsdKzIyGY2Wpe1/9+NyAahjMWPVoH5e6Lb9TsRFn5wfMe2LyHI65qGJsmDSOEYo3wiw== X-Received: by 2002:a17:90a:f184:: with SMTP id bv4mr5597245pjb.43.1614710942335; Tue, 02 Mar 2021 10:49:02 -0800 (PST) X-BeenThere: swupdate@googlegroups.com Received: by 2002:a65:4d43:: with SMTP id j3ls2572856pgt.1.gmail; Tue, 02 Mar 2021 10:49:01 -0800 (PST) X-Received: by 2002:a63:4d4e:: with SMTP id n14mr19341625pgl.37.1614710941622; Tue, 02 Mar 2021 10:49:01 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1614710941; cv=none; d=google.com; s=arc-20160816; b=SXs4lC0jUOivhdCdh5mhR+UjdAUKKUxIz/LdDyydT0kOGl/A4VwmFOsEDXOmRVxDXt GWP/G3RW+BHk+nhWgl6E1OZTN83TZoXrPm/LavTrVFJbcdByy+txrkQgTLYLTpMYkWr+ ppVJ3oydDcZPHeMRyXo0121AS3DB9f4Mt2MWF2cWz/6AEksZbTkKhrxJozw5FZtfZYqY r+5kUt8B6w0Nd+Oha5UluwTOBryGu03A7BYIbv9aFf/wIA1V3grT8t0IAezxtdJiUAei zJI6/OkzN8NS9mftS8VoWeHqDV5f9vhDeiDEZaB5hAYrDwgUf9sUev7NuJtGUU5rrL6h 6Hig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:ironport-sdr:dkim-signature; bh=hIUx5qL4+jv8r14n9ppb7Pa+b9MI4d9j9BjdJoo0+C8=; b=e9J0mXX4lto3ap7k3EbirYSPu5ht63QfCAixCG48I2IpAlhyZmgGWINpwwP6//MDsp nVgaeXxd9erdkQ8lrjiU3Sy6mvwfgnVjlvtQ6/yucrgV/hRwyQld4Mf5w5fI+m4X0rk6 2o9NGtlx70XNCe7uQk1kD9bwrMcj/OedppWr6tZmUz2nQiIr83zNmgJEBPqA4FJdeJKv 8sv064a6GCdMhxnJhDb/4UV3oU2EskUQL4rWhLm9TJf8TsGSkWbEWznWJCuahwWQcwCU ZEqCCnS8smN5Of+6v86fOtFmGz0kK0mqITMRww1eyw2OAeGp0FXPEgdTCGfg0YsQMdOr QM3Q== ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@rockwellcollins.com header.s=hrcrc2020 header.b=aTuJ8EUw; spf=pass (google.com: domain of brandon.maier@rockwellcollins.com designates 205.175.225.130 as permitted sender) smtp.mailfrom=brandon.maier@rockwellcollins.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=rockwellcollins.com Received: from secvs04.rockwellcollins.com (secvs04.rockwellcollins.com. [205.175.225.130]) by gmr-mx.google.com with ESMTPS id n10si1228970pgq.2.2021.03.02.10.49.01 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Tue, 02 Mar 2021 10:49:01 -0800 (PST) Received-SPF: pass (google.com: domain of brandon.maier@rockwellcollins.com designates 205.175.225.130 as permitted sender) client-ip=205.175.225.130; IronPort-SDR: TmLnMYGJ5gqk60MVlMlYx7lJvDFafZRXHAIdWqgE9Ds+jIBRdYFAvMv99PprlgdhtxGoYM/7Y5 eHabnJLfvzrxikrfbYHu+Loa9UnEhrI5+9kcErV1Qf/fLD4pqJ5hR40it6B4dKegUIC/7KHH9R zIG2AP6HX2Zuju5Yrd6UhjfvFdnUQQ2q/S2uM2MUlsbX0yAHRpvGxgwPD0laZo1Hh/zK+8nNuY mFiJM8WDog5c3uhCHSj++CtCDnPjn/FcklP1mhIBf7RPTmjcriFghUWBbwa0t94TqNRbsppQZ6 MBg= Received: from ofwgwc03.rockwellcollins.com (HELO ciulimr02.rockwellcollins.com) ([205.175.225.12]) by secvs04.rockwellcollins.com with ESMTP; 02 Mar 2021 12:49:02 -0600 X-Received: from righttwix.rockwellcollins.com (righttwix.rockwellcollins.com [192.168.141.218]) by ciulimr02.rockwellcollins.com (Postfix) with ESMTP id 855CA2007E; Tue, 2 Mar 2021 12:49:00 -0600 (CST) From: Brandon Maier To: swupdate@googlegroups.com Cc: sbabic@denx.de, Brandon Maier Subject: [swupdate] [libubootenv] Always fsync file writes Date: Tue, 2 Mar 2021 12:48:57 -0600 Message-Id: <20210302184857.6618-1-brandon.maier@rockwellcollins.com> X-Mailer: git-send-email 2.29.1 MIME-Version: 1.0 X-Original-Sender: brandon.maier@rockwellcollins.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@rockwellcollins.com header.s=hrcrc2020 header.b=aTuJ8EUw; spf=pass (google.com: domain of brandon.maier@rockwellcollins.com designates 205.175.225.130 as permitted sender) smtp.mailfrom=brandon.maier@rockwellcollins.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=rockwellcollins.com Precedence: list Mailing-list: list swupdate@googlegroups.com; contact swupdate+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: swupdate@googlegroups.com X-Google-Group-Id: 605343134186 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , Currently fsync() only gets called at the end of fileprotect(), which only occurs on mmcblk devices. I am storing a U-Boot environment inside a fat32 filesystem, so the fsync() call does not get hit, and so the new environment may be lost if power is lost. Instead always fsync after the write has completed, regardless of the device type. Signed-off-by: Brandon Maier Acked-by: Stefano Babic --- src/uboot_env.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/uboot_env.c b/src/uboot_env.c index 2cc5028..30c39eb 100644 --- a/src/uboot_env.c +++ b/src/uboot_env.c @@ -646,7 +646,6 @@ static int fileprotect(struct uboot_flash_env *dev, bool on) if(on == false){ ret_int = write(fd_force_ro, &c_unprot_char, 1); } else { - fsync(dev->fd); ret_int = write(fd_force_ro, &c_prot_char, 1); } close(fd_force_ro); @@ -688,6 +687,8 @@ static int filewrite(struct uboot_flash_env *dev, void *data) } } + fsync(dev->fd); + fileprotect(dev, true); // no error handling, keep ret from write return ret;