# NTFS Write enabled, but permission denied

## scoy

in my kernel i have ntfs support enabled ...

```

<M> NTFS file system support

  [*]   NTFS debugging support

  [*]   NTFS write support

```

Now I have the write enabled, but when I mount and try to write I get ...

```
~ # mount -o rw /dev/sda2 /mnt/windblows

~ # cd /mnt/windblows/

windblows # mkdir testDir

mkdir: cannot create directory `testDir': Operation not permitted

windblows # touch testFile

touch: cannot touch `testFile': Permission denied

```

... so i enabled debugging ...

```
~ # umount /mnt/winblows

~ # modprobe -r ntfs

~ # modprobe ntfs debug_msgs=1

~ # echo 1 > /proc/sys/fs/ntfs-debug

~ # mount -o rw /dev/sda2 /mnt/windblows

~ # touch /mnt/winblows/testFile

touch: cannot touch `testFile': Permission denied

```

.. and the debugging isn't helping me at all ...

```
~ # dmesg

fs DEBUG (fs/ntfs/runlist.c, 892): ntfs_mapping_pairs_decompress(): Mapping pairs array successfully decompressed:

NTFS-fs DEBUG: Dumping runlist (values in hex):

VCN              LCN               Run length

0                954c5             20              

20               LCN_ENOENT        0                (runlist end)

NTFS-fs DEBUG (fs/ntfs/mft.c, 213): unmap_mft_record(): Entering for mft_no 0xa.

NTFS-fs DEBUG (fs/ntfs/super.c, 1315): load_and_init_upcase(): Read 131072 bytes from $UpCase (expected 131072 bytes).

NTFS-fs DEBUG (fs/ntfs/inode.c, 334): ntfs_destroy_big_inode(): Entering.

NTFS-fs DEBUG (fs/ntfs/super.c, 1337): load_and_init_upcase(): Volume specified $UpCase matches default. Using default.

NTFS-fs DEBUG (fs/ntfs/super.c, 1214): load_and_init_attrdef(): Entering.

NTFS-fs DEBUG (fs/ntfs/inode.c, 319): ntfs_alloc_big_inode(): Entering.

NTFS-fs DEBUG (fs/ntfs/inode.c, 531): ntfs_read_locked_inode(): Entering for i_ino 0x4.

NTFS-fs DEBUG (fs/ntfs/inode.h, 288): ntfs_init_big_inode(): Entering.

NTFS-fs DEBUG (fs/ntfs/inode.c, 378): __ntfs_init_inode(): Entering.

NTFS-fs DEBUG (fs/ntfs/mft.c, 153): map_mft_record(): Entering for mft_no 0x4.

NTFS-fs DEBUG (fs/ntfs/attrib.c, 848): ntfs_attr_lookup(): Entering.

NTFS-fs DEBUG (fs/ntfs/attrib.c, 848): ntfs_attr_lookup(): Entering.

NTFS-fs DEBUG (fs/ntfs/attrib.c, 848): ntfs_attr_lookup(): Entering.

NTFS-fs DEBUG (fs/ntfs/mft.c, 213): unmap_mft_record(): Entering for mft_no 0x4.

NTFS-fs DEBUG (fs/ntfs/inode.c, 1125): ntfs_read_locked_inode(): Done.

NTFS-fs DEBUG (fs/ntfs/attrib.c, 52): ntfs_map_runlist(): Mapping runlist part containing vcn 0x0.

NTFS-fs DEBUG (fs/ntfs/mft.c, 153): map_mft_record(): Entering for mft_no 0x4.

NTFS-fs DEBUG (fs/ntfs/attrib.c, 848): ntfs_attr_lookup(): Entering.

NTFS-fs DEBUG (fs/ntfs/runlist.c, 892): ntfs_mapping_pairs_decompress(): Mapping pairs array successfully decompressed:

NTFS-fs DEBUG: Dumping runlist (values in hex):

VCN              LCN               Run length

0                3fffe             1               

1                LCN_ENOENT        0                (runlist end)

NTFS-fs DEBUG (fs/ntfs/mft.c, 213): unmap_mft_record(): Entering for mft_no 0x4.

NTFS-fs DEBUG (fs/ntfs/super.c, 1247): load_and_init_attrdef(): Read 2560 bytes from $AttrDef.

NTFS-fs DEBUG (fs/ntfs/inode.c, 334): ntfs_destroy_big_inode(): Entering.

NTFS-fs DEBUG (fs/ntfs/inode.c, 319): ntfs_alloc_big_inode(): Entering.

NTFS-fs DEBUG (fs/ntfs/inode.c, 531): ntfs_read_locked_inode(): Entering for i_ino 0x6.

NTFS-fs DEBUG (fs/ntfs/inode.h, 288): ntfs_init_big_inode(): Entering.

NTFS-fs DEBUG (fs/ntfs/inode.c, 378): __ntfs_init_inode(): Entering.

NTFS-fs DEBUG (fs/ntfs/mft.c, 153): map_mft_record(): Entering for mft_no 0x6.

NTFS-fs DEBUG (fs/ntfs/attrib.c, 848): ntfs_attr_lookup(): Entering.

NTFS-fs DEBUG (fs/ntfs/attrib.c, 848): ntfs_attr_lookup(): Entering.

NTFS-fs DEBUG (fs/ntfs/attrib.c, 848): ntfs_attr_lookup(): Entering.

NTFS-fs DEBUG (fs/ntfs/mft.c, 213): unmap_mft_record(): Entering for mft_no 0x6.

NTFS-fs DEBUG (fs/ntfs/inode.c, 1125): ntfs_read_locked_inode(): Done.

NTFS-fs DEBUG (fs/ntfs/inode.c, 319): ntfs_alloc_big_inode(): Entering.

NTFS-fs DEBUG (fs/ntfs/inode.c, 531): ntfs_read_locked_inode(): Entering for i_ino 0x3.

NTFS-fs DEBUG (fs/ntfs/inode.h, 288): ntfs_init_big_inode(): Entering.

NTFS-fs DEBUG (fs/ntfs/inode.c, 378): __ntfs_init_inode(): Entering.

NTFS-fs DEBUG (fs/ntfs/mft.c, 153): map_mft_record(): Entering for mft_no 0x3.

NTFS-fs DEBUG (fs/ntfs/attrib.c, 848): ntfs_attr_lookup(): Entering.

NTFS-fs DEBUG (fs/ntfs/attrib.c, 848): ntfs_attr_lookup(): Entering.

NTFS-fs DEBUG (fs/ntfs/attrib.c, 848): ntfs_attr_lookup(): Entering.

NTFS-fs DEBUG (fs/ntfs/mft.c, 213): unmap_mft_record(): Entering for mft_no 0x3.

NTFS-fs DEBUG (fs/ntfs/inode.c, 1125): ntfs_read_locked_inode(): Done.

NTFS-fs DEBUG (fs/ntfs/mft.c, 153): map_mft_record(): Entering for mft_no 0x3.

NTFS-fs DEBUG (fs/ntfs/attrib.c, 848): ntfs_attr_lookup(): Entering.

NTFS-fs DEBUG (fs/ntfs/mft.c, 213): unmap_mft_record(): Entering for mft_no 0x3.

NTFS volume version 3.1.

NTFS-fs DEBUG (fs/ntfs/super.c, 1112): load_and_check_logfile(): Entering.

NTFS-fs DEBUG (fs/ntfs/inode.c, 319): ntfs_alloc_big_inode(): Entering.

NTFS-fs DEBUG (fs/ntfs/inode.c, 531): ntfs_read_locked_inode(): Entering for i_ino 0x2.

NTFS-fs DEBUG (fs/ntfs/inode.h, 288): ntfs_init_big_inode(): Entering.

NTFS-fs DEBUG (fs/ntfs/inode.c, 378): __ntfs_init_inode(): Entering.

NTFS-fs DEBUG (fs/ntfs/mft.c, 153): map_mft_record(): Entering for mft_no 0x2.

NTFS-fs DEBUG (fs/ntfs/attrib.c, 848): ntfs_attr_lookup(): Entering.

NTFS-fs DEBUG (fs/ntfs/attrib.c, 848): ntfs_attr_lookup(): Entering.

NTFS-fs DEBUG (fs/ntfs/attrib.c, 848): ntfs_attr_lookup(): Entering.

NTFS-fs DEBUG (fs/ntfs/mft.c, 213): unmap_mft_record(): Entering for mft_no 0x2.

NTFS-fs DEBUG (fs/ntfs/inode.c, 1125): ntfs_read_locked_inode(): Done.

NTFS-fs DEBUG (fs/ntfs/logfile.c, 442): ntfs_check_logfile(): Entering.

NTFS-fs DEBUG (fs/ntfs/attrib.c, 52): ntfs_map_runlist(): Mapping runlist part containing vcn 0x0.

NTFS-fs DEBUG (fs/ntfs/mft.c, 153): map_mft_record(): Entering for mft_no 0x2.

NTFS-fs DEBUG (fs/ntfs/attrib.c, 848): ntfs_attr_lookup(): Entering.

NTFS-fs DEBUG (fs/ntfs/runlist.c, 892): ntfs_mapping_pairs_decompress(): Mapping pairs array successfully decompressed:

NTFS-fs DEBUG: Dumping runlist (values in hex):

VCN              LCN               Run length

0                3e61a             19e4            

19e4             LCN_ENOENT        0                (runlist end)

NTFS-fs DEBUG (fs/ntfs/mft.c, 213): unmap_mft_record(): Entering for mft_no 0x2.

NTFS-fs DEBUG (fs/ntfs/logfile.c, 568): ntfs_check_logfile(): Done.  ($LogFile is empty.)

NTFS-fs DEBUG (fs/ntfs/super.c, 1126): load_and_check_logfile(): Done.

NTFS-fs DEBUG (fs/ntfs/logfile.c, 629): ntfs_is_logfile_clean(): Entering.

NTFS-fs DEBUG (fs/ntfs/logfile.c, 632): ntfs_is_logfile_clean(): Done.  ($LogFile is empty.)

NTFS-fs DEBUG (fs/ntfs/super.c, 332): ntfs_write_volume_flags(): Entering, old flags = 0x0, new flags = 0x1.

NTFS-fs DEBUG (fs/ntfs/mft.c, 153): map_mft_record(): Entering for mft_no 0x3.

NTFS-fs DEBUG (fs/ntfs/attrib.c, 848): ntfs_attr_lookup(): Entering.

NTFS-fs DEBUG (fs/ntfs/mft.c, 394): __mark_mft_record_dirty(): Entering for inode 0x3.

NTFS-fs DEBUG (fs/ntfs/mft.c, 213): unmap_mft_record(): Entering for mft_no 0x3.

NTFS-fs DEBUG (fs/ntfs/super.c, 358): ntfs_write_volume_flags(): Done.

NTFS-fs DEBUG (fs/ntfs/logfile.c, 688): ntfs_empty_logfile(): Entering.

NTFS-fs DEBUG (fs/ntfs/logfile.c, 701): ntfs_empty_logfile(): Done.

NTFS-fs DEBUG (fs/ntfs/inode.c, 319): ntfs_alloc_big_inode(): Entering.

NTFS-fs DEBUG (fs/ntfs/inode.c, 531): ntfs_read_locked_inode(): Entering for i_ino 0x5.

NTFS-fs DEBUG (fs/ntfs/inode.h, 288): ntfs_init_big_inode(): Entering.

NTFS-fs DEBUG (fs/ntfs/inode.c, 378): __ntfs_init_inode(): Entering.

