diff options
| author | Anton Altaparmakov <aia21@hera.kernel.org> | 2005-09-12 11:25:52 -0400 |
|---|---|---|
| committer | Anton Altaparmakov <aia21@hera.kernel.org> | 2005-09-12 11:25:52 -0400 |
| commit | c3242291382c4ee2a30f4ef62270cd1c8a5b923f (patch) | |
| tree | c71197e23b00d5ca858839e0c530ddfcf0b9d656 | |
| parent | 1df5c10a5b40d1ad747e3de3caf28764153c5c8e (diff) | |
| parent | 89ecf38c7aee6eb3f6aaf40a6d196ddff4b6d4a8 (diff) | |
Merge branch 'master' of imp.csi.cam.ac.uk:/home/src/ntfs-2.6.git/
| -rw-r--r-- | fs/ntfs/ChangeLog | 9 | ||||
| -rw-r--r-- | fs/ntfs/malloc.h | 2 | ||||
| -rw-r--r-- | fs/ntfs/super.c | 14 |
3 files changed, 17 insertions, 8 deletions
diff --git a/fs/ntfs/ChangeLog b/fs/ntfs/ChangeLog index e4fd6134244d..49eafbdb15c1 100644 --- a/fs/ntfs/ChangeLog +++ b/fs/ntfs/ChangeLog | |||
| @@ -34,9 +34,6 @@ ToDo/Notes: | |||
| 34 | journals with two different restart pages. We sanity check both and | 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 | 35 | either use the only sane one or the more recent one of the two in the |
| 36 | case that both are valid. | 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 | 37 | - 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 | 38 | ntfs_malloc_nofs() but it performs allocations with __GFP_NOFAIL and |
| 42 | hence cannot fail. | 39 | hence cannot fail. |
| @@ -90,7 +87,11 @@ ToDo/Notes: | |||
| 90 | in the first buffer head instead of a driver global spin lock to | 87 | in the first buffer head instead of a driver global spin lock to |
| 91 | improve scalability. | 88 | improve scalability. |
| 92 | - Minor fix to error handling and error message display in | 89 | - Minor fix to error handling and error message display in |
| 93 | fs/ntfs/aops.c::ntfs_prepare_nonresident_write(). | 90 | fs/ntfs/aops.c::ntfs_prepare_nonresident_write(). |
| 91 | - Change the mount options {u,f,d}mask to always parse the number as | ||
| 92 | an octal number to conform to how chmod(1) works, too. Thanks to | ||
| 93 | Giuseppe Bilotta and Horst von Brand for pointing out the errors of | ||
| 94 | my ways. | ||
| 94 | 95 | ||
| 95 | 2.1.23 - Implement extension of resident files and make writing safe as well as | 96 | 2.1.23 - Implement extension of resident files and make writing safe as well as |
| 96 | many bug fixes, cleanups, and enhancements... | 97 | many bug fixes, cleanups, and enhancements... |
diff --git a/fs/ntfs/malloc.h b/fs/ntfs/malloc.h index 9994e019a3cf..3288bcc2c4aa 100644 --- a/fs/ntfs/malloc.h +++ b/fs/ntfs/malloc.h | |||
| @@ -45,7 +45,7 @@ static inline void *__ntfs_malloc(unsigned long size, | |||
| 45 | if (likely(size <= PAGE_SIZE)) { | 45 | if (likely(size <= PAGE_SIZE)) { |
| 46 | BUG_ON(!size); | 46 | BUG_ON(!size); |
| 47 | /* kmalloc() has per-CPU caches so is faster for now. */ | 47 | /* kmalloc() has per-CPU caches so is faster for now. */ |
| 48 | return kmalloc(PAGE_SIZE, gfp_mask); | 48 | return kmalloc(PAGE_SIZE, gfp_mask & ~__GFP_HIGHMEM); |
| 49 | /* return (void *)__get_free_page(gfp_mask); */ | 49 | /* return (void *)__get_free_page(gfp_mask); */ |
| 50 | } | 50 | } |
| 51 | if (likely(size >> PAGE_SHIFT < num_physpages)) | 51 | if (likely(size >> PAGE_SHIFT < num_physpages)) |
diff --git a/fs/ntfs/super.c b/fs/ntfs/super.c index b2b392961268..453d0d51ea4b 100644 --- a/fs/ntfs/super.c +++ b/fs/ntfs/super.c | |||
| @@ -126,6 +126,14 @@ static BOOL parse_options(ntfs_volume *vol, char *opt) | |||
| 126 | if (*v) \ | 126 | if (*v) \ |
| 127 | goto needs_val; \ | 127 | goto needs_val; \ |
| 128 | } | 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 | } | ||
| 129 | #define NTFS_GETOPT_BOOL(option, variable) \ | 137 | #define NTFS_GETOPT_BOOL(option, variable) \ |
| 130 | if (!strcmp(p, option)) { \ | 138 | if (!strcmp(p, option)) { \ |
| 131 | BOOL val; \ | 139 | BOOL val; \ |
| @@ -157,9 +165,9 @@ static BOOL parse_options(ntfs_volume *vol, char *opt) | |||
| 157 | *v++ = 0; | 165 | *v++ = 0; |
| 158 | NTFS_GETOPT("uid", uid) | 166 | NTFS_GETOPT("uid", uid) |
| 159 | else NTFS_GETOPT("gid", gid) | 167 | else NTFS_GETOPT("gid", gid) |
| 160 | else NTFS_GETOPT("umask", fmask = dmask) | 168 | else NTFS_GETOPT_OCTAL("umask", fmask = dmask) |
| 161 | else NTFS_GETOPT("fmask", fmask) | 169 | else NTFS_GETOPT_OCTAL("fmask", fmask) |
| 162 | else NTFS_GETOPT("dmask", dmask) | 170 | else NTFS_GETOPT_OCTAL("dmask", dmask) |
| 163 | else NTFS_GETOPT("mft_zone_multiplier", mft_zone_multiplier) | 171 | else NTFS_GETOPT("mft_zone_multiplier", mft_zone_multiplier) |
| 164 | else NTFS_GETOPT_WITH_DEFAULT("sloppy", sloppy, TRUE) | 172 | else NTFS_GETOPT_WITH_DEFAULT("sloppy", sloppy, TRUE) |
| 165 | else NTFS_GETOPT_BOOL("show_sys_files", show_sys_files) | 173 | else NTFS_GETOPT_BOOL("show_sys_files", show_sys_files) |
