[nfsv4] Re: RFC: new MUTEX_BEGIN/MUTEX_END operations

Chuck Lever III <chuck.lever@oracle.com> Fri, 09 August 2024 15:21 UTC

Return-Path: <chuck.lever@oracle.com>
X-Original-To: nfsv4@ietfa.amsl.com
Delivered-To: nfsv4@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0B2C5C14F6BB for <nfsv4@ietfa.amsl.com>; Fri, 9 Aug 2024 08:21:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.105
X-Spam-Level:
X-Spam-Status: No, score=-2.105 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, T_SCC_BODY_TEXT_LINE=-0.01] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=oracle.com header.b="NE5ylQOX"; dkim=pass (1024-bit key) header.d=oracle.onmicrosoft.com header.b="qGJ6sBWI"
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id cyHPcrtMabLL for <nfsv4@ietfa.amsl.com>; Fri, 9 Aug 2024 08:21:01 -0700 (PDT)
Received: from mx0a-00069f02.pphosted.com (mx0a-00069f02.pphosted.com [205.220.165.32]) by ietfa.amsl.com (Postfix) with ESMTP id D2ECEC14F6A0 for <nfsv4@ietf.org>; Fri, 9 Aug 2024 08:21:01 -0700 (PDT)
Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 479FGtcn002028; Fri, 9 Aug 2024 15:21:00 GMT
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h= from:to:cc:subject:date:message-id:references:in-reply-to :content-type:content-id:content-transfer-encoding:mime-version; s=corp-2023-11-20; bh=vRkZlYJuFiHGz590Z4FMhLJEKjJ1jx3lvB/pSgd/U eE=; b=NE5ylQOX8oZOaErajdhRjE9b/kgzArc3xnghmeVI6GytLch475DoEYVRT mPkvtTDGHIfyrlGy6llCmrh1S1TRR3qwHJDfBqwUywE6icNY+6jpEIx0xoU5n7Ym frjUyzafAMUTNxHB0mE4GfSS4hCI+0oI7s8u7j0wTG8jU0aMs9GDHVYoOWTa87Mb NZGIYHzuvhwUj83yFf/R5lcBLj8l3FW6LNfUS/LpJVcDPT+SMctt7H8V+GOueqBC YL6FX+4+z/zEBedsqTu1JQ6w7x6yhj///0O57lu9jcV0olrx3PMpLmd6oW+AHyAy LgmOU6zKd6Jo1Smk+LBSEBDhNPWDA==
Received: from iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta03.appoci.oracle.com [130.35.103.27]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 40sd3uv7pd-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 09 Aug 2024 15:21:00 +0000 (GMT)
Received: from pps.filterd (iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19) with ESMTP id 479ERl57023766; Fri, 9 Aug 2024 15:20:59 GMT
Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12lp2174.outbound.protection.outlook.com [104.47.55.174]) by iadpaimrmta03.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 40sb0jss1j-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 09 Aug 2024 15:20:59 +0000
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=y/4LjakGyNjoV8+fydEOPcUjbC1OIaeQUtSmS9LbSqft1n764FeqYCIJFQQGDoPLh1d1Z55rHIqXXLxjPr/VbmcR01xD5lXaBhnlVgVtjm8E9ox8zxBx+w876Kug2RKphB0RifMIrj+NRb0XBHzlJqmZ9+e5O1OfLoJwEUgK2F6+gUVEzwPNYx/sZuF9yG7hP62CYS4E88Zkf30IBp+e/BcJ/2Mk9rPY7EK/JzTM8PEGcCvltaFfmHcDdP+6ed4Lddfz03Y/E0+qlOZqYf3LckjPa87nxIBAsbXZjlB9GhRebWoxVaOlmrCfzmqZGhkZKq4Vup83VuJZ9QNmtv8iIA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=vRkZlYJuFiHGz590Z4FMhLJEKjJ1jx3lvB/pSgd/UeE=; b=EOpcKMo3uhaIaBncFS77FQUWy/uIdUP8aY1A64Y3axm0qfnIn7es9r2nOl9iUNE9PJBpGk3ttKQtVZorIsCRGCza1Y3k1NMsKzo8idWVUQB+iWYoRrlml2Cb8PEv5qDOM/fUk7bnJbUGdNhCmBtvmcHymArDIotPMRszIdNFGMU25MA1eFi1RxivMuF/r/3sFU+2L26EKlxHncD9mK5apr+7UQK9RC3CiD3+yNJ6HX3kJ738S0DvDBSMuExz4Or9Egb03h9uTUSl5Gus7dJ31EItJbz5esXwMWmZCwKttiaV1NQKOb+u6bzStqy/Zps+F5sXWrnmKTZOAJy+XEjRjQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vRkZlYJuFiHGz590Z4FMhLJEKjJ1jx3lvB/pSgd/UeE=; b=qGJ6sBWI2CQu5YV8qv4BHhuJh3KOLPN2kLTaoKGBduXptDMxiFTAnZuVtBpGf+eNyOlyYPEzx19qHBMmjvavN4vTu/Tud+8IeWP37Z2t5MY+S0V44OK88Wjy+LRCV0JXAoOJDHGW1nRZzfA6vvFofWA05eOka6TPovUCVO3VzpI=
Received: from BN0PR10MB5128.namprd10.prod.outlook.com (2603:10b6:408:117::24) by PH0PR10MB5896.namprd10.prod.outlook.com (2603:10b6:510:146::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7875.8; Fri, 9 Aug 2024 15:20:56 +0000
Received: from BN0PR10MB5128.namprd10.prod.outlook.com ([fe80::743a:3154:40da:cf90]) by BN0PR10MB5128.namprd10.prod.outlook.com ([fe80::743a:3154:40da:cf90%6]) with mapi id 15.20.7849.013; Fri, 9 Aug 2024 15:20:56 +0000
From: Chuck Lever III <chuck.lever@oracle.com>
To: Rick Macklem <rick.macklem@gmail.com>
Thread-Topic: [nfsv4] RFC: new MUTEX_BEGIN/MUTEX_END operations
Thread-Index: AQHa6dK9A2betVYpVkqXwAsVf8rerLIfC8QA
Date: Fri, 09 Aug 2024 15:20:56 +0000
Message-ID: <4F40121B-7A36-4394-91C0-92A7D74CF676@oracle.com>
References: <CAM5tNy7g+YCiiZQD7G6Ryv_Mo8N5BeRiqMP=224zPpEXa+Yi+A@mail.gmail.com>
In-Reply-To: <CAM5tNy7g+YCiiZQD7G6Ryv_Mo8N5BeRiqMP=224zPpEXa+Yi+A@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.600.62)
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BN0PR10MB5128:EE_|PH0PR10MB5896:EE_
x-ms-office365-filtering-correlation-id: bf7252d9-b033-4949-9b81-08dcb886ddb8
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;ARA:13230040|376014|366016|4022899009|1800799024|38070700018;
x-microsoft-antispam-message-info: v3sBDCocUyIuHyXq+5uaJRmYjW7hMmzfrSjZQThdFnkeE4AJY5NOeU5R0e9XanPQDZgU2AWXs1q6avqHFxZj6WqestYL7i0itW/OvJLLzROAqjHXpw6W6QzsLhDiLT+nLjJNDuDR7aeaj0RAaTEjFXQC24aI6uM6gASXV9VHPv0WCNICYqQ7vbSkt3SGQSk8FSpULNIGub6IHFpbC/ANg2FWqJPMsK/xuywzE1C0Dw4yrVNjN9WamLP3FrOqG7nv4uIi5zzp3LncFUjjxbFbs5/4bz0iScMxuPhRs6L4NX37UqBZO6NkGDBcgU1PQUt+E9p1xhmLDQIMXrp03GwOGImma/dY02xnxag/UK+gd+IrlqMt0HarmMBKctbWUBYqWE2mmTPry+KhR4xVUhC0AzSXwAtdLHYD/jW2tu1jINdIhqaBNYs3xsxAC2Gz2z6L/tYDaFh3n+mRgUlUSrn9pW4oJXBW+3F7VxcNIEHDkdUmEEKk+mg688KN2vy/rNZ/YXmyghTRgfCwfuXQaCalWBK1q/nfZ+P6L6sMAhFtR6FiLtmZFdmX6OfRiET0WdIbwkBWVPCBY6v/ttzRSoVh8T5jSLY7TkrBZjBUDhHYeffAI27ZXlxZUcbdWDSt4Gwp/yW95UnOjpBBKRwYriGKBT4ik2ZFmewEyIFNTJaBArA/PIqWacNI200Gdr1IG8NGLp7Yt2NBqa/2/nDsCl2Onp66bGFbt/kKxPz4VBWaOl/TUZB1cHD+8YchTy+KBA7pEgfl9V7u3CXQ6EC49TBI5VdsFs0cFy0fERS3XduSjuVe3lM68PLaHHrTsRQ0IecvpAAibw9k+FkNKSE04Strsrqnn9NfYPtAp9OkocWiSsnzLcVU82uNfu6vZvtshsTAweTWlYFV3wGvGidJlMLsBMPwmeRVwE/TB7qjEQC0tJMzPn1THHev5ek9aq8CYhrAhOzPCRwrAIeF5Oij8wUO906YW4KFLYBequ3uOYGqicFZWCThylIS8Pl/5Q4ZKLnFXXxutWpp7i19M9WD5VWB4A8d1bBLs9aNYids5eD8yRo/beby6cTpiVuXkpoX6tUYjIiLTCULy0YDPri7uX2xPiUsAM9FkO+8zybiNsWQPf92c1Dtb/NkOfcEXJsPRGWaPygUFBG2F6123sqeM5GYJvD/wqEdUOOshAEOXldIB0O7dXDoNKcYvxC7uNjeJ9CL31shjkfMOMdqWQGjLShsDkoGkg4gWNicWw8tX3Cqf8n5i8y1fRclLWyEjpBHhv0zo8EYGuDSji5DNbGiN6tvZeySg4biISkKYrTAR9OmWuQhR/ast3xzNOD1G6kA3EHnLs1mNDuQqaSZTbZBNWWH9uVH4c69cRVX1pqhmWSVkVXE2Fq6TxbUpeRWsIOeHnKQlpXWPCo3Xd2bD2Tk0VZ5xA==
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN0PR10MB5128.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(366016)(4022899009)(1800799024)(38070700018);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: lBMg73XV8ydONma/RTsjWGZLQmmxeH9pNaMibrOYiY7nX7Jz1N438K0FxrVdecgA1rMldfg74DOr3taUoicMcKcixxykmX1lybtpf4fXCMJ+qQwSq4eLgcmxSXzhCn1d+2byLpP8lOH7ld11eWU3dgzF+r/gVpk289gyrkp6X8LG+yod2Kt54aTPWsoLU0jMCPtv3DuUT4hWQJhT975L2VXQOjd4g8oYlfnhM+T7Un2nYvALEPcktmLOcfBkq4i70w9yB1LxxFT48uos/fcKAFxnMyUiLpZ9WLNCcHn/uJakGte6k8MhwwU7zl+NNT51RTNpcDc7UIA+IWnYNgGGf6QZOdgDIzS+4N1Vd4vcrrcrLgFfYK+bk8jE0yQ4vDPqptluT5ULOazM4sdqubcUVCBXdnzF7NTpXWIVKzuCdmY/ajitU3xYCbfuN9Mu6Mpmc+aR74VlxIrUzcLwH9d6IlSlxuYJ/FAO/OeIGs5V5kuZjmTlPcrFi8Qzh20L2IHTxZEA/GzbJnZkcLHy36G7jdN9tP+zNjw9CxvNx2d1qxVyotQy6sbTyI5ZzReTeXEoIXhl5ZFNIX+RgLiagBRhFc0rL2Jt5rREPII8TJplGTtR5SNwgsokof6IE7t0dgQJESGZ+yMcWIT8upct2elrtWciG9SpavutMqXgToAVG3Xs2z3tAOLgnwj7BV5t4hyLjq+04nj9Gl7OWVTnthK1Lw1leU1dj3fdd6TwJdD4uVfdgA2YWoYQHhMFJw41IY1TP4Eq/1EvWOdzmyse0ghzpveXU/2E+o4dduf3Pnl3jYIfXNHVuR4zZoVY7qCsgPrZDvapUG8O4Sl6hjvn3aFVSl2VQgsz4ZKcur42aKaUGThXjwFyiRbKcS3ZiuZ+jIlvGZyrne+/bxPitB5Nawbq56/8d1m2kzWKOMUytS61RN06BTtgz4hMoIPlDs3jrQQweitLSr1qe+mPHfyFclAOzGnZyuJ08/Un8/Pat3Y1gfctbWvz59r6xDILt6On9nt3iD4m08jAt/mY08Wgj1+e1LlxsrnxgEa9wYojL7jxXJGcyKDc9aGlftKWRMZycsXlG7V27lnN+jyzjgUU63vO5DBWOmnvGaYXtzATXSSLxH41tv834DybRBqecQrG1hVQ4MsirC+aQ8KrD4RECpj4d44kY9RqzsjjdAD9dwl2mQxuQ9lJoSYwYpArnHFb1CBObPQzSZbIECAY8aCiEIYXEHQALYjx8o5S15YJy6OXfiTECWkqi2o7nmAQsK6mdPpc03UoV56uSOgBR8CMoEVNvZ2jvChyB0uu2bxsouXyXKrkqI/rOj605H/5Q+rxQ9s+PfAn8T0NAYgRf2ZRClf2zRMioCefZD+dqyISowSttZIIln2vExjFqcsZiAjWmF9lwiydkbfLyz28FfRyjeOywNOvTDf54FH2tTsESv+WQOOGUoF9BpxcREniMcOOCmVb5KFWeFfbWoYWOKp/Sx2jo3/aDi2ltzyXBiAvC9nPgiUYSoFh+Ru5qB7yh8xANRAgKJMBT1UCfA4D1yovldUNDIiMAhA2JvUXqjKkphxJRBjpbYR9gHxljrcJbT+dFpiKhw+7mWB5h3UdvNAdkq4LRA==
Content-Type: text/plain; charset="utf-8"
Content-ID: <6E5FBE4FB6EF0D46BCF41C97E6AE9204@namprd10.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: MrEE6DON5q2Y5anHa5MynxdRaDDIm3/Jrrqd+rG+ulKclC5smd1gWVbh5onXiYy8nhYxpBRLSiefgnW09BlzGSztK20Ta/M3U+fXAjORLmeAezrcrZ0rTdFpz8rRWCZi7oQ274I2D8HgcrZbydlZit/WbmG5MuXmLkXfD0LA6wZSQOiT17v0fTSHmMHmYS4IyJ10N/urc2jcAj3bBEOyeYPCyKo10G/bse2NiiaUxLTaQvDB0P6KR3JNnCkeNPbVA7IUpxHod8gJ+siST8kL+8rM87kuALfc0vjk+F2K5VqKq+ekfyl5d8vzGzUm+Qh9Uojl90kdtR0IwUaP/s8hT7kod2zHgebeLL0xEW9AoF+sJoEcX01IaGGyLax48S+mNS904jROGa+djFlgbWuoabHOtUC//M/o1CzHCuZuAjvv4rKRgKfR2oyKxhxD5wcIfFoE5GKhT0u8C7oHR144L4I4/l/RN+0RnS5A6b9qBm+GXr7vhi2As0zceeXA5S5/QXInlv9Fry7Fz/S1rhioxt0NS5WcNN4rSiJpqBcYF1pykkO7S58+53o9+Ypd0uOxxhGQ7KUO9MD2U0SyTAUPA1nyTqq8Ynys496WdFQHGVk=
X-OriginatorOrg: oracle.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BN0PR10MB5128.namprd10.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bf7252d9-b033-4949-9b81-08dcb886ddb8
X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Aug 2024 15:20:56.4511 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: cbNTdwPigejZrfqid3ua9K8ATKrFl7IXbqtBQTXG+SxPlNw0diI/27ADgqIpIv2oN6nMql1pKnvYesR2ZGpwfw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR10MB5896
X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1039,Hydra:6.0.680,FMLib:17.12.28.16 definitions=2024-08-09_12,2024-08-07_01,2024-05-17_01
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 spamscore=0 bulkscore=0 adultscore=0 mlxscore=0 phishscore=0 malwarescore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2407110000 definitions=main-2408090111
X-Proofpoint-ORIG-GUID: yBvbeUerimmLimrnmv6ZwBjSadb6ANjB
X-Proofpoint-GUID: yBvbeUerimmLimrnmv6ZwBjSadb6ANjB
Message-ID-Hash: A3G22764AVMFKIORTMAWBXRO6UUVM7NW
X-Message-ID-Hash: A3G22764AVMFKIORTMAWBXRO6UUVM7NW
X-MailFrom: chuck.lever@oracle.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-nfsv4.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: NFSv4 <nfsv4@ietf.org>
X-Mailman-Version: 3.3.9rc4
Precedence: list
Subject: [nfsv4] Re: RFC: new MUTEX_BEGIN/MUTEX_END operations
List-Id: NFSv4 Working Group <nfsv4.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/nfsv4/bF1EP6QDyrj-FT8IOguDbeWi-AA>
List-Archive: <https://mailarchive.ietf.org/arch/browse/nfsv4>
List-Help: <mailto:nfsv4-request@ietf.org?subject=help>
List-Owner: <mailto:nfsv4-owner@ietf.org>
List-Post: <mailto:nfsv4@ietf.org>
List-Subscribe: <mailto:nfsv4-join@ietf.org>
List-Unsubscribe: <mailto:nfsv4-leave@ietf.org>


> On Aug 8, 2024, at 4:36 PM, Rick Macklem <rick.macklem@gmail.com> wrote:
> 
> Hi,
> 
> Over the years, I've run into cases where it would be really
> nice to be able to perform multiple NFSv4 operations on a
> file without other operations done by other clients
> "gumming up the works" by changing the file's data/metadata
> between the operations in the compound.
> 
> So, what do others think about an extension to NFSv4.2 that
> adds 2 new operations:
>   MUTEX_BEGIN(CFH)
>   MUTEX_END(CFH)
> Both would use the CFH as argument, and no other client would
> be allowed to perform operations on the CFH between the MUTEX_BEGIN
> and MUTEX_END.
> 
> I think there would need to be a couple of properties for these:
> - There would need to be an "implicit" MUTEX_END when any operation
>   between MUTEX_BEGIN and MUTEX_END returns a status other than NFS_OK.
> - I think you would want a restriction of only one mutex for one CFH
>   at a time in a compound. Without that, there could easily be deadlocks
>   caused by other compounds acquiring mutexes on the same CFHs in a
>   different order.
> - Only one compound can hold a mutex on a given CFH at any time.
> - MUTEX_BEGIN/MUTEX_END can only be used in compounds where SEQUENCE
>   is the first operation.
> - All mutexes are discarded by a server when it crashes/recovers.
>   (Any time a client receives a NFS4ERR_STALE_CLIENTID.)
>   That way RPC retries after a server reboot should work ok, I think?

I favor a narrow reservation, as described here, rather than
blocking all server operations. The usage for multiple files
would be more complicated, as Tom says, but my intuition is
that the server's implementation of a mutex might be more
efficient for the single file, which might be the common case.

Also, I think this needs to be explicitly tied to the client's
lease so that a mutex reservation evaporates automatically if
the client goes away.

This could be used as a DoS vector; care should be taken to
describe how a server mitigates or prevents clients from
accidentally or maliciously blocking operations on a FH
permanently.


> I am not sure what the semantics for reading data/metadata should be,
> but I was thinking that would be allowed to be done by compounds for
> other clients for the CFH. If a client wanted to serialize against
> other compounds for the CFH, it could do a MUTEX_BEGIN/MUTEX_END.
> 
> I see this as useful in a variety of ways:
> - The example in the previous email of:
>   MUTEX_BEGIN
>   NVERIFY acl_truform ACL_MODEL_NFS4
>   SETATTR posix_access_acl
>   MUTEX_END
> - Append writing:
>   MUTEX_BEGIN
>   VERIFY size "offset in WRITE that follows"
>   WRITE "offset" etc
>   MUTEX_END
> - A bunch of cases where NFSv4 lacks the postop_attributes
>   that were in NFSv3.
>   MUTEX_BEGIN
>   WRITE
>   GETATTR size, change,..
>   MUTEX_END
> 
> So, what do others think?
> (This was obviously not possible without sessions.)
> 
> rick
> 
> 
> _______________________________________________
> nfsv4 mailing list -- nfsv4@ietf.org
> To unsubscribe send an email to nfsv4-leave@ietf.org

--
Chuck Lever