[PATCH] set GFP_NOFS to avoid recursing back into file system code (4 of 6)
[email protected] Thu, 20 May 2004 16:50:26 -0500
| Newsgroups | gmane.comp.file-systems.jfs.patches |
|---|---|
| Message-ID | <[email protected]> |
# This is a BitKeeper generated diff -Nru style patch. # # ChangeSet # 2004/05/19 15:28:02-05:00 [email protected] # JFS: set GFP_NOFS to avoid recursing back into file system code # diff -Nru a/fs/jfs/jfs_mount.c b/fs/jfs/jfs_mount.c --- a/fs/jfs/jfs_mount.c 2004-05-20 16:47:36 -05:00 +++ b/fs/jfs/jfs_mount.c 2004-05-20 16:47:36 -05:00 @@ -288,6 +288,11 @@ */ logMOUNT(sb); + /* + * Set page cache allocation policy + */ + mapping_set_gfp_mask(sb->s_bdev->bd_inode->i_mapping, GFP_NOFS); + return rc; } diff -Nru a/fs/jfs/jfs_umount.c b/fs/jfs/jfs_umount.c --- a/fs/jfs/jfs_umount.c 2004-05-20 16:47:36 -05:00 +++ b/fs/jfs/jfs_umount.c 2004-05-20 16:47:36 -05:00 @@ -121,7 +121,10 @@ * list (to signify skip logredo()). */ if (log) { /* log = NULL if read-only mount */ - rc = updateSuper(sb, FM_CLEAN); + updateSuper(sb, FM_CLEAN); + + /* Restore default gfp_mask for bdev */ + mapping_set_gfp_mask(bdev_mapping, GFP_USER); /* * close log: @@ -167,6 +170,9 @@ filemap_fdatawait(bdev_mapping); updateSuper(sb, FM_CLEAN); + + /* Restore default gfp_mask for bdev */ + mapping_set_gfp_mask(bdev_mapping, GFP_USER); return lmLogClose(sb); }