Browse Source

UBIFS: use GFP_NOFS properly

This patch fixes a brown-paperbag bug which was introduced by me:
I used incorrect "GFP_KERNEL | GFP_NOFS" allocation flags to make
sure my allocations do not cause write-back. But the correct form
is "GFP_NOFS".

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Artem Bityutskiy 14 years ago
parent
commit
fc5e58c0c4
4 changed files with 5 additions and 5 deletions
  1. 1 1
      fs/ubifs/debug.c
  2. 1 1
      fs/ubifs/lprops.c
  3. 2 2
      fs/ubifs/lpt_commit.c
  4. 1 1
      fs/ubifs/orphan.c

+ 1 - 1
fs/ubifs/debug.c

@@ -818,7 +818,7 @@ void dbg_dump_leb(const struct ubifs_info *c, int lnum)
 	printk(KERN_DEBUG "(pid %d) start dumping LEB %d\n",
 	printk(KERN_DEBUG "(pid %d) start dumping LEB %d\n",
 	       current->pid, lnum);
 	       current->pid, lnum);
 
 
-	buf = __vmalloc(c->leb_size, GFP_KERNEL | GFP_NOFS, PAGE_KERNEL);
+	buf = __vmalloc(c->leb_size, GFP_NOFS, PAGE_KERNEL);
 	if (!buf) {
 	if (!buf) {
 		ubifs_err("cannot allocate memory for dumping LEB %d", lnum);
 		ubifs_err("cannot allocate memory for dumping LEB %d", lnum);
 		return;
 		return;

+ 1 - 1
fs/ubifs/lprops.c

@@ -1094,7 +1094,7 @@ static int scan_check_cb(struct ubifs_info *c,
 		}
 		}
 	}
 	}
 
 
-	buf = __vmalloc(c->leb_size, GFP_KERNEL | GFP_NOFS, PAGE_KERNEL);
+	buf = __vmalloc(c->leb_size, GFP_NOFS, PAGE_KERNEL);
 	if (!buf) {
 	if (!buf) {
 		ubifs_err("cannot allocate memory to scan LEB %d", lnum);
 		ubifs_err("cannot allocate memory to scan LEB %d", lnum);
 		goto out;
 		goto out;

+ 2 - 2
fs/ubifs/lpt_commit.c

@@ -1633,7 +1633,7 @@ static int dbg_check_ltab_lnum(struct ubifs_info *c, int lnum)
 	if (!(ubifs_chk_flags & UBIFS_CHK_LPROPS))
 	if (!(ubifs_chk_flags & UBIFS_CHK_LPROPS))
 		return 0;
 		return 0;
 
 
-	buf = p = __vmalloc(c->leb_size, GFP_KERNEL | GFP_NOFS, PAGE_KERNEL);
+	buf = p = __vmalloc(c->leb_size, GFP_NOFS, PAGE_KERNEL);
 	if (!buf) {
 	if (!buf) {
 		ubifs_err("cannot allocate memory for ltab checking");
 		ubifs_err("cannot allocate memory for ltab checking");
 		return 0;
 		return 0;
@@ -1885,7 +1885,7 @@ static void dump_lpt_leb(const struct ubifs_info *c, int lnum)
 
 
 	printk(KERN_DEBUG "(pid %d) start dumping LEB %d\n",
 	printk(KERN_DEBUG "(pid %d) start dumping LEB %d\n",
 	       current->pid, lnum);
 	       current->pid, lnum);
-	buf = p = __vmalloc(c->leb_size, GFP_KERNEL | GFP_NOFS, PAGE_KERNEL);
+	buf = p = __vmalloc(c->leb_size, GFP_NOFS, PAGE_KERNEL);
 	if (!buf) {
 	if (!buf) {
 		ubifs_err("cannot allocate memory to dump LPT");
 		ubifs_err("cannot allocate memory to dump LPT");
 		return;
 		return;

+ 1 - 1
fs/ubifs/orphan.c

@@ -898,7 +898,7 @@ static int dbg_scan_orphans(struct ubifs_info *c, struct check_info *ci)
 	if (c->no_orphs)
 	if (c->no_orphs)
 		return 0;
 		return 0;
 
 
-	buf = __vmalloc(c->leb_size, GFP_KERNEL | GFP_NOFS, PAGE_KERNEL);
+	buf = __vmalloc(c->leb_size, GFP_NOFS, PAGE_KERNEL);
 	if (!buf) {
 	if (!buf) {
 		ubifs_err("cannot allocate memory to check orphans");
 		ubifs_err("cannot allocate memory to check orphans");
 		return 0;
 		return 0;