Commit 8d3ef746 authored by Linus Torvalds's avatar Linus Torvalds

Merge master.kernel.org:/pub/scm/linux/kernel/git/aia21/ntfs-2.6

parents a217e8c1 b9791184
...@@ -34,9 +34,6 @@ ToDo/Notes: ...@@ -34,9 +34,6 @@ ToDo/Notes:
journals with two different restart pages. We sanity check both and journals with two different restart pages. We sanity check both and
either use the only sane one or the more recent one of the two in the either use the only sane one or the more recent one of the two in the
case that both are valid. case that both are valid.
- Modify fs/ntfs/malloc.h::ntfs_malloc_nofs() to do the kmalloc() based
allocations with __GFP_HIGHMEM, analogous to how the vmalloc() based
allocations are done.
- Add fs/ntfs/malloc.h::ntfs_malloc_nofs_nofail() which is analogous to - Add fs/ntfs/malloc.h::ntfs_malloc_nofs_nofail() which is analogous to
ntfs_malloc_nofs() but it performs allocations with __GFP_NOFAIL and ntfs_malloc_nofs() but it performs allocations with __GFP_NOFAIL and
hence cannot fail. hence cannot fail.
...@@ -91,6 +88,10 @@ ToDo/Notes: ...@@ -91,6 +88,10 @@ ToDo/Notes:
improve scalability. improve scalability.
- Minor fix to error handling and error message display in - Minor fix to error handling and error message display in
fs/ntfs/aops.c::ntfs_prepare_nonresident_write(). fs/ntfs/aops.c::ntfs_prepare_nonresident_write().
- Change the mount options {u,f,d}mask to always parse the number as
an octal number to conform to how chmod(1) works, too. Thanks to
Giuseppe Bilotta and Horst von Brand for pointing out the errors of
my ways.
2.1.23 - Implement extension of resident files and make writing safe as well as 2.1.23 - Implement extension of resident files and make writing safe as well as
many bug fixes, cleanups, and enhancements... many bug fixes, cleanups, and enhancements...
......
...@@ -45,7 +45,7 @@ static inline void *__ntfs_malloc(unsigned long size, ...@@ -45,7 +45,7 @@ static inline void *__ntfs_malloc(unsigned long size,
if (likely(size <= PAGE_SIZE)) { if (likely(size <= PAGE_SIZE)) {
BUG_ON(!size); BUG_ON(!size);
/* kmalloc() has per-CPU caches so is faster for now. */ /* kmalloc() has per-CPU caches so is faster for now. */
return kmalloc(PAGE_SIZE, gfp_mask); return kmalloc(PAGE_SIZE, gfp_mask & ~__GFP_HIGHMEM);
/* return (void *)__get_free_page(gfp_mask); */ /* return (void *)__get_free_page(gfp_mask); */
} }
if (likely(size >> PAGE_SHIFT < num_physpages)) if (likely(size >> PAGE_SHIFT < num_physpages))
......
...@@ -126,6 +126,14 @@ static BOOL parse_options(ntfs_volume *vol, char *opt) ...@@ -126,6 +126,14 @@ static BOOL parse_options(ntfs_volume *vol, char *opt)
if (*v) \ if (*v) \
goto needs_val; \ goto needs_val; \
} }
#define NTFS_GETOPT_OCTAL(option, variable) \
if (!strcmp(p, option)) { \
if (!v || !*v) \
goto needs_arg; \
variable = simple_strtoul(ov = v, &v, 8); \
if (*v) \
goto needs_val; \
}
#define NTFS_GETOPT_BOOL(option, variable) \ #define NTFS_GETOPT_BOOL(option, variable) \
if (!strcmp(p, option)) { \ if (!strcmp(p, option)) { \
BOOL val; \ BOOL val; \
...@@ -157,9 +165,9 @@ static BOOL parse_options(ntfs_volume *vol, char *opt) ...@@ -157,9 +165,9 @@ static BOOL parse_options(ntfs_volume *vol, char *opt)
*v++ = 0; *v++ = 0;
NTFS_GETOPT("uid", uid) NTFS_GETOPT("uid", uid)
else NTFS_GETOPT("gid", gid) else NTFS_GETOPT("gid", gid)
else NTFS_GETOPT("umask", fmask = dmask) else NTFS_GETOPT_OCTAL("umask", fmask = dmask)
else NTFS_GETOPT("fmask", fmask) else NTFS_GETOPT_OCTAL("fmask", fmask)
else NTFS_GETOPT("dmask", dmask) else NTFS_GETOPT_OCTAL("dmask", dmask)
else NTFS_GETOPT("mft_zone_multiplier", mft_zone_multiplier) else NTFS_GETOPT("mft_zone_multiplier", mft_zone_multiplier)
else NTFS_GETOPT_WITH_DEFAULT("sloppy", sloppy, TRUE) else NTFS_GETOPT_WITH_DEFAULT("sloppy", sloppy, TRUE)
else NTFS_GETOPT_BOOL("show_sys_files", show_sys_files) else NTFS_GETOPT_BOOL("show_sys_files", show_sys_files)
......
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