NTFS-fs DEBUG (fs/ntfs/mft.c, 153): map_mft_record(): Entering for mft_no 0x5.

NTFS-fs DEBUG (fs/ntfs/attrib.c, 848): ntfs_attr_lookup(): Entering.

NTFS-fs DEBUG (fs/ntfs/attrib.c, 848): ntfs_attr_lookup(): Entering.

NTFS-fs DEBUG (fs/ntfs/attrib.c, 848): ntfs_attr_lookup(): Entering.

NTFS-fs DEBUG (fs/ntfs/attrib.c, 848): ntfs_attr_lookup(): Entering.

NTFS-fs DEBUG (fs/ntfs/mft.c, 213): unmap_mft_record(): Entering for mft_no 0x5.

NTFS-fs DEBUG (fs/ntfs/inode.c, 319): ntfs_alloc_big_inode(): Entering.

NTFS-fs DEBUG (fs/ntfs/inode.c, 1172): ntfs_read_locked_attr_inode(): Entering for i_ino 0x5.

NTFS-fs DEBUG (fs/ntfs/inode.h, 288): ntfs_init_big_inode(): Entering.

NTFS-fs DEBUG (fs/ntfs/inode.c, 378): __ntfs_init_inode(): Entering.

NTFS-fs DEBUG (fs/ntfs/mft.c, 153): map_mft_record(): Entering for mft_no 0x5.

NTFS-fs DEBUG (fs/ntfs/attrib.c, 848): ntfs_attr_lookup(): Entering.

NTFS-fs DEBUG (fs/ntfs/mft.c, 213): unmap_mft_record(): Entering for mft_no 0x5.

NTFS-fs DEBUG (fs/ntfs/inode.c, 1375): ntfs_read_locked_attr_inode(): Done.

NTFS-fs DEBUG (fs/ntfs/inode.c, 1125): ntfs_read_locked_inode(): Done.

NTFS-fs DEBUG (fs/ntfs/inode.c, 319): ntfs_alloc_big_inode(): Entering.

NTFS-fs DEBUG (fs/ntfs/inode.c, 531): ntfs_read_locked_inode(): Entering for i_ino 0x9.

NTFS-fs DEBUG (fs/ntfs/inode.h, 288): ntfs_init_big_inode(): Entering.

NTFS-fs DEBUG (fs/ntfs/inode.c, 378): __ntfs_init_inode(): Entering.

NTFS-fs DEBUG (fs/ntfs/mft.c, 153): map_mft_record(): Entering for mft_no 0x9.

NTFS-fs DEBUG (fs/ntfs/attrib.c, 848): ntfs_attr_lookup(): Entering.

NTFS-fs DEBUG (fs/ntfs/attrib.c, 848): ntfs_attr_lookup(): Entering.

NTFS-fs DEBUG (fs/ntfs/inode.c, 674): ntfs_read_locked_inode(): Attribute list found in inode 0x9.

NTFS-fs DEBUG (fs/ntfs/attrib.c, 848): ntfs_attr_lookup(): Entering.

NTFS-fs DEBUG (fs/ntfs/attrib.c, 528): ntfs_external_attr_find(): Entering for inode 0x9, type 0x80.

NTFS-fs DEBUG (fs/ntfs/attrib.c, 798): ntfs_external_attr_find(): Done, not found.

NTFS-fs DEBUG (fs/ntfs/mft.c, 213): unmap_mft_record(): Entering for mft_no 0x9.

NTFS-fs DEBUG (fs/ntfs/inode.c, 1125): ntfs_read_locked_inode(): Done.

NTFS-fs DEBUG (fs/ntfs/inode.c, 319): ntfs_alloc_big_inode(): Entering.

NTFS-fs DEBUG (fs/ntfs/inode.c, 531): ntfs_read_locked_inode(): Entering for i_ino 0xb.

NTFS-fs DEBUG (fs/ntfs/inode.h, 288): ntfs_init_big_inode(): Entering.

NTFS-fs DEBUG (fs/ntfs/inode.c, 378): __ntfs_init_inode(): Entering.

NTFS-fs DEBUG (fs/ntfs/mft.c, 153): map_mft_record(): Entering for mft_no 0xb.

NTFS-fs DEBUG (fs/ntfs/attrib.c, 848): ntfs_attr_lookup(): Entering.

NTFS-fs DEBUG (fs/ntfs/attrib.c, 848): ntfs_attr_lookup(): Entering.

NTFS-fs DEBUG (fs/ntfs/attrib.c, 848): ntfs_attr_lookup(): Entering.

NTFS-fs DEBUG (fs/ntfs/mft.c, 213): unmap_mft_record(): Entering for mft_no 0xb.

NTFS-fs DEBUG (fs/ntfs/inode.c, 1125): ntfs_read_locked_inode(): Done.

NTFS-fs DEBUG (fs/ntfs/super.c, 1149): load_and_init_quota(): Entering.

NTFS-fs DEBUG (fs/ntfs/mft.c, 153): map_mft_record(): Entering for mft_no 0xb.

NTFS-fs DEBUG (fs/ntfs/attrib.c, 848): ntfs_attr_lookup(): Entering.

NTFS-fs DEBUG (fs/ntfs/mft.c, 213): unmap_mft_record(): Entering for mft_no 0xb.

NTFS-fs DEBUG (fs/ntfs/inode.c, 319): ntfs_alloc_big_inode(): Entering.

NTFS-fs DEBUG (fs/ntfs/inode.c, 531): ntfs_read_locked_inode(): Entering for i_ino 0x18.

NTFS-fs DEBUG (fs/ntfs/inode.h, 288): ntfs_init_big_inode(): Entering.

NTFS-fs DEBUG (fs/ntfs/inode.c, 378): __ntfs_init_inode(): Entering.

NTFS-fs DEBUG (fs/ntfs/mft.c, 153): map_mft_record(): Entering for mft_no 0x18.

NTFS-fs DEBUG (fs/ntfs/attrib.c, 848): ntfs_attr_lookup(): Entering.

NTFS-fs DEBUG (fs/ntfs/attrib.c, 848): ntfs_attr_lookup(): Entering.

NTFS-fs DEBUG (fs/ntfs/attrib.c, 848): ntfs_attr_lookup(): Entering.

NTFS-fs DEBUG (fs/ntfs/attrib.c, 848): ntfs_attr_lookup(): Entering.

NTFS-fs DEBUG (fs/ntfs/mft.c, 213): unmap_mft_record(): Entering for mft_no 0x18.

NTFS-fs DEBUG (fs/ntfs/inode.c, 1125): ntfs_read_locked_inode(): Done.

NTFS-fs DEBUG (fs/ntfs/inode.c, 319): ntfs_alloc_big_inode(): Entering.

NTFS-fs DEBUG (fs/ntfs/inode.c, 1441): ntfs_read_locked_index_inode(): Entering for i_ino 0x18.

NTFS-fs DEBUG (fs/ntfs/inode.h, 288): ntfs_init_big_inode(): Entering.

NTFS-fs DEBUG (fs/ntfs/inode.c, 378): __ntfs_init_inode(): Entering.

NTFS-fs DEBUG (fs/ntfs/mft.c, 153): map_mft_record(): Entering for mft_no 0x18.

NTFS-fs DEBUG (fs/ntfs/attrib.c, 848): ntfs_attr_lookup(): Entering.

NTFS-fs DEBUG (fs/ntfs/inode.c, 1517): ntfs_read_locked_index_inode(): Index collation rule is 0x10.

NTFS-fs DEBUG (fs/ntfs/mft.c, 213): unmap_mft_record(): Entering for mft_no 0x18.

NTFS-fs DEBUG (fs/ntfs/inode.c, 1658): ntfs_read_locked_index_inode(): Done.

NTFS-fs DEBUG (fs/ntfs/super.c, 1196): load_and_init_quota(): Done.

NTFS-fs DEBUG (fs/ntfs/quota.c, 44): ntfs_mark_quotas_out_of_date(): Entering.

NTFS-fs DEBUG (fs/ntfs/index.c, 145): ntfs_index_lookup(): Entering.

NTFS-fs DEBUG (fs/ntfs/mft.c, 153): map_mft_record(): Entering for mft_no 0x18.

NTFS-fs DEBUG (fs/ntfs/attrib.c, 848): ntfs_attr_lookup(): Entering.

NTFS-fs DEBUG (fs/ntfs/index.c, 227): ntfs_index_lookup(): Done.

NTFS-fs DEBUG (fs/ntfs/quota.c, 78): ntfs_mark_quotas_out_of_date(): Quota defaults flags = 0x1.

NTFS-fs DEBUG (fs/ntfs/mft.c, 213): unmap_mft_record(): Entering for mft_no 0x18.

NTFS-fs DEBUG (fs/ntfs/quota.c, 108): ntfs_mark_quotas_out_of_date(): Done.

NTFS-fs DEBUG (fs/ntfs/super.c, 2457): ntfs_fill_super(): Exiting, status successful.

NTFS-fs DEBUG (fs/ntfs/namei.c, 113): ntfs_lookup(): Looking up testDir in directory inode 0x5.

NTFS-fs DEBUG (fs/ntfs/mft.c, 153): map_mft_record(): Entering for mft_no 0x5.

NTFS-fs DEBUG (fs/ntfs/attrib.c, 848): ntfs_attr_lookup(): Entering.

NTFS-fs DEBUG (fs/ntfs/mft.c, 213): unmap_mft_record(): Entering for mft_no 0x5.

NTFS-fs DEBUG (fs/ntfs/attrib.c, 52): ntfs_map_runlist(): Mapping runlist part containing vcn 0x0.

NTFS-fs DEBUG (fs/ntfs/mft.c, 153): map_mft_record(): Entering for mft_no 0x5.

NTFS-fs DEBUG (fs/ntfs/attrib.c, 848): ntfs_attr_lookup(): Entering.

NTFS-fs DEBUG (fs/ntfs/runlist.c, 892): ntfs_mapping_pairs_decompress(): Mapping pairs array successfully decompressed:

NTFS-fs DEBUG: Dumping runlist (values in hex):

VCN              LCN               Run length

0                eff86             1               

1                LCN_ENOENT        0                (runlist end)

NTFS-fs DEBUG (fs/ntfs/mft.c, 213): unmap_mft_record(): Entering for mft_no 0x5.

NTFS-fs DEBUG (fs/ntfs/dir.c, 586): ntfs_lookup_inode_by_name(): Entry not found.

NTFS-fs DEBUG (fs/ntfs/namei.c, 163): ntfs_lookup(): Entry was not found, adding negative dentry.

NTFS-fs DEBUG (fs/ntfs/namei.c, 166): ntfs_lookup(): Done.

NTFS-fs DEBUG (fs/ntfs/aops.c, 817): ntfs_write_mst_block(): Entering for inode 0x0, attribute type 0x80, page index 0x0.

NTFS-fs DEBUG (fs/ntfs/mft.c, 933): ntfs_may_write_mft_record(): Entering for inode 0x3.

NTFS-fs DEBUG (fs/ntfs/mft.c, 943): ntfs_may_write_mft_record(): Looking for inode 0x3 in icache.

NTFS-fs DEBUG (fs/ntfs/mft.c, 964): ntfs_may_write_mft_record(): Base inode 0x3 is in icache.

NTFS-fs DEBUG (fs/ntfs/mft.c, 972): ntfs_may_write_mft_record(): Inode 0x3 is dirty, do not write it.

