Commit f852c697 authored by Anton Altaparmakov's avatar Anton Altaparmakov

Merge ssh://linux-ntfs@bkbits.net/ntfs-2.6-devel

into cantab.net:/home/src/ntfs-2.6-devel
parents d7f1917a 9be7abff
...@@ -277,6 +277,10 @@ ChangeLog ...@@ -277,6 +277,10 @@ ChangeLog
Note, a technical ChangeLog aimed at kernel hackers is in fs/ntfs/ChangeLog. Note, a technical ChangeLog aimed at kernel hackers is in fs/ntfs/ChangeLog.
2.1.18:
- Fix scheduling latencies at mount time. (Ingo Molnar)
- Fix endianness bug in a little traversed portion of the attribute
lookup code.
2.1.17: 2.1.17:
- Fix bugs in mount time error code paths. - Fix bugs in mount time error code paths.
2.1.16: 2.1.16:
......
...@@ -21,7 +21,7 @@ ToDo/Notes: ...@@ -21,7 +21,7 @@ ToDo/Notes:
- Enable the code for setting the NT4 compatibility flag when we start - Enable the code for setting the NT4 compatibility flag when we start
making NTFS 1.2 specific modifications. making NTFS 1.2 specific modifications.
2.1.18-WIP 2.1.18 - Fix scheduling latencies at mount time as well as an endianness bug.
- Remove vol->nr_mft_records as it was pretty meaningless and optimize - Remove vol->nr_mft_records as it was pretty meaningless and optimize
the calculation of total/free inodes as used by statfs(). the calculation of total/free inodes as used by statfs().
...@@ -54,6 +54,7 @@ ToDo/Notes: ...@@ -54,6 +54,7 @@ ToDo/Notes:
anywhere other than attrib.c. Update ntfs_attr_lookup() and all anywhere other than attrib.c. Update ntfs_attr_lookup() and all
callers of ntfs_{external,}attr_{find,lookup}() for the new return callers of ntfs_{external,}attr_{find,lookup}() for the new return
values. values.
- Minor cleanup of fs/ntfs/inode.c::ntfs_init_locked_inode().
2.1.17 - Fix bugs in mount time error code paths and other updates. 2.1.17 - Fix bugs in mount time error code paths and other updates.
......
...@@ -6,7 +6,7 @@ ntfs-objs := aops.o attrib.o collate.o compress.o debug.o dir.o file.o \ ...@@ -6,7 +6,7 @@ ntfs-objs := aops.o attrib.o collate.o compress.o debug.o dir.o file.o \
index.o inode.o mft.o mst.o namei.o super.o sysctl.o unistr.o \ index.o inode.o mft.o mst.o namei.o super.o sysctl.o unistr.o \
upcase.o upcase.o
EXTRA_CFLAGS = -DNTFS_VERSION=\"2.1.18-WIP\" EXTRA_CFLAGS = -DNTFS_VERSION=\"2.1.18\"
ifeq ($(CONFIG_NTFS_DEBUG),y) ifeq ($(CONFIG_NTFS_DEBUG),y)
EXTRA_CFLAGS += -DDEBUG EXTRA_CFLAGS += -DDEBUG
......
...@@ -105,8 +105,11 @@ static int ntfs_init_locked_inode(struct inode *vi, ntfs_attr *na) ...@@ -105,8 +105,11 @@ static int ntfs_init_locked_inode(struct inode *vi, ntfs_attr *na)
ni->name_len = na->name_len; ni->name_len = na->name_len;
/* If initializing a normal inode, we are done. */ /* If initializing a normal inode, we are done. */
if (likely(na->type == AT_UNUSED)) if (likely(na->type == AT_UNUSED)) {
BUG_ON(na->name);
BUG_ON(na->name_len);
return 0; return 0;
}
/* It is a fake inode. */ /* It is a fake inode. */
NInoSetAttr(ni); NInoSetAttr(ni);
...@@ -118,15 +121,16 @@ static int ntfs_init_locked_inode(struct inode *vi, ntfs_attr *na) ...@@ -118,15 +121,16 @@ static int ntfs_init_locked_inode(struct inode *vi, ntfs_attr *na)
* thus the fraction of named attributes with name != I30 is actually * thus the fraction of named attributes with name != I30 is actually
* absolutely tiny. * absolutely tiny.
*/ */
if (na->name && na->name_len && na->name != I30) { if (na->name_len && na->name != I30) {
unsigned int i; unsigned int i;
BUG_ON(!na->name);
i = na->name_len * sizeof(ntfschar); i = na->name_len * sizeof(ntfschar);
ni->name = (ntfschar*)kmalloc(i + sizeof(ntfschar), GFP_ATOMIC); ni->name = (ntfschar*)kmalloc(i + sizeof(ntfschar), GFP_ATOMIC);
if (!ni->name) if (!ni->name)
return -ENOMEM; return -ENOMEM;
memcpy(ni->name, na->name, i); memcpy(ni->name, na->name, i);
ni->name[i] = cpu_to_le16('\0'); ni->name[i] = cpu_to_le16(L'\0');
} }
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment