Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9c3ce9ec authored by Matthew Wilcox's avatar Matthew Wilcox Committed by Linus Torvalds
Browse files

ext2: get rid of most mentions of XIP in ext2



To help people transition, accept the 'xip' mount option (and report it in
/proc/mounts), but print a message encouraging people to switch over to
the 'dax' option.

Signed-off-by: default avatarMatthew Wilcox <matthew.r.wilcox@intel.com>
Reviewed-by: default avatarMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Andreas Dilger <andreas.dilger@intel.com>
Cc: Boaz Harrosh <boaz@plexistor.com>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Dave Chinner <david@fromorbit.com>
Cc: Jan Kara <jack@suse.cz>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
Cc: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 97443aa8
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -20,6 +20,9 @@ minixdf Makes `df' act like Minix.
check=none, nocheck	(*)	Don't do extra checking of bitmaps on mount
				(check=normal and check=strict options removed)

dax				Use direct access (no page cache).  See
				Documentation/filesystems/dax.txt.

debug				Extra debugging information is sent to the
				kernel syslog.  Useful for developers.

@@ -56,8 +59,6 @@ noacl Don't support POSIX ACLs.

nobh				Do not attach buffer_heads to file pagecache.

xip				Use execute in place (no caching) if possible

grpquota,noquota,quota,usrquota	Quota options are silently ignored by ext2.


+7 −6
Original line number Diff line number Diff line
@@ -380,14 +380,15 @@ struct ext2_inode {
#define EXT2_MOUNT_NO_UID32		0x000200  /* Disable 32-bit UIDs */
#define EXT2_MOUNT_XATTR_USER		0x004000  /* Extended user attributes */
#define EXT2_MOUNT_POSIX_ACL		0x008000  /* POSIX Access Control Lists */
#ifdef CONFIG_FS_DAX
#define EXT2_MOUNT_XIP			0x010000  /* Execute in place */
#else
#define EXT2_MOUNT_XIP			0
#endif
#define EXT2_MOUNT_XIP			0x010000  /* Obsolete, use DAX */
#define EXT2_MOUNT_USRQUOTA		0x020000  /* user quota */
#define EXT2_MOUNT_GRPQUOTA		0x040000  /* group quota */
#define EXT2_MOUNT_RESERVATION		0x080000  /* Preallocation */
#ifdef CONFIG_FS_DAX
#define EXT2_MOUNT_DAX			0x100000  /* Direct Access */
#else
#define EXT2_MOUNT_DAX			0
#endif


#define clear_opt(o, opt)		o &= ~EXT2_MOUNT_##opt
@@ -792,7 +793,7 @@ extern int ext2_fsync(struct file *file, loff_t start, loff_t end,
		      int datasync);
extern const struct inode_operations ext2_file_inode_operations;
extern const struct file_operations ext2_file_operations;
extern const struct file_operations ext2_xip_file_operations;
extern const struct file_operations ext2_dax_file_operations;

/* inode.c */
extern const struct address_space_operations ext2_aops;
+1 −1
Original line number Diff line number Diff line
@@ -109,7 +109,7 @@ const struct file_operations ext2_file_operations = {
};

#ifdef CONFIG_FS_DAX
const struct file_operations ext2_xip_file_operations = {
const struct file_operations ext2_dax_file_operations = {
	.llseek		= generic_file_llseek,
	.read		= new_sync_read,
	.write		= new_sync_write,
+3 −3
Original line number Diff line number Diff line
@@ -1286,7 +1286,7 @@ void ext2_set_inode_flags(struct inode *inode)
		inode->i_flags |= S_NOATIME;
	if (flags & EXT2_DIRSYNC_FL)
		inode->i_flags |= S_DIRSYNC;
	if (test_opt(inode->i_sb, XIP))
	if (test_opt(inode->i_sb, DAX))
		inode->i_flags |= S_DAX;
}

@@ -1388,9 +1388,9 @@ struct inode *ext2_iget (struct super_block *sb, unsigned long ino)

	if (S_ISREG(inode->i_mode)) {
		inode->i_op = &ext2_file_inode_operations;
		if (test_opt(inode->i_sb, XIP)) {
		if (test_opt(inode->i_sb, DAX)) {
			inode->i_mapping->a_ops = &ext2_aops;
			inode->i_fop = &ext2_xip_file_operations;
			inode->i_fop = &ext2_dax_file_operations;
		} else if (test_opt(inode->i_sb, NOBH)) {
			inode->i_mapping->a_ops = &ext2_nobh_aops;
			inode->i_fop = &ext2_file_operations;
+4 −4
Original line number Diff line number Diff line
@@ -104,9 +104,9 @@ static int ext2_create (struct inode * dir, struct dentry * dentry, umode_t mode
		return PTR_ERR(inode);

	inode->i_op = &ext2_file_inode_operations;
	if (test_opt(inode->i_sb, XIP)) {
	if (test_opt(inode->i_sb, DAX)) {
		inode->i_mapping->a_ops = &ext2_aops;
		inode->i_fop = &ext2_xip_file_operations;
		inode->i_fop = &ext2_dax_file_operations;
	} else if (test_opt(inode->i_sb, NOBH)) {
		inode->i_mapping->a_ops = &ext2_nobh_aops;
		inode->i_fop = &ext2_file_operations;
@@ -125,9 +125,9 @@ static int ext2_tmpfile(struct inode *dir, struct dentry *dentry, umode_t mode)
		return PTR_ERR(inode);

	inode->i_op = &ext2_file_inode_operations;
	if (test_opt(inode->i_sb, XIP)) {
	if (test_opt(inode->i_sb, DAX)) {
		inode->i_mapping->a_ops = &ext2_aops;
		inode->i_fop = &ext2_xip_file_operations;
		inode->i_fop = &ext2_dax_file_operations;
	} else if (test_opt(inode->i_sb, NOBH)) {
		inode->i_mapping->a_ops = &ext2_nobh_aops;
		inode->i_fop = &ext2_file_operations;
Loading