NTFS-fs DEBUG (fs/ntfs/aops.c, 1181): ntfs_write_mst_block(): Page still contains one or more dirty ntfs records.  Redirtying the page starting at record 0x0.

NTFS-fs DEBUG (fs/ntfs/aops.c, 1196): ntfs_write_mst_block(): Done.

NTFS-fs DEBUG (fs/ntfs/inode.c, 2483): ntfs_write_inode(): Entering for inode 0x3.

NTFS-fs DEBUG (fs/ntfs/mft.c, 153): map_mft_record(): Entering for mft_no 0x3.

NTFS-fs DEBUG (fs/ntfs/attrib.c, 848): ntfs_attr_lookup(): Entering.

NTFS-fs DEBUG (fs/ntfs/mft.c, 680): write_mft_record_nolock(): Entering for inode 0x3.

NTFS-fs DEBUG (fs/ntfs/mft.c, 474): ntfs_sync_mft_mirror(): Entering for inode 0x3.

NTFS-fs DEBUG (fs/ntfs/mft.c, 619): ntfs_sync_mft_mirror(): Done.

NTFS-fs DEBUG (fs/ntfs/mft.c, 821): write_mft_record_nolock(): Done.

NTFS-fs DEBUG (fs/ntfs/mft.c, 213): unmap_mft_record(): Entering for mft_no 0x3.

NTFS-fs DEBUG (fs/ntfs/inode.c, 2597): ntfs_write_inode(): Done.

NTFS-fs DEBUG (fs/ntfs/aops.c, 817): ntfs_write_mst_block(): Entering for inode 0x0, attribute type 0x80, page index 0x0.

NTFS-fs DEBUG (fs/ntfs/aops.c, 1196): ntfs_write_mst_block(): Done.

NTFS-fs DEBUG (fs/ntfs/namei.c, 113): ntfs_lookup(): Looking up testFile in directory inode 0x5.

NTFS-fs DEBUG (fs/ntfs/mft.c, 153): map_mft_record(): Entering for mft_no 0x5.

NTFS-fs DEBUG (fs/ntfs/attrib.c, 848): ntfs_attr_lookup(): Entering.

NTFS-fs DEBUG (fs/ntfs/mft.c, 213): unmap_mft_record(): Entering for mft_no 0x5.

NTFS-fs DEBUG (fs/ntfs/dir.c, 586): ntfs_lookup_inode_by_name(): Entry not found.

NTFS-fs DEBUG (fs/ntfs/namei.c, 163): ntfs_lookup(): Entry was not found, adding negative dentry.

NTFS-fs DEBUG (fs/ntfs/namei.c, 166): ntfs_lookup(): Done.

```

.. the only thing that I see is something about a dirty inode ...

```
NTFS-fs DEBUG (fs/ntfs/mft.c, 943): ntfs_may_write_mft_record(): Looking for inode 0x3 in icache.

NTFS-fs DEBUG (fs/ntfs/mft.c, 964): ntfs_may_write_mft_record(): Base inode 0x3 is in icache.

NTFS-fs DEBUG (fs/ntfs/mft.c, 972): ntfs_may_write_mft_record(): Inode 0x3 is dirty, do not write it.

```

.. but when I boot into windows, everything is fine. So why isn't it allowing me to write?  I am running as root the whole time, so it's not permissions ... 

```
 # ls -l /mnt/ /mnt/windblows/

/mnt/:

total 4

drwx------  2 root root   72 Oct 27  2004 cdrom

drwx------  2 root root   72 Oct 27  2004 floppy

drwx------  1 root root 4096 Aug 19 00:23 windblows

/mnt/windblows/:

total 831484

-rw-------  1 root root         0 Dec 28  2004 AUTOEXEC.BAT

-rw-------  1 root root  33531222 Aug  7 09:17 AVG7DB_F.DAT

-rw-------  1 root root  12219249 Dec 29  2004 AVG7QT.DAT

-rw-------  1 root root       211 Dec 28  2004 boot.ini

