diff --git a/fs/gfs2/ops_file.c b/fs/gfs2/ops_file.c
index fafa48b9105e4aa9594b1c3fec317414932af1c5..3064f133bf3c23380bbb6ee2bc5e824fdfd6dfa9 100644
--- a/fs/gfs2/ops_file.c
+++ b/fs/gfs2/ops_file.c
@@ -21,7 +21,6 @@
 #include <linux/gfs2_ondisk.h>
 #include <linux/ext2_fs.h>
 #include <linux/crc32.h>
-#include <linux/iflags.h>
 #include <linux/lm_interface.h>
 #include <asm/uaccess.h>
 
@@ -201,27 +200,48 @@ static int gfs2_readdir(struct file *file, void *dirent, filldir_t filldir)
 	return error;
 }
 
+/**
+ * fsflags_cvt
+ * @table: A table of 32 u32 flags
+ * @val: a 32 bit value to convert
+ *
+ * This function can be used to convert between fsflags values and
+ * GFS2's own flags values.
+ *
+ * Returns: the converted flags
+ */
+static u32 fsflags_cvt(const u32 *table, u32 val)
+{
+	u32 res = 0;
+	while(val) {
+		if (val & 1)
+			res |= *table;
+		table++;
+		val >>= 1;
+	}
+	return res;
+}
 
