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

+17 -8
+5 -4
fs/ntfs/ChangeLog
··· 34 journals with two different restart pages. We sanity check both and 35 either use the only sane one or the more recent one of the two in the 36 case that both are valid. 37 - - Modify fs/ntfs/malloc.h::ntfs_malloc_nofs() to do the kmalloc() based 38 - allocations with __GFP_HIGHMEM, analogous to how the vmalloc() based 39 - allocations are done. 40 - Add fs/ntfs/malloc.h::ntfs_malloc_nofs_nofail() which is analogous to 41 ntfs_malloc_nofs() but it performs allocations with __GFP_NOFAIL and 42 hence cannot fail. ··· 87 in the first buffer head instead of a driver global spin lock to 88 improve scalability. 89 - Minor fix to error handling and error message display in 90 - fs/ntfs/aops.c::ntfs_prepare_nonresident_write(). 91 92 2.1.23 - Implement extension of resident files and make writing safe as well as 93 many bug fixes, cleanups, and enhancements...
··· 34 journals with two different restart pages. We sanity check both and 35 either use the only sane one or the more recent one of the two in the 36 case that both are valid. 37 - Add fs/ntfs/malloc.h::ntfs_malloc_nofs_nofail() which is analogous to 38 ntfs_malloc_nofs() but it performs allocations with __GFP_NOFAIL and 39 hence cannot fail. ··· 90 in the first buffer head instead of a driver global spin lock to 91 improve scalability. 92 - Minor fix to error handling and error message display in 93 + fs/ntfs/aops.c::ntfs_prepare_nonresident_write(). 94 + - Change the mount options {u,f,d}mask to always parse the number as 95 + an octal number to conform to how chmod(1) works, too. Thanks to 96 + Giuseppe Bilotta and Horst von Brand for pointing out the errors of 97 + my ways. 98 99 2.1.23 - Implement extension of resident files and make writing safe as well as 100 many bug fixes, cleanups, and enhancements...
+1 -1
fs/ntfs/malloc.h
··· 45 if (likely(size <= PAGE_SIZE)) { 46 BUG_ON(!size); 47 /* kmalloc() has per-CPU caches so is faster for now. */ 48 - return kmalloc(PAGE_SIZE, gfp_mask); 49 /* return (void *)__get_free_page(gfp_mask); */ 50 } 51 if (likely(size >> PAGE_SHIFT < num_physpages))
··· 45 if (likely(size <= PAGE_SIZE)) { 46 BUG_ON(!size); 47 /* kmalloc() has per-CPU caches so is faster for now. */ 48 + return kmalloc(PAGE_SIZE, gfp_mask & ~__GFP_HIGHMEM); 49 /* return (void *)__get_free_page(gfp_mask); */ 50 } 51 if (likely(size >> PAGE_SHIFT < num_physpages))
+11 -3
fs/ntfs/super.c
··· 126 if (*v) \ 127 goto needs_val; \ 128 } 129 #define NTFS_GETOPT_BOOL(option, variable) \ 130 if (!strcmp(p, option)) { \ 131 BOOL val; \ ··· 165 *v++ = 0; 166 NTFS_GETOPT("uid", uid) 167 else NTFS_GETOPT("gid", gid) 168 - else NTFS_GETOPT("umask", fmask = dmask) 169 - else NTFS_GETOPT("fmask", fmask) 170 - else NTFS_GETOPT("dmask", dmask) 171 else NTFS_GETOPT("mft_zone_multiplier", mft_zone_multiplier) 172 else NTFS_GETOPT_WITH_DEFAULT("sloppy", sloppy, TRUE) 173 else NTFS_GETOPT_BOOL("show_sys_files", show_sys_files)
··· 126 if (*v) \ 127 goto needs_val; \ 128 } 129 + #define NTFS_GETOPT_OCTAL(option, variable) \ 130 + if (!strcmp(p, option)) { \ 131 + if (!v || !*v) \ 132 + goto needs_arg; \ 133 + variable = simple_strtoul(ov = v, &v, 8); \ 134 + if (*v) \ 135 + goto needs_val; \ 136 + } 137 #define NTFS_GETOPT_BOOL(option, variable) \ 138 if (!strcmp(p, option)) { \ 139 BOOL val; \ ··· 157 *v++ = 0; 158 NTFS_GETOPT("uid", uid) 159 else NTFS_GETOPT("gid", gid) 160 + else NTFS_GETOPT_OCTAL("umask", fmask = dmask) 161 + else NTFS_GETOPT_OCTAL("fmask", fmask) 162 + else NTFS_GETOPT_OCTAL("dmask", dmask) 163 else NTFS_GETOPT("mft_zone_multiplier", mft_zone_multiplier) 164 else NTFS_GETOPT_WITH_DEFAULT("sloppy", sloppy, TRUE) 165 else NTFS_GETOPT_BOOL("show_sys_files", show_sys_files)