-rw-------  1 root root         0 Dec 28  2004 CONFIG.SYS

drwx------  1 root root      4096 Dec 28  2004 Documents and Settings

-rw-------  1 root root         0 Dec 28  2004 IO.SYS

-rw-------  1 root root      3450 Mar  9 20:15 LGSInst.Log

-rw-------  1 root root         0 Dec 28  2004 MSDOS.SYS

-rw-------  2 root root        86 Dec 30  2004 myinstall.log

-rw-------  1 root root     47564 Dec 28  2004 NTDETECT.COM

-rw-------  1 root root    250032 Dec 28  2004 ntldr

-rw-------  1 root root 805306368 Aug 18 23:29 pagefile.sys

drwx------  1 root root         0 Feb 27 15:08 PROGRA~1

drwx------  1 root root         0 Feb  2  2005 Program Files

drwx------  1 root root      4096 Dec 29  2004 RECYCLER

drwx------  1 root root      4096 Dec 28  2004 System Volume Information

drwx------  1 root root         0 Jan 11  2005 temp

-rw-------  1 root root       507 Dec 30  2004 temp.log

drwx------  1 root root     57344 Aug 19 00:23 WINDOWS

```

Thanks for any help.

----------

## feivelda

It can be the encrypted filesystem option on ntfs

----------

## nxsty

The NTFS write support for can only overwrite files if they are exactly the same size. So it's not very useful.

----------

## scoy

But would I even be able to see it then?

----------

## scoy

 *nxsty wrote:*   

> The NTFS write support for can only overwrite files if they are exactly the same size. So it's not very useful.

 

Well I'm not really trying to overwrite any files. I just wanted to create an empty file and that won't even work.

I thought NTFS had full write support. At least i remember writting a lot of my stuff over to a NTFS drive. Maybe it was that crack i use to smoke.

----------

## verlane24

Are you trying to access it as root?

On my system, I have to be root to access any of my windows partitions beyond the mount point.

----------

## scoy

I hate to quote myself, but

 *Quote:*   

> 
> 
> .. but when I boot into windows, everything is fine. So why isn't it allowing me to write?  I am running as root the whole time, so it's not permissions ... 
> 
> ```
> ...

 

[/quote]

----------

## widan

 *scoy wrote:*   

>  *nxsty wrote:*   The NTFS write support for can only overwrite files if they are exactly the same size. So it's not very useful. 
> 
> Well I'm not really trying to overwrite any files. I just wanted to create an empty file and that won't even work.

 

The only thing you can do is modifying existing files, as long as you don't change their size. You can't create or delete files, and you can't change a file's size (more precisely, you can't do anything that requires to modify metadata - size, permissions, file existence, ... - but you can change file data - their contents). You can't really use the write functionnality, it was written for a specific purpose (see below).

 *scoy wrote:*   

> I thought NTFS had full write support. At least i remember writting a lot of my stuff over to a NTFS drive. Maybe it was that crack i use to smoke.

 

The old NTFS driver used to have "full" write support. So, yes, you could have done it in the past (with a 2.4 kernel). There was a "small" problem though: it would corrupt the filesystem about 50% of the time you tried writing to NTFS filesystems created by Windows XP (well maybe not 50%, but it was a significant probability). It was always flagged as experimental and dangerous in the kernel options, AFAIK.

The limited write support in the new driver was written to support a Linux distribution (TopologiLinux) that could live on a loopback filesystem backed by a file on a normal NTFS disk. For that kind of application, you don't need to be able to change file sizes, and it happens you can do it relatively safely (as long as the NTFS volume is clean to start with).

----------

## scoy

well thanks for straightening things out for me. I'm pretty sure it was in the 2.4 kernel series where I wrote files. Regardless, it's good to know about the new NTFS driver.

Is there any way I can mount a local disk as a samba share? then I could just transfer it over.

----------

## nxsty

You could use captive:

http://www.jankratochvil.net/project/captive/

----------

