 |
|
Page 1 of 1
|
[ 6 posts ] |
|
Can't modify existing files
Author |
Message |
joostm
Joined: Fri Apr 02, 2010 10:07 Posts: 1
|
 Can't modify existing files
Hi, I'm using ntfs-3g on opensolaris. I can mount the device and I can create new files on the ntfs. Changing an existing file doesn't work though. Here's an example: Code: joost@acrx$ echo "hi" > /d/file1 joost@acrx$ echo "bye" >> /d/file1 -ksh: /d/file1: cannot create [File exists]
I've tried various versions and various mount options but nothing helps. Any hints are much appreciated! Thanks, Joost Code: Version 2010.3.6 external FUSE 27 Mounted /devices/pci@0,0/pci1025,11a@1f,2/disk@0,0:s (Read-Write, label "D", NTFS 3.1) Cmdline options: uid=102256,gid=102256,noatime,show_sys_files,debug Mount options: silent,allow_other,nonempty,noatime,fsname=/devices/pci@0,0/pci1025,11a@1f,2/disk@0,0:s,default_permissions Global ownership and permissions enforced, configuration type 1 unique: 1, opcode: INIT (26), nodeid: 1, insize: 56 INIT: 7.8 flags=0x00000000 max_readahead=0x00000000 INIT: 7.8 flags=0x00000000 max_readahead=0x00000000 max_write=0x00020000 unique: 1, error: 0 (Error 0), outsize: 40
... Code: LOOKUP /file1 unique: 289, error: -2 (No such file or directory), outsize: 16 unique: 290, opcode: GETATTR (3), nodeid: 1, insize: 40 unique: 290, error: 0 (Error 0), outsize: 112 unique: 291, opcode: CREATE (35), nodeid: 1, insize: 55 NODEID: 29 unique: 291, error: 0 (Error 0), outsize: 152 CREATE[0] flags: 0x2301 /file1 unique: 292, opcode: GETATTR (3), nodeid: 29, insize: 40 unique: 292, error: 0 (Error 0), outsize: 112 unique: 293, opcode: GETATTR (3), nodeid: 29, insize: 40 unique: 293, error: 0 (Error 0), outsize: 112 unique: 294, opcode: RELEASE (18), nodeid: 29, insize: 64 RELEASE[0] flags: 0x2301 unique: 294, error: 0 (Error 0), outsize: 16 unique: 295, opcode: GETATTR (3), nodeid: 29, insize: 40 unique: 295, error: 0 (Error 0), outsize: 112 unique: 296, opcode: GETATTR (3), nodeid: 29, insize: 40 unique: 296, error: 0 (Error 0), outsize: 112 unique: 297, opcode: OPEN (14), nodeid: 29, insize: 48 unique: 297, error: 0 (Error 0), outsize: 32 OPEN[0] flags: 0x1 /file1 unique: 298, opcode: WRITE (16), nodeid: 29, insize: 67 WRITE[0] 3 bytes to 0 WRITE[0] 3 bytes unique: 298, error: 0 (Error 0), outsize: 24 unique: 299, opcode: RELEASE (18), nodeid: 29, insize: 64 RELEASE[0] flags: 0x1 unique: 299, error: 0 (Error 0), outsize: 16 unique: 300, opcode: ACCESS (34), nodeid: 1, insize: 48 ACCESS / 01 unique: 300, error: -89 (Operation not applicable), outsize: 16 unique: 301, opcode: LOOKUP (1), nodeid: 1, insize: 46 LOOKUP /file1 NODEID: 29 unique: 301, error: 0 (Error 0), outsize: 136 unique: 302, opcode: GETATTR (3), nodeid: 1, insize: 40 unique: 302, error: 0 (Error 0), outsize: 112 unique: 303, opcode: CREATE (35), nodeid: 1, insize: 55 Index already have such entry: File exists Failed to add entry to the index: File exists unique: 303, error: -17 (File exists), outsize: 16 Unmounting /devices/pci@0,0/pci1025,11a@1f,2/disk@0,0:s (D)
|
Fri Apr 02, 2010 12:07 |
|
 |
jpa
NTFS-3G Lead Developer
Joined: Tue Sep 04, 2007 17:22 Posts: 1286
|
 Re: Can't modify existing files
Hi, Code: unique: 301, opcode: LOOKUP (1), nodeid: 1, insize: 46 LOOKUP /file1 NODEID: 29 unique: 301, error: 0 (Error 0), outsize: 136 unique: 302, opcode: GETATTR (3), nodeid: 1, insize: 40 unique: 302, error: 0 (Error 0), outsize: 112 unique: 303, opcode: CREATE (35), nodeid: 1, insize: 55 Index already have such entry: File exists Failed to add entry to the index: File exists unique: 303, error: -17 (File exists), outsize: 16 From the ntfs-3g perspective, this sequence is correct : the caller checks for existing file, and gets zero (file available), and the following file creation is rightfully rejected. This looks like an error in fuse. It has been reported that fuse has to be recompiled on OpenSolaris. Did you do so ? Regards Jean-Pierre
|
Fri Apr 02, 2010 16:06 |
|
 |
rodenp
Joined: Thu Nov 03, 2011 15:30 Posts: 1
|
 Re: Can't modify existing files
I have just installed ntfs-3g on openindiana build and get the same error. I can read, create and delete files, but cannot update them. i followed these instruction to install fuse: http://hub.opensolaris.org/bin/view/Pro ... stallationand also downloaded the latest ntfs-3g package i got the following warning when compiling the ntfs-3g source **************************************************************************** * WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING * * The FUSE user space binaries were NOT installed with root directory * * executable prefix. This means that automounting NTFS volumes during boot * * could fail. This can be fixed the below way by reinstalling FUSE using * * the right 'configure' option during FUSE compilation: * * ./configure --exec-prefix=/ * * make && sudo make install * * WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING * **************************************************************************** I also found this entry on Oracle's site blogs.oracle.com/rslee/entry/mount_ntfs_partion_on_solaris which mentioned the same issue I thought i would try a newer version of fuse and attempted to compile it and got the following errors: fuse.c: In function `convert_statfs_old': fuse.c:1022: error: structure has no member named `f_bavail' fuse.c:1025: error: structure has no member named `f_namelen' fuse.c: In function `fuse_fs_create': fuse.c:1428: warning: unsigned int format, mode_t arg (arg 5) fuse.c:1428: warning: unsigned int format, mode_t arg (arg 6) fuse.c: In function `fuse_fs_mknod': fuse.c:1579: warning: unsigned int format, mode_t arg (arg 4) fuse.c:1579: warning: unsigned int format, mode_t arg (arg 6) fuse.c: In function `fuse_fs_mkdir': fuse.c:1593: warning: unsigned int format, mode_t arg (arg 4) fuse.c:1593: warning: unsigned int format, mode_t arg (arg 5) make[1]: *** [fuse.lo] Error 1 could you please assist regards
|
Thu Nov 03, 2011 18:06 |
|
 |
jpa
NTFS-3G Lead Developer
Joined: Tue Sep 04, 2007 17:22 Posts: 1286
|
 Re: Can't modify existing files
Hi, Quote: I'm using ntfs-3g on opensolaris. I can mount the device and I can create new files on the ntfs. Changing an existing file doesn't work though. Here's an example: I have finally been able to replicate this problem on OpenIndiana.... not easy, as there is apparently no free source for standard include files (stdio.h, stat.h etc.). First, the problem does not exist with the low level interface (use lowntfs-3g instead of ntfs-3g). Then, with the high level (standard ntfs-3g), it only occurs when appending to a file, I did not get it for other update modes. For some reason, fuse issues a create_file request instead of an open request. Luckily the "append" flag is set, so ntfs-3g can detect the situation and do a normal open. I do not know whether this is a hack or expected behavior. Please try the attached patch, and sorry for the delay. Regards Jean-Pierre
|
Thu Dec 22, 2011 15:36 |
|
 |
jpa
NTFS-3G Lead Developer
Joined: Tue Sep 04, 2007 17:22 Posts: 1286
|
 Re: Can't modify existing files
Hi,
Running more tests on OpenIndiana, I find numerous bugs in fuse behavior : - cannot recreate an existing file, - cannot write (or ftruncate) to a file created for writing read-only, - when unlinking is denied, unlink() returns 0, - opened directories are not released, - probably more...
Also file name completion is not done ("ls -l foo*"), though the file list is queried from ntfs-3g, with a proper answer.
I could work around the above bugs by hacking lowntfs-3g, but with ntfs-3g too many errors accumulate in a single call.
I am using the latest fuse release from the sfe directory.... It is obviously far from being acceptable.
Good luck to OpenIndiana users.
Regards
Jean-Pierre
|
Fri Dec 23, 2011 13:56 |
|
 |
jpa
NTFS-3G Lead Developer
Joined: Tue Sep 04, 2007 17:22 Posts: 1286
|
 Re: Can't modify existing files
|
Thu Jan 05, 2012 09:11 |
|
|
|
Page 1 of 1
|
[ 6 posts ] |
|
Who is online |
Users browsing this forum: No registered users and 0 guests |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot post attachments in this forum
|
|
 |