-static const u32 iflags_to_gfs2[32] = {
-	[iflag_Sync] = GFS2_DIF_SYNC,
-	[iflag_Immutable] = GFS2_DIF_IMMUTABLE,
-	[iflag_Append] = GFS2_DIF_APPENDONLY,
-	[iflag_NoAtime] = GFS2_DIF_NOATIME,
-	[iflag_Index] = GFS2_DIF_EXHASH,
-	[iflag_JournalData] = GFS2_DIF_JDATA,
-	[iflag_DirectIO] = GFS2_DIF_DIRECTIO,
+static const u32 fsflags_to_gfs2[32] = {
+	[3] = GFS2_DIF_SYNC,
+	[4] = GFS2_DIF_IMMUTABLE,
+	[5] = GFS2_DIF_APPENDONLY,
+	[7] = GFS2_DIF_NOATIME,
+	[12] = GFS2_DIF_EXHASH,
+	[14] = GFS2_DIF_JDATA,
+	[20] = GFS2_DIF_DIRECTIO,
 };
 
-static const u32 gfs2_to_iflags[32] = {
-	[gfs2fl_Sync] = IFLAG_SYNC,
-	[gfs2fl_Immutable] = IFLAG_IMMUTABLE,
-	[gfs2fl_AppendOnly] = IFLAG_APPEND,
-	[gfs2fl_NoAtime] = IFLAG_NOATIME,
-	[gfs2fl_ExHash] = IFLAG_INDEX,
-	[gfs2fl_Jdata] = IFLAG_JOURNAL_DATA,
-	[gfs2fl_Directio] = IFLAG_DIRECTIO,
-	[gfs2fl_InheritDirectio] = IFLAG_DIRECTIO,
-	[gfs2fl_InheritJdata] = IFLAG_JOURNAL_DATA,
+static const u32 gfs2_to_fsflags[32] = {
+	[gfs2fl_Sync] = FS_SYNC_FL,
+	[gfs2fl_Immutable] = FS_IMMUTABLE_FL,
+	[gfs2fl_AppendOnly] = FS_APPEND_FL,
+	[gfs2fl_NoAtime] = FS_NOATIME_FL,
+	[gfs2fl_ExHash] = FS_INDEX_FL,
+	[gfs2fl_Jdata] = FS_JOURNAL_DATA_FL,
+	[gfs2fl_Directio] = FS_DIRECTIO_FL,
+	[gfs2fl_InheritDirectio] = FS_DIRECTIO_FL,
+	[gfs2fl_InheritJdata] = FS_JOURNAL_DATA_FL,
 };
 
 static int gfs2_get_flags(struct file *filp, u32 __user *ptr)
@@ -230,15 +250,15 @@ static int gfs2_get_flags(struct file *filp, u32 __user *ptr)
 	struct gfs2_inode *ip = GFS2_I(inode);
 	struct gfs2_holder gh;
 	int error;
-	u32 iflags;
+	u32 fsflags;
 
 	gfs2_holder_init(ip->i_gl, LM_ST_SHARED, GL_ATIME, &gh);
 	error = gfs2_glock_nq_m_atime(1, &gh);
 	if (error)
 		return error;
 
-	iflags = iflags_cvt(gfs2_to_iflags, ip->i_di.di_flags);
-	if (put_user(iflags, ptr))
+	fsflags = fsflags_cvt(gfs2_to_fsflags, ip->i_di.di_flags);
+	if (put_user(fsflags, ptr))
 		error = -EFAULT;
 
 	gfs2_glock_dq_m(1, &gh);
@@ -327,19 +347,19 @@ static int do_gfs2_set_flags(struct file *filp, u32 reqflags, u32 mask)
 
 static int gfs2_set_flags(struct file *filp, u32 __user *ptr)
 {
-	u32 iflags, gfsflags;
-	if (get_user(iflags, ptr))
+	u32 fsflags, gfsflags;
+	if (get_user(fsflags, ptr))
 		return -EFAULT;
-	gfsflags = iflags_cvt(iflags_to_gfs2, iflags);
+	gfsflags = fsflags_cvt(fsflags_to_gfs2, fsflags);
 	return do_gfs2_set_flags(filp, gfsflags, ~0);
 }
 
 static long gfs2_ioctl(struct file *filp, unsigned int cmd, unsigned long arg)
 {
 	switch(cmd) {
-	case IFLAGS_GET_IOC:
+	case FS_IOC_GETFLAGS:
 		return gfs2_get_flags(filp, (u32 __user *)arg);
-	case IFLAGS_SET_IOC:
+	case FS_IOC_SETFLAGS:
 		return gfs2_set_flags(filp, (u32 __user *)arg);
 	}
 	return -ENOTTY;
diff --git a/include/linux/Kbuild b/include/linux/Kbuild
index 839a97ee1f7c92e4a760f39aa29e4f6164fdcdd5..15667cc947d58d0da5fc628c89f82271ebbdadc2 100644
--- a/include/linux/Kbuild
+++ b/include/linux/Kbuild
@@ -223,7 +223,6 @@ unifdef-y += hpet.h
 unifdef-y += i2c.h
 unifdef-y += i2o-dev.h
 unifdef-y += icmpv6.h
-unifdef-y += iflags.h
 unifdef-y += if_bridge.h
 unifdef-y += if_ec.h
 unifdef-y += if_eql.h
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 2e29a2edaeecb2173deffdbce1c4fc9f9e1e4d0f..bc0e645abb8078995ecd044e25ea462e413138be 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -250,6 +250,8 @@ extern int dir_notify_enable;
 #define FS_NOTAIL_FL			0x00008000 /* file tail should not be merged */
 #define FS_DIRSYNC_FL			0x00010000 /* dirsync behaviour (directories only) */
 #define FS_TOPDIR_FL			0x00020000 /* Top of directory hierarchies*/
+#define FS_EXTENT_FL			0x00080000 /* Extents */
+#define FS_DIRECTIO_FL			0x00100000 /* Use direct i/o */
 #define FS_RESERVED_FL			0x80000000 /* reserved for ext2 lib */
 
 #define FS_FL_USER_VISIBLE		0x0003DFFF /* User visible flags */
diff --git a/include/linux/iflags.h b/include/linux/iflags.h
deleted file mode 100644
index 5b27102dfeaf537406340b2279cbd21773aec197..0000000000000000000000000000000000000000
--- a/include/linux/iflags.h
+++ /dev/null
@@ -1,102 +0,0 @@
-#ifndef _LINUX_IFLAGS_H
-#define _LINUX_IFLAGS_H
-
-/*
- * A universal set of inode flags.
- *
- * Originally taken from ext2/3 with additions for other filesystems.
- * Filesystems supporting this interface should interoperate with
- * the lsattr and chattr command line tools.
- *
- * This interface is supported in whole or in part by:
- * ext2
- * ext3
- * xfs
- * jfs
- * gfs2
- *
- */
-
-#define IFLAGS_GET_IOC		_IOR('f', 1, long)
-#define IFLAGS_SET_IOC		_IOW('f', 2, long)
-
-/*
- * These values are provided for use as indices of an array
- * for use with the iflags_cvt function below
- */
-enum {
-	iflag_SecureRm		= 0,	/* Secure deletion */
-	iflag_Unrm		= 1,	/* Undelete */
-	iflag_Compress		= 2,	/* Compress file */
-	iflag_Sync		= 3,	/* Synchronous updates */
-	iflag_Immutable	= 4,	/* Immutable */
-	iflag_Append		= 5,	/* Append */
-	iflag_NoDump		= 6,	/* Don't dump file */
-	iflag_NoAtime		= 7,	/* No atime updates */
-	/* Reserved for compression usage */
-	iflag_Dirty		= 8,
-	iflag_ComprBlk		= 9,	/* One or more compressed clusters */
-	iflag_NoComp		= 10,	/* Don't compress */
-	iflag_Ecompr		= 11,	/* Compression error */
-	/* End of compression flags */
-	iflag_Btree		= 12,	/* btree format dir */
-	iflag_Index		= 12,	/* hash-indexed directory */
-	iflag_Imagic		= 13,	/* AFS directory */
-	iflag_JournalData	= 14,	/* file data should be journaled */
-	iflag_NoTail		= 15,	/* file tail should not be merged */
-	iflag_DirSync		= 16,	/* dirsync behaviour */
-	iflag_TopDir		= 17,	/* Top of directory hierarchies */
-	iflag_Extent		= 19,	/* Extents */
-	iflag_DirectIO		= 20,	/* Always use direct I/O on this file */
-	iflag_Reserved		= 31	/* reserved for ext2/3 lib */
-};
-
-#define __IFL(x) (1<<(iflag_##x))
-#define IFLAG_SECRM		__IFL(SecureRm)		/* 0x00000001 */
-#define IFLAG_UNRM		__IFL(Unrm)		/* 0x00000002 */
-#define IFLAG_COMPR		__IFL(Compr)		/* 0x00000004 */
-#define IFLAG_SYNC		__IFL(Sync)		/* 0x00000008 */
-#define IFLAG_IMMUTABLE		__IFL(Immutable)	/* 0x00000010 */
-#define IFLAG_APPEND		__IFL(Append)		/* 0x00000020 */
-#define IFLAG_NODUMP		__IFL(NoDump)		/* 0x00000040 */
-#define IFLAG_NOATIME		__IFL(NoAtime)		/* 0x00000080 */
-#define IFLAG_DIRTY		__IFL(Dirty)		/* 0x00000100 */
-#define IFLAG_COMPRBLK		__IFL(ComprBlk)		/* 0x00000200 */
-#define IFLAG_NOCOMP		__IFL(NoComp)		/* 0x00000400 */
-#define IFLAG_ECOMPR		__IFL(Ecompr)		/* 0x00000800 */
-#define IFLAG_BTREE		__IFL(Btree)		/* 0x00001000 */
-#define IFLAG_INDEX		__IFL(Index)		/* 0x00001000 */
-#define IFLAG_IMAGIC		__IFL(Imagic)		/* 0x00002000 */
-#define IFLAG_JOURNAL_DATA	__IFL(JournalData)	/* 0x00004000 */
-#define IFLAG_NOTAIL		__IFL(NoTail)		/* 0x00008000 */
-#define IFLAG_DIRSYNC		__IFL(DirSync)		/* 0x00010000 */
-#define IFLAG_TOPDIR		__IFL(TopDir)		/* 0x00020000 */
-#define IFLAG_EXTENT		__IFL(Extent)		/* 0x00080000 */
-#define IFLAG_DIRECTIO		__IFL(DirectIO)		/* 0x00100000 */
-#define IFLAG_RESERVED		__IFL(Reserved)		/* 0x80000000 */
-
-#ifdef __KERNEL__
-/**
- * iflags_cvt
- * @table: A table of 32 u32 flags
- * @val: a 32 bit value to convert
- *
- * This function can be used to convert between IFLAGS values and
- * the filesystem's own flags values.
- *
- * Returns: the converted flags
- */
-static inline u32 iflags_cvt(const u32 *table, u32 val)
-{
-	u32 res = 0;
-	while(val) {
-		if (val & 1)
-			res |= *table;
-		table++;
-		val >>= 1;
-	}
-	return res;
-}
-#endif /* __KERNEL__ */
-
-#endif /* _LINUX_IFLAGS_H */