Commit Graph

735 Commits (5f3079c2bb864da678263fffcfef2e47efc2f1be)

Author SHA1 Message Date
uvman fc7553ad2b [Inconstant,Damaged] metadata -> Inconsistent metadata 2006-10-25 18:57:15 +00:00
uvman c55aea3ad4 Use le32 conversion macros for u32 variables of INDEX_HEADER. (zhanglinbao2000, Yuval) 2006-10-25 16:49:00 +00:00
uvman 480fdb14d5 One more errno save/restore. 2006-10-22 01:11:48 +00:00
uvman 7b6f7e98d4 Remove saving and restoring errno around logging calls as these will not change errno anyway. Remove save/restore only if the saved value will not be used. 2006-10-22 00:23:29 +00:00
aia21 49559ce57c fix a silly bug. 2006-10-20 19:53:50 +00:00
uvman cc12bccc05 Allow reusing ntfs_device after close. 2006-10-18 14:44:23 +00:00
aia21 0c86fccdc9 Fix GUID to string conversion to follow documentation (details: it is not
little endian at all, it is a binary sequence)...

See remarks section at:

http://windowssdk.msdn.microsoft.com/en-us/library/96ff78dc.aspx
2006-10-10 10:29:11 +00:00
uvman 8cfa94abc3 Remove code that was already marked as broken and commented out. 2006-09-25 17:03:48 +00:00
uvman a117a21941 Comment documentation fixes. 2006-09-25 16:58:38 +00:00
yura d15ed62ae4 a bit of cleanups 2006-08-14 03:52:56 +00:00
yura a00ee02388 had not noticed lack of externs :( 2006-08-03 04:30:41 +00:00
yura 70aef8d69c Prevent index root to be moved out from base mft record 2006-08-02 03:57:40 +00:00
yura 08689c171e Merge index code from ntfs-3g. Clean it a bit and fix adding index allocation when index root in the base mft record. 2006-08-02 03:55:41 +00:00
yura 9d0f9aec4c Add new API ntfs_attr_exist() that checks whether attribute with selected type and name already present in inode. (Szaka) 2006-08-02 03:12:34 +00:00
yura 47a2ca1154 80 chars per line cleanup 2006-08-02 01:33:54 +00:00
yura 2338377ec3 bit move verbose in ntfs_delete() 2006-07-28 23:15:35 +00:00
yura bb5991cb36 Set vol->mft_ni->flags. (Szaka) 2006-07-27 18:44:08 +00:00
yura d5ce628f10 commit some fix to runlsi handling code from ntfs-3g
Rich/Anton can you please review it?
2006-07-27 18:12:23 +00:00
aia21 0873318cbb Yura uses ntfs_attr_lookup() in a way it never was anticipated to work so my
fix broke his way of working.  This is a middle ground where both should work.
This still leaves a bug in collation of attribute list entries though which
needs to be investigated and fixed...
2006-07-27 08:38:17 +00:00
aia21 179966fb0c Fix long standing stupendously stupid bug in libntfs/attrib.c::
ntfs_external_attr_find() and also port a bugfix from the advanced
ntfs kernel driver to the same function.  (Anton)
2006-07-23 21:43:08 +00:00
yura a3a318a8b4 forgot "cvs delete" 2006-07-22 19:39:59 +00:00
uvman ae37e54d8c Avoid a double-free error. ntfs_empty_logfile() has no reason to close na/ni anyway, and is only called from ntfs_logfile_reset() which already closes them, so these lines can be safely removed. 2006-07-21 23:16:09 +00:00
uvman a1a13da74a Commit mft extensions right away. Don't wait for a clean unmount, or you may face data loss. 2006-07-21 23:03:59 +00:00
uvman 9efb57918f Fix a logic error that made 'ls -ls' show the wrong file size for compressed and sparse files. 2006-07-21 22:04:44 +00:00
yura 0d94460169 be bit more verbose 2006-07-17 11:55:29 +00:00
yura 28a2b1f2b0 prepare to Szaka's code merge: remove not working Rich's index code 2006-07-17 11:49:52 +00:00
yura 2d137b6900 create SD in __ntfs_create 2006-07-13 16:01:52 +00:00
yura 035df31eae move ROUND_{UP,DOWN} to support.h, make second parameter to be order in which
we should power 2 (to prevent incorrect use)
2006-07-13 02:49:07 +00:00
yura 345247a596 ntfs_link(): prevent creating of recursive directary structure.
FUSE incorrectly handles case insensitive filesystems: when I try to rename
"/Dir" to "/DIR", ntfsmount receive rename("/Dir", "/DIR/Dir") call.
This patch do not fix rename, but prevent fs corruption. I will mail Miklos
about this problem.
2006-06-03 22:09:24 +00:00
yura 6b0018def4 Fix bug with renaming directories with names in DOS and WIN32 namespaces. 2006-06-03 21:37:27 +00:00
cha0smaster d3b82fa6cd fix VCN size in index.c 2006-04-06 17:00:33 +00:00
szaka 134319ae80 libntfs: add and ntfs_inode_badclus_bad() and convert all copy-pastes
to use them
2006-04-05 02:53:40 +00:00
szaka 813933e1bc libntfs: add ntfs_mft_usn_dec() and convert all copy-pastes to use them 2006-04-05 02:49:24 +00:00
szaka be823c7a1e libntfs: add ntfs_str2ucs and ntfs_freeucs function, and convert
copy-pastes to use them
2006-04-05 02:45:55 +00:00
antona cf631e3398 Fix comparison of $MFT and $MFTMirr to not bail out when there are
unused, invalid mft records which are the same in both $MFT and
$MFTMirr.  Ported from kernel driver 2.1.27 release and aplied both
to libntfs/volume.c mount related code and to ntfsprogs/ntfsfix.c's
fixup code.  (Anton)
2006-03-27 22:43:09 +00:00
szaka ddc558f1ec libntfs: add ntfs_index_root_get() which reads the index root of an attribute 2006-03-27 21:14:56 +00:00
szaka 9b801db7c8 libntfs: add ntfs_attr_readall() which reads the entire data from an attribute 2006-03-27 20:01:36 +00:00
cha0smaster f424e61b96 Fix bug in ntfs_attr_pwrite() when we sometimes lose current run in the runlist. 2006-03-04 13:56:34 +00:00
cha0smaster 01309e4ec9 formatting 2006-03-04 00:06:49 +00:00
antona 63982b15fd Fix compilation on FreeBSD. (Christophe) 2006-02-24 15:49:59 +00:00
antona 49fd93718c Cope with attribute list attribute having invalid flags. Windows
copes with this and even chkdsk does not detect or fix this so we
have to cope with it, too.  Thanks to a Pawel for reporting the
problem.  (Anton)
2006-02-24 09:20:10 +00:00
cha0smaster b0f4e5099e ntfs_create: add for any case check 2006-02-23 00:29:04 +00:00
antona 45c9aa137e - Deal with missing syslog function by making code conditional on
presence of syslog.h header file (DOS/djgpp).  (Christophe)
- Avoid clash with existing constants (OSX).  (Christophe)
2006-02-22 14:20:08 +00:00
cha0smaster 6497828e53 While fixing allocated/compressed size I lost correct data size value by accident. 2006-02-21 18:57:34 +00:00
cha0smaster 241c7585a6 Fix runlist setting and incorrect file sizes in the index. 2006-02-21 04:40:20 +00:00
cha0smaster 559d28d2ee cleanup 2006-02-21 03:40:24 +00:00
cha0smaster 9bcf003f26 ntfs_attr_pwrite: Fix very serious bug, when sometimes not whole mapped runlist was passsed to ntfs_attr_update_mapping_pairs. 2006-02-20 00:48:35 +00:00
cha0smaster 2fa889ff26 cleanups 2006-02-19 00:37:15 +00:00
cha0smaster 6ba0e1d1e0 fix bug with sparse attribute shinking when runlist is not changed. (already fixed such for expanding, do not know why I forgot to update shrinking) 2006-02-19 00:36:23 +00:00
cha0smaster 32420ad699 implement POC of syslog logging handler, make ntfsmount to use it 2006-02-13 01:23:31 +00:00
cha0smaster dc751c641b cleanup 2006-02-10 11:00:47 +00:00
szaka d34acd45bf __ntfs_create(): fix cluster leaks for some special files when index entry
creation fails
2006-02-09 21:43:52 +00:00
szaka b5f4182861 Add some important debugging, tracing info 2006-02-09 21:40:00 +00:00
antona 52db9eecbe Fix two potential runlist merge bugs (one was without effect the other possible
free memory dereference).
Fix the "make test" testing of the rl mering code to work again (it needs to
use printf not the fancy logging macros).
2006-02-08 22:15:30 +00:00
szaka aaf7b25015 fix ntfs_device_sector_size_get() description 2006-02-04 19:24:14 +00:00
antona e5a3006f47 Only use O_EXCL if mounting r/w. 2006-02-04 02:42:42 +00:00
antona 3420b5faec Another fix for OSX. 2006-02-03 23:55:40 +00:00
antona 4d64cb21e7 Fixes for OSX. 2006-02-03 23:40:39 +00:00
antona 135282539b Fixes to previous commit. 2006-02-03 23:11:35 +00:00
antona af9fd39611 Wheee! Lots of last minute fixes and enhancements.
- Compiler warning fixes for gnome-vfs and fuse modules. (Anton)
- Change volume mounting (actually device opening) to happen with
  O_EXCL bit set so at least on Linux no one can change the device
  block size under our feet.  (Anton)
- Change volume mounting and mkntfs to set the device block size to the
  sector size using BLKBSZSET ioctl (Linux only).  This should be
  optimal for performance and should fixes the bug of not being able to
  create the backup boot sector if the number of sectors on the device
  is odd, the sector size is 512 bytes, and the kernel is 2.4.  (Anton)
- Enforce cluster size, mft record size, and index record size to be at
  least equal to the sector size and verify they are still valid and in
  particular display a warning message if the volume will not be
  mountable by the kernel driver (it requires mft record size and index
  record size to be below or equal to the system page size which we
  determine using sysconf()).  (Anton)
2006-02-03 22:19:17 +00:00
antona e236c14c4a Prepare for next release. 2006-02-02 14:40:53 +00:00
antona e0c2231543 Fix stupid bug in libntfs/bitmap.c::ntfs_bitmap_set_bits_in_run()
which caused bits to not be cleared or set if the first bit in the
run was not a multiple of eight.  (Anton)
2006-02-02 13:57:00 +00:00
cha0smaster e2450ad61a tidy up djgpp S_IF{SOCK,LNK} fix 2006-01-30 22:10:31 +00:00
szaka 770aded28d Define S_IFLNK and S_IFSOCK for djgpp (Christophe) 2006-01-29 14:07:45 +00:00
cha0smaster eba747ac93 * Add NTFS_DEV_LIST define. Use it everywhere instead of linux-ntfs-dev@lists.sf.net.
* Replace all ntfs_log_trace where we ask to send mail to us with ntfs_log_error
2005-12-18 16:27:20 +00:00
flatcap 04ebd8256d The addition of one hundred and forty-five linefeeds. Thanks Yura! 2005-12-04 22:42:51 +00:00
cha0smaster df8ce8fd42 dir.c::ntfs_delete(): Fix bug with deletion hard links to directories. See comment to ntfs_link() if care for why we support this case. 2005-12-03 18:04:44 +00:00
cha0smaster 9d6a1cd081 minor fixes to comments 2005-12-03 16:18:15 +00:00
cha0smaster 01787c8c54 update site 2005-12-01 20:44:18 +00:00
szaka c5bceb84de ntfs_get_attribute_value(): report in error what's the non-zero attribute flags 2005-11-26 01:08:12 +00:00
flatcap 8ee10753ce move a useful ioctl here, from mkntfs 2005-11-19 14:55:51 +00:00
cha0smaster 2bc1f13f99 fix stupid bug in / filename syncing. reenable atime updates for /. 2005-11-18 16:18:18 +00:00
cha0smaster a55ac531e4 typo fix. Thanks Yuval. 2005-11-18 15:56:31 +00:00
cha0smaster 2367a06b6e Rework time updates, more close to like windows does. Still do not update for / because of sync problems. 2005-11-17 18:00:58 +00:00
cha0smaster fadcc0df7c Do not update time for system files (inode number < FILE_first_user) in ntfs_attr_p{read,write}. Who cares about them, but this solves segfault during umount. 2005-11-16 16:27:27 +00:00
cha0smaster e58a468d0c * Fix bug with updating atime on read-only volumes. (Thanks to Szaka and Anton)
* Add MS_NOATIME to ntfs_mount. (By Yuval's request)
2005-11-15 16:31:40 +00:00
cha0smaster f7fe30a0aa Automatically update access and change time in ntfs_attr_p{read,write} and ntfs_attr_truncate. 2005-11-14 15:31:23 +00:00
cha0smaster 632b146410 Add @from_vcn parameter to ntfs_attr_update_mapping_pairs, update all
users to submit it, thus write speed to very fragmented files
dramatically increased, while write speed to low fragmented files
stayed at approximately same level.
2005-11-14 00:17:19 +00:00
szaka 6cd1ea6e75 ntfs_device_mount(): explain a bit better what fails and how 2005-11-13 19:25:05 +00:00
uvman 0d651e54d3 Give a better name to MFT_RECORD_IS_8 and rename FILE_ATTR_DUP_* to match this meaning. 2005-11-11 23:35:56 +00:00
cha0smaster 4652ad72c6 * implement symblic link creation in ntfs_create
* rename ntfs_create -> __ntfs_create. add wrapers ntfs_create{_symlink,_device}
* ntfsmount: implement .symlink
* ntfsmount: fix readdir to emulate . and .. when needed
2005-11-10 18:13:15 +00:00
flatcap 1b49db1f65 turn on progress logging by default 2005-11-10 05:27:45 +00:00
cha0smaster 1254b2951c Fix stupidness introduced in latest changesets. Thanks to Yuval for comments. 2005-11-08 19:49:52 +00:00
cha0smaster 2c3dfcba27 Teech ntfs_create() to create Interix charcter and block devices. Add @dev parameter to ntfs_create() for this. 2005-11-08 16:13:17 +00:00
cha0smaster 53446b07f8 - Change @type parameter for ntfs_create() to be dev_t rather than internal NTFS_DT_* constants.
- Teech ntfs_create() to create FIFOs and sockets.
2005-11-08 15:15:37 +00:00
cha0smaster a732881c5e see changelog 2005-11-07 20:37:07 +00:00
uvman c09fc7ac81 Add myself to the copyright list on win32_io.c 2005-11-06 14:16:24 +00:00
cha0smaster 300f86ac21 * layout.h: update about special INTX files.
* ntfsmount: implement readlink() and add support of symlinks, charcter and block devices to stat().
2005-11-05 22:54:43 +00:00
flatcap 77cc19fd5d fix build warning 2005-11-05 01:34:40 +00:00
flatcap a41e58f8aa simplify a few things 2005-11-05 01:34:21 +00:00
cha0smaster 5bbb43d947 fix really hard to trigger bug in ntfs_delete 2005-11-04 22:43:10 +00:00
flatcap b2606af8ab a few typos 2005-11-02 18:06:48 +00:00
flatcap 83b9eddfc9 provide some meaningful function descriptions 2005-11-02 17:34:08 +00:00
szaka c10f046225 simplified ntfs_generate_guid() 2005-11-01 21:09:52 +00:00
szaka 987f33e5df ntfs_ prefix generate_guid() 2005-11-01 20:24:37 +00:00
flatcap 63c4123bbb another comment 2005-10-31 01:19:27 +00:00
flatcap 9c2e3a8206 add/update function comment blocks
(ok, they need words, but it's a start)
2005-10-31 01:15:12 +00:00
szaka 370bea1395 ntfsinfo: figure out and dump index attribute types 2005-10-30 22:53:38 +00:00
flatcap 121d05deb6 add/update function comment blocks
(ok, they need words, but it's a start)
2005-10-30 16:12:22 +00:00
flatcap 09368b5e83 fix bug in ntfs_log_parse_option - quiet needs you to clear a level, not set it 2005-10-28 16:52:29 +00:00