mirror of https://gitee.com/openkylin/linux.git
[GFS2] Remove support for unused and pointless flag
The ability to mark files for direct i/o access when opened normally is both unused and pointless, so this patch removes support for that feature. Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
This commit is contained in:
parent
9cabcdbd46
commit
c9f6a6bbc2
|
@ -421,7 +421,6 @@ struct gfs2_tune {
|
|||
unsigned int gt_quota_quantum; /* Secs between syncs to quota file */
|
||||
unsigned int gt_atime_quantum; /* Min secs between atime updates */
|
||||
unsigned int gt_new_files_jdata;
|
||||
unsigned int gt_new_files_directio;
|
||||
unsigned int gt_max_readahead; /* Max bytes to read-ahead from disk */
|
||||
unsigned int gt_stall_secs; /* Detects trouble! */
|
||||
unsigned int gt_complain_secs;
|
||||
|
|
|
@ -789,12 +789,7 @@ static void init_dinode(struct gfs2_inode *dip, struct gfs2_glock *gl,
|
|||
if ((dip->i_di.di_flags & GFS2_DIF_INHERIT_JDATA) ||
|
||||
gfs2_tune_get(sdp, gt_new_files_jdata))
|
||||
di->di_flags |= cpu_to_be32(GFS2_DIF_JDATA);
|
||||
if ((dip->i_di.di_flags & GFS2_DIF_INHERIT_DIRECTIO) ||
|
||||
gfs2_tune_get(sdp, gt_new_files_directio))
|
||||
di->di_flags |= cpu_to_be32(GFS2_DIF_DIRECTIO);
|
||||
} else if (S_ISDIR(mode)) {
|
||||
di->di_flags |= cpu_to_be32(dip->i_di.di_flags &
|
||||
GFS2_DIF_INHERIT_DIRECTIO);
|
||||
di->di_flags |= cpu_to_be32(dip->i_di.di_flags &
|
||||
GFS2_DIF_INHERIT_JDATA);
|
||||
}
|
||||
|
|
|
@ -134,7 +134,6 @@ static const u32 fsflags_to_gfs2[32] = {
|
|||
[7] = GFS2_DIF_NOATIME,
|
||||
[12] = GFS2_DIF_EXHASH,
|
||||
[14] = GFS2_DIF_INHERIT_JDATA,
|
||||
[20] = GFS2_DIF_INHERIT_DIRECTIO,
|
||||
};
|
||||
|
||||
static const u32 gfs2_to_fsflags[32] = {
|
||||
|
@ -143,7 +142,6 @@ static const u32 gfs2_to_fsflags[32] = {
|
|||
[gfs2fl_AppendOnly] = FS_APPEND_FL,
|
||||
[gfs2fl_NoAtime] = FS_NOATIME_FL,
|
||||
[gfs2fl_ExHash] = FS_INDEX_FL,
|
||||
[gfs2fl_InheritDirectio] = FS_DIRECTIO_FL,
|
||||
[gfs2fl_InheritJdata] = FS_JOURNAL_DATA_FL,
|
||||
};
|
||||
|
||||
|
@ -161,12 +159,8 @@ static int gfs2_get_flags(struct file *filp, u32 __user *ptr)
|
|||
return error;
|
||||
|
||||
fsflags = fsflags_cvt(gfs2_to_fsflags, ip->i_di.di_flags);
|
||||
if (!S_ISDIR(inode->i_mode)) {
|
||||
if (ip->i_di.di_flags & GFS2_DIF_JDATA)
|
||||
fsflags |= FS_JOURNAL_DATA_FL;
|
||||
if (ip->i_di.di_flags & GFS2_DIF_DIRECTIO)
|
||||
fsflags |= FS_DIRECTIO_FL;
|
||||
}
|
||||
if (!S_ISDIR(inode->i_mode) && ip->i_di.di_flags & GFS2_DIF_JDATA)
|
||||
fsflags |= FS_JOURNAL_DATA_FL;
|
||||
if (put_user(fsflags, ptr))
|
||||
error = -EFAULT;
|
||||
|
||||
|
@ -195,13 +189,11 @@ void gfs2_set_inode_flags(struct inode *inode)
|
|||
|
||||
/* Flags that can be set by user space */
|
||||
#define GFS2_FLAGS_USER_SET (GFS2_DIF_JDATA| \
|
||||
GFS2_DIF_DIRECTIO| \
|
||||
GFS2_DIF_IMMUTABLE| \
|
||||
GFS2_DIF_APPENDONLY| \
|
||||
GFS2_DIF_NOATIME| \
|
||||
GFS2_DIF_SYNC| \
|
||||
GFS2_DIF_SYSTEM| \
|
||||
GFS2_DIF_INHERIT_DIRECTIO| \
|
||||
GFS2_DIF_INHERIT_JDATA)
|
||||
|
||||
/**
|
||||
|
@ -292,8 +284,6 @@ static int gfs2_set_flags(struct file *filp, u32 __user *ptr)
|
|||
if (!S_ISDIR(inode->i_mode)) {
|
||||
if (gfsflags & GFS2_DIF_INHERIT_JDATA)
|
||||
gfsflags ^= (GFS2_DIF_JDATA | GFS2_DIF_INHERIT_JDATA);
|
||||
if (gfsflags & GFS2_DIF_INHERIT_DIRECTIO)
|
||||
gfsflags ^= (GFS2_DIF_DIRECTIO | GFS2_DIF_INHERIT_DIRECTIO);
|
||||
return do_gfs2_set_flags(filp, gfsflags, ~0);
|
||||
}
|
||||
return do_gfs2_set_flags(filp, gfsflags, ~GFS2_DIF_JDATA);
|
||||
|
@ -494,11 +484,6 @@ static int gfs2_open(struct inode *inode, struct file *file)
|
|||
goto fail_gunlock;
|
||||
}
|
||||
|
||||
/* Listen to the Direct I/O flag */
|
||||
|
||||
if (ip->i_di.di_flags & GFS2_DIF_DIRECTIO)
|
||||
file->f_flags |= O_DIRECT;
|
||||
|
||||
gfs2_glock_dq_uninit(&i_gh);
|
||||
}
|
||||
|
||||
|
|
|
@ -65,7 +65,6 @@ void gfs2_tune_init(struct gfs2_tune *gt)
|
|||
gt->gt_quota_quantum = 60;
|
||||
gt->gt_atime_quantum = 3600;
|
||||
gt->gt_new_files_jdata = 0;
|
||||
gt->gt_new_files_directio = 0;
|
||||
gt->gt_max_readahead = 1 << 18;
|
||||
gt->gt_stall_secs = 600;
|
||||
gt->gt_complain_secs = 10;
|
||||
|
|
|
@ -412,7 +412,6 @@ TUNE_ATTR(max_readahead, 0);
|
|||
TUNE_ATTR(complain_secs, 0);
|
||||
TUNE_ATTR(statfs_slow, 0);
|
||||
TUNE_ATTR(new_files_jdata, 0);
|
||||
TUNE_ATTR(new_files_directio, 0);
|
||||
TUNE_ATTR(quota_simul_sync, 1);
|
||||
TUNE_ATTR(quota_cache_secs, 1);
|
||||
TUNE_ATTR(stall_secs, 1);
|
||||
|
@ -441,7 +440,6 @@ static struct attribute *tune_attrs[] = {
|
|||
&tune_attr_quotad_secs.attr,
|
||||
&tune_attr_quota_scale.attr,
|
||||
&tune_attr_new_files_jdata.attr,
|
||||
&tune_attr_new_files_directio.attr,
|
||||
NULL,
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue