Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/i2c-2.6
authorLinus Torvalds <torvalds@g5.osdl.org>
Mon, 12 Sep 2005 20:31:33 +0000 (13:31 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Mon, 12 Sep 2005 20:31:33 +0000 (13:31 -0700)
arch/i386/kernel/acpi/earlyquirk.c
fs/ntfs/ChangeLog
fs/ntfs/malloc.h
fs/ntfs/super.c

index 087ecc67e9b358e265e79ee450995e1ed73b6c46..1ae2aeeda18bddbbc23ec37702d2ed4878ee23d0 100644 (file)
@@ -7,6 +7,7 @@
 #include <linux/pci.h>
 #include <asm/pci-direct.h>
 #include <asm/acpi.h>
+#include <asm/apic.h>
 
 static int __init check_bridge(int vendor, int device)
 {
@@ -15,6 +16,7 @@ static int __init check_bridge(int vendor, int device)
        if (vendor == PCI_VENDOR_ID_NVIDIA) {
                acpi_skip_timer_override = 1;
        }
+#ifdef CONFIG_X86_LOCAL_APIC
        /*
         * ATI IXP chipsets get double timer interrupts.
         * For now just do this for all ATI chipsets.
@@ -22,6 +24,7 @@ static int __init check_bridge(int vendor, int device)
         */
        if (vendor == PCI_VENDOR_ID_ATI)
                disable_timer_pin_1 = 1;
+#endif
        return 0;
 }
 
index e4fd6134244dd0f93290c3653ab56a3e4b4e1d12..49eafbdb15c145e1884945e8aae5e1a74d0e3ed0 100644 (file)
@@ -34,9 +34,6 @@ ToDo/Notes:
          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
          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
          ntfs_malloc_nofs() but it performs allocations with __GFP_NOFAIL and
          hence cannot fail.
@@ -90,7 +87,11 @@ ToDo/Notes:
          in the first buffer head instead of a driver global spin lock to
          improve scalability.
        - 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
         many bug fixes, cleanups, and enhancements...
index 9994e019a3cfa958216899ffeae4ebbca3c4db54..3288bcc2c4aa162190316277f9c6aefa4f128216 100644 (file)
@@ -45,7 +45,7 @@ static inline void *__ntfs_malloc(unsigned long size,
        if (likely(size <= PAGE_SIZE)) {
                BUG_ON(!size);
                /* 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); */
        }
        if (likely(size >> PAGE_SHIFT < num_physpages))
index b2b392961268fdefebc7b054d6149ceed78d57c9..453d0d51ea4bc4d9b731e48345db0e45bb034b24 100644 (file)
@@ -126,6 +126,14 @@ static BOOL parse_options(ntfs_volume *vol, char *opt)
                if (*v)                                                 \
                        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)                             \
        if (!strcmp(p, option)) {                                       \
                BOOL val;                                               \
@@ -157,9 +165,9 @@ static BOOL parse_options(ntfs_volume *vol, char *opt)
                        *v++ = 0;
                NTFS_GETOPT("uid", uid)
                else NTFS_GETOPT("gid", gid)
-               else NTFS_GETOPT("umask", fmask = dmask)
-               else NTFS_GETOPT("fmask", fmask)
-               else NTFS_GETOPT("dmask", dmask)
+               else NTFS_GETOPT_OCTAL("umask", fmask = dmask)
+               else NTFS_GETOPT_OCTAL("fmask", fmask)
+               else NTFS_GETOPT_OCTAL("dmask", dmask)
                else NTFS_GETOPT("mft_zone_multiplier", mft_zone_multiplier)
                else NTFS_GETOPT_WITH_DEFAULT("sloppy", sloppy, TRUE)
                else NTFS_GETOPT_BOOL("show_sys_files", show_sys_files)