Commit 10d21988 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Steven Whitehouse

GFS2: cleanup file_operations mess

Remove the weird pointer to file_operations mess and replace it with
straight-forward defining of the lockinginstance names to the _nolock
variants.
Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarSteven Whitehouse <swhiteho@redhat.com>
parent a228df63
...@@ -137,15 +137,15 @@ void gfs2_set_iop(struct inode *inode) ...@@ -137,15 +137,15 @@ void gfs2_set_iop(struct inode *inode)
if (S_ISREG(mode)) { if (S_ISREG(mode)) {
inode->i_op = &gfs2_file_iops; inode->i_op = &gfs2_file_iops;
if (gfs2_localflocks(sdp)) if (gfs2_localflocks(sdp))
inode->i_fop = gfs2_file_fops_nolock; inode->i_fop = &gfs2_file_fops_nolock;
else else
inode->i_fop = gfs2_file_fops; inode->i_fop = &gfs2_file_fops;
} else if (S_ISDIR(mode)) { } else if (S_ISDIR(mode)) {
inode->i_op = &gfs2_dir_iops; inode->i_op = &gfs2_dir_iops;
if (gfs2_localflocks(sdp)) if (gfs2_localflocks(sdp))
inode->i_fop = gfs2_dir_fops_nolock; inode->i_fop = &gfs2_dir_fops_nolock;
else else
inode->i_fop = gfs2_dir_fops; inode->i_fop = &gfs2_dir_fops;
} else if (S_ISLNK(mode)) { } else if (S_ISLNK(mode)) {
inode->i_op = &gfs2_symlink_iops; inode->i_op = &gfs2_symlink_iops;
} else { } else {
......
...@@ -101,21 +101,23 @@ void gfs2_dinode_print(const struct gfs2_inode *ip); ...@@ -101,21 +101,23 @@ void gfs2_dinode_print(const struct gfs2_inode *ip);
extern const struct inode_operations gfs2_file_iops; extern const struct inode_operations gfs2_file_iops;
extern const struct inode_operations gfs2_dir_iops; extern const struct inode_operations gfs2_dir_iops;
extern const struct inode_operations gfs2_symlink_iops; extern const struct inode_operations gfs2_symlink_iops;
extern const struct file_operations *gfs2_file_fops_nolock; extern const struct file_operations gfs2_file_fops_nolock;
extern const struct file_operations *gfs2_dir_fops_nolock; extern const struct file_operations gfs2_dir_fops_nolock;
extern void gfs2_set_inode_flags(struct inode *inode); extern void gfs2_set_inode_flags(struct inode *inode);
#ifdef CONFIG_GFS2_FS_LOCKING_DLM #ifdef CONFIG_GFS2_FS_LOCKING_DLM
extern const struct file_operations *gfs2_file_fops; extern const struct file_operations gfs2_file_fops;
extern const struct file_operations *gfs2_dir_fops; extern const struct file_operations gfs2_dir_fops;
static inline int gfs2_localflocks(const struct gfs2_sbd *sdp) static inline int gfs2_localflocks(const struct gfs2_sbd *sdp)
{ {
return sdp->sd_args.ar_localflocks; return sdp->sd_args.ar_localflocks;
} }
#else /* Single node only */ #else /* Single node only */
#define gfs2_file_fops NULL #define gfs2_file_fops gfs2_file_fops_nolock
#define gfs2_dir_fops NULL #define gfs2_dir_fops gfs2_dir_fops_nolock
static inline int gfs2_localflocks(const struct gfs2_sbd *sdp) static inline int gfs2_localflocks(const struct gfs2_sbd *sdp)
{ {
return 1; return 1;
......
...@@ -705,7 +705,7 @@ static int gfs2_flock(struct file *file, int cmd, struct file_lock *fl) ...@@ -705,7 +705,7 @@ static int gfs2_flock(struct file *file, int cmd, struct file_lock *fl)
} }
} }
const struct file_operations *gfs2_file_fops = &(const struct file_operations){ const struct file_operations gfs2_file_fops = {
.llseek = gfs2_llseek, .llseek = gfs2_llseek,
.read = do_sync_read, .read = do_sync_read,
.aio_read = generic_file_aio_read, .aio_read = generic_file_aio_read,
...@@ -723,7 +723,7 @@ const struct file_operations *gfs2_file_fops = &(const struct file_operations){ ...@@ -723,7 +723,7 @@ const struct file_operations *gfs2_file_fops = &(const struct file_operations){
.setlease = gfs2_setlease, .setlease = gfs2_setlease,
}; };
const struct file_operations *gfs2_dir_fops = &(const struct file_operations){ const struct file_operations gfs2_dir_fops = {
.readdir = gfs2_readdir, .readdir = gfs2_readdir,
.unlocked_ioctl = gfs2_ioctl, .unlocked_ioctl = gfs2_ioctl,
.open = gfs2_open, .open = gfs2_open,
...@@ -735,7 +735,7 @@ const struct file_operations *gfs2_dir_fops = &(const struct file_operations){ ...@@ -735,7 +735,7 @@ const struct file_operations *gfs2_dir_fops = &(const struct file_operations){
#endif /* CONFIG_GFS2_FS_LOCKING_DLM */ #endif /* CONFIG_GFS2_FS_LOCKING_DLM */
const struct file_operations *gfs2_file_fops_nolock = &(const struct file_operations){ const struct file_operations gfs2_file_fops_nolock = {
.llseek = gfs2_llseek, .llseek = gfs2_llseek,
.read = do_sync_read, .read = do_sync_read,
.aio_read = generic_file_aio_read, .aio_read = generic_file_aio_read,
...@@ -751,7 +751,7 @@ const struct file_operations *gfs2_file_fops_nolock = &(const struct file_operat ...@@ -751,7 +751,7 @@ const struct file_operations *gfs2_file_fops_nolock = &(const struct file_operat
.setlease = generic_setlease, .setlease = generic_setlease,
}; };
const struct file_operations *gfs2_dir_fops_nolock = &(const struct file_operations){ const struct file_operations gfs2_dir_fops_nolock = {
.readdir = gfs2_readdir, .readdir = gfs2_readdir,
.unlocked_ioctl = gfs2_ioctl, .unlocked_ioctl = gfs2_ioctl,
.open = gfs2_open, .open = gfs2_open,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment