From owner-freebsd-ports-bugs@FreeBSD.ORG Sun May 3 07:35:22 2015 Return-Path: Delivered-To: freebsd-ports-bugs@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 757C242F for ; Sun, 3 May 2015 07:35:22 +0000 (UTC) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2001:1900:2254:206a::16:76]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 5EB5C1DD8 for ; Sun, 3 May 2015 07:35:22 +0000 (UTC) Received: from bugs.freebsd.org ([127.0.1.118]) by kenobi.freebsd.org (8.14.9/8.14.9) with ESMTP id t437ZMVe061911 for ; Sun, 3 May 2015 07:35:22 GMT (envelope-from bugzilla-noreply@freebsd.org) From: bugzilla-noreply@freebsd.org To: freebsd-ports-bugs@FreeBSD.org Subject: [Bug 199874] sysutils/fusefs-exfat: add support for CREATE operations Date: Sun, 03 May 2015 07:35:21 +0000 X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Ports & Packages X-Bugzilla-Component: Individual Port(s) X-Bugzilla-Version: Latest X-Bugzilla-Keywords: X-Bugzilla-Severity: Affects Some People X-Bugzilla-Who: danny@dannywarren.com X-Bugzilla-Status: New X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: freebsd-ports-bugs@FreeBSD.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: maintainer-feedback? X-Bugzilla-Changed-Fields: bug_id short_desc product version rep_platform op_sys bug_status bug_severity priority component assigned_to reporter cc flagtypes.name attachments.created Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: freebsd-ports-bugs@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Ports bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 03 May 2015 07:35:22 -0000 https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=199874 Bug ID: 199874 Summary: sysutils/fusefs-exfat: add support for CREATE operations Product: Ports & Packages Version: Latest Hardware: Any OS: Any Status: New Severity: Affects Some People Priority: --- Component: Individual Port(s) Assignee: freebsd-ports-bugs@FreeBSD.org Reporter: danny@dannywarren.com CC: samm@os2.kiev.ua CC: samm@os2.kiev.ua Flags: maintainer-feedback?(samm@os2.kiev.ua) Created attachment 156261 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=156261&action=edit patch-fuse-main.c It looks like fusefs-exfat does not support fuse's CREATE file operator. Because of this, creating new files does not work on exfat mounted filesystems. Most other file operations work just fine, such as creating directories or writing to existing files. Just not anything that (I am assuming) calls creat(2) or O_CREAT under the hood. Which seems like most everything. The attached patch adds CREATE support to fusefs-exfat, which makes new file operations work again in FreeBSD. Here are examples of create file operations failing (including snippets from fusefs debug to show what is breaking): $ touch testfile touch: testfile: Function not implemented unique: 4, opcode: CREATE (35), nodeid: 1, insize: 53, pid: 5678 unique: 4, error: -78 (Function not implemented), outsize: 16 $ echo "test" > testfile mksh: can't create testfile: Invalid argument unique: 26, opcode: CREATE (35), nodeid: 1, insize: 57, pid: 10351 unique: 26, error: -78 (Function not implemented), outsize: 16 Here are the same file operations working after the patch: $ touch testfile unique: 66, opcode: CREATE (35), nodeid: 1, insize: 57, pid: 10880 create flags: 0x202 /testfile 0100644 umask=0000 create[34385160192] flags: 0x202 /testfile getattr /testfile NODEID: 3 unique: 66, success, outsize: 152 unique: 67, opcode: GETATTR (3), nodeid: 3, insize: 40, pid: 10880 getattr /testfile unique: 67, success, outsize: 112 unique: 68, opcode: OPEN (14), nodeid: 3, insize: 48, pid: 10880 open flags: 0x1 /testfile open[34385160192] flags: 0x1 /testfile unique: 68, success, outsize: 32 $ echo "test" > testfile unique: 134, opcode: CREATE (35), nodeid: 1, insize: 57, pid: 1687 create flags: 0x202 /testfile 0100644 umask=0000 create[34385160192] flags: 0x202 /testfile getattr /testfile NODEID: 5 unique: 134, success, outsize: 152 unique: 135, opcode: GETATTR (3), nodeid: 5, insize: 40, pid: 1687 getattr /testfile unique: 135, success, outsize: 112 unique: 136, opcode: OPEN (14), nodeid: 5, insize: 48, pid: 1687 open flags: 0x1 /testfile open[34385160192] flags: 0x1 /testfile unique: 136, success, outsize: 32 unique: 137, opcode: GETATTR (3), nodeid: 5, insize: 40, pid: 1687 getattr /testfile unique: 137, success, outsize: 112 unique: 138, opcode: WRITE (16), nodeid: 5, insize: 69, pid: 1687 write[34385160192] 5 bytes to 0 flags: 0x0 write[34385160192] 5 bytes to 0 unique: 138, success, outsize: 24 Additional information can be see about the fusefs CREATE operator here: http://fuse.sourceforge.net/doxygen/structfuse__operations.html#a97243e0f9268a96236bc3b6f2bacee17 -- You are receiving this mail because: You are the assignee for the bug.