NTFS: Mask out __GFP_HIGHMEM when doing kmalloc() in __ntfs_malloc() as it
Anton Altaparmakov [Mon, 12 Sep 2005 14:43:03 +0000 (15:43 +0100)]
      otherwise causes a BUG().

Signed-off-by: Anton Altaparmakov <aia21@cantab.net>

fs/ntfs/ChangeLog
fs/ntfs/malloc.h

index 7f40072..49eafbd 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.
index 9994e01..3288bcc 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))