From: "J. Bruce Fields" <bfields@xxxxxxxxxx> The convention is to avoid this kind of typedef. It doesn't seem useful, and it requires a lot of casts. Reviewed-by: NeilBrown <neilb@xxxxxxxx> Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxx> --- Documentation/filesystems/vfs.txt | 2 +- arch/ia64/kernel/perfmon.c | 2 +- arch/powerpc/platforms/cell/spufs/file.c | 2 +- arch/tile/kernel/hardwall.c | 2 +- drivers/android/binder.c | 2 +- drivers/char/ps3flash.c | 2 +- drivers/char/xillybus/xillybus_core.c | 2 +- drivers/firmware/efi/capsule-loader.c | 2 +- drivers/input/evdev.c | 2 +- drivers/misc/mic/scif/scif_fd.c | 2 +- drivers/scsi/osst.c | 2 +- drivers/scsi/st.c | 2 +- drivers/staging/lustre/lustre/llite/file.c | 2 +- drivers/usb/class/cdc-wdm.c | 2 +- drivers/usb/usb-skeleton.c | 2 +- fs/afs/internal.h | 2 +- fs/afs/write.c | 2 +- fs/cifs/cifsfs.h | 2 +- fs/cifs/file.c | 4 ++-- fs/ecryptfs/file.c | 2 +- fs/exofs/file.c | 2 +- fs/f2fs/file.c | 2 +- fs/fuse/file.c | 13 ++++++------- fs/fuse/fuse_i.h | 2 +- fs/lockd/clntproc.c | 4 ++-- fs/lockd/svc4proc.c | 2 +- fs/lockd/svcproc.c | 2 +- fs/locks.c | 2 +- fs/nfs/file.c | 2 +- fs/nfs/inode.c | 2 +- fs/nfs/nfs4_fs.h | 2 +- fs/nfs/nfs4file.c | 2 +- fs/nfs/nfs4state.c | 8 ++++---- fs/nfsd/nfs4state.c | 18 +++++++++--------- fs/notify/dnotify/dnotify.c | 6 +++--- fs/open.c | 2 +- include/linux/dnotify.h | 6 +++--- include/linux/fs.h | 17 +++++++---------- include/linux/lockd/lockd.h | 4 ++-- include/linux/nfs_fs.h | 4 ++-- include/trace/events/filelock.h | 6 +++--- ipc/mqueue.c | 2 +- 42 files changed, 74 insertions(+), 78 deletions(-) diff --git a/Documentation/filesystems/vfs.txt b/Documentation/filesystems/vfs.txt index 5fd325df59e2..7e22079c7396 100644 --- a/Documentation/filesystems/vfs.txt +++ b/Documentation/filesystems/vfs.txt @@ -862,7 +862,7 @@ struct file_operations { int (*mmap) (struct file *, struct vm_area_struct *); int (*mremap)(struct file *, struct vm_area_struct *); int (*open) (struct inode *, struct file *); - int (*flush) (struct file *, fl_owner_t id); + int (*flush) (struct file *, void *id); int (*release) (struct inode *, struct file *); int (*fsync) (struct file *, loff_t, loff_t, int datasync); int (*fasync) (int, struct file *, int); diff --git a/arch/ia64/kernel/perfmon.c b/arch/ia64/kernel/perfmon.c index 8fb280e33114..c78e62a76d20 100644 --- a/arch/ia64/kernel/perfmon.c +++ b/arch/ia64/kernel/perfmon.c @@ -1809,7 +1809,7 @@ pfm_syswide_cleanup_other_cpu(pfm_context_t *ctx) * When caller is self-monitoring, the context is unloaded. */ static int -pfm_flush(struct file *filp, fl_owner_t id) +pfm_flush(struct file *filp, void *id) { pfm_context_t *ctx; struct task_struct *task; diff --git a/arch/powerpc/platforms/cell/spufs/file.c b/arch/powerpc/platforms/cell/spufs/file.c index 469bdd0b748f..e5a204f8169b 100644 --- a/arch/powerpc/platforms/cell/spufs/file.c +++ b/arch/powerpc/platforms/cell/spufs/file.c @@ -1720,7 +1720,7 @@ static __poll_t spufs_mfc_poll(struct file *file,poll_table *wait) return mask; } -static int spufs_mfc_flush(struct file *file, fl_owner_t id) +static int spufs_mfc_flush(struct file *file, void *id) { struct spu_context *ctx = file->private_data; int ret; diff --git a/arch/tile/kernel/hardwall.c b/arch/tile/kernel/hardwall.c index 2fd1694ac1d0..b2cf21d1edb0 100644 --- a/arch/tile/kernel/hardwall.c +++ b/arch/tile/kernel/hardwall.c @@ -1030,7 +1030,7 @@ static long hardwall_compat_ioctl(struct file *file, #endif /* The user process closed the file; revoke access to user networks. */ -static int hardwall_flush(struct file *file, fl_owner_t owner) +static int hardwall_flush(struct file *file, void *owner) { struct hardwall_info *info = file->private_data; struct task_struct *task, *tmp; diff --git a/drivers/android/binder.c b/drivers/android/binder.c index 15e3d3c2260d..f7706142974c 100644 --- a/drivers/android/binder.c +++ b/drivers/android/binder.c @@ -4776,7 +4776,7 @@ static int binder_open(struct inode *nodp, struct file *filp) return 0; } -static int binder_flush(struct file *filp, fl_owner_t id) +static int binder_flush(struct file *filp, void *id) { struct binder_proc *proc = filp->private_data; diff --git a/drivers/char/ps3flash.c b/drivers/char/ps3flash.c index b526dc15c271..5a03dd0eb2f1 100644 --- a/drivers/char/ps3flash.c +++ b/drivers/char/ps3flash.c @@ -281,7 +281,7 @@ static ssize_t ps3flash_kernel_write(const void *buf, size_t count, return res; } -static int ps3flash_flush(struct file *file, fl_owner_t id) +static int ps3flash_flush(struct file *file, void *id) { return ps3flash_writeback(ps3flash_dev); } diff --git a/drivers/char/xillybus/xillybus_core.c b/drivers/char/xillybus/xillybus_core.c index a11af94e2e65..b76074c976b9 100644 --- a/drivers/char/xillybus/xillybus_core.c +++ b/drivers/char/xillybus/xillybus_core.c @@ -1156,7 +1156,7 @@ static int xillybus_myflush(struct xilly_channel *channel, long timeout) return rc; } -static int xillybus_flush(struct file *filp, fl_owner_t id) +static int xillybus_flush(struct file *filp, void *id) { if (!(filp->f_mode & FMODE_WRITE)) return 0; diff --git a/drivers/firmware/efi/capsule-loader.c b/drivers/firmware/efi/capsule-loader.c index e456f4602df1..ba444f726465 100644 --- a/drivers/firmware/efi/capsule-loader.c +++ b/drivers/firmware/efi/capsule-loader.c @@ -246,7 +246,7 @@ static ssize_t efi_capsule_write(struct file *file, const char __user *buff, * will be treated as upload termination and will free those completed * buffer pages and -ECANCELED will be returned. **/ -static int efi_capsule_flush(struct file *file, fl_owner_t id) +static int efi_capsule_flush(struct file *file, void *id) { int ret = 0; struct capsule_info *cap_info = file->private_data; diff --git a/drivers/input/evdev.c b/drivers/input/evdev.c index c81c79d01d93..fd9e02e133b1 100644 --- a/drivers/input/evdev.c +++ b/drivers/input/evdev.c @@ -348,7 +348,7 @@ static int evdev_fasync(int fd, struct file *file, int on) return fasync_helper(fd, file, on, &client->fasync); } -static int evdev_flush(struct file *file, fl_owner_t id) +static int evdev_flush(struct file *file, void *id) { struct evdev_client *client = file->private_data; struct evdev *evdev = client->evdev; diff --git a/drivers/misc/mic/scif/scif_fd.c b/drivers/misc/mic/scif/scif_fd.c index 5c2a57ae4f85..e8baa7b93c05 100644 --- a/drivers/misc/mic/scif/scif_fd.c +++ b/drivers/misc/mic/scif/scif_fd.c @@ -48,7 +48,7 @@ static __poll_t scif_fdpoll(struct file *f, poll_table *wait) return __scif_pollfd(f, wait, priv); } -static int scif_fdflush(struct file *f, fl_owner_t id) +static int scif_fdflush(struct file *f, void *id) { struct scif_endpt *ep = f->private_data; diff --git a/drivers/scsi/osst.c b/drivers/scsi/osst.c index 20ec1c01dbd5..fdb213261249 100644 --- a/drivers/scsi/osst.c +++ b/drivers/scsi/osst.c @@ -4822,7 +4822,7 @@ static int os_scsi_tape_open(struct inode * inode, struct file * filp) /* Flush the tape buffer before close */ -static int os_scsi_tape_flush(struct file * filp, fl_owner_t id) +static int os_scsi_tape_flush(struct file * filp, void *id) { int result = 0, result2; struct osst_tape * STp = filp->private_data; diff --git a/drivers/scsi/st.c b/drivers/scsi/st.c index 6c399480783d..ed01299f6f51 100644 --- a/drivers/scsi/st.c +++ b/drivers/scsi/st.c @@ -1338,7 +1338,7 @@ static int st_open(struct inode *inode, struct file *filp) /* Flush the tape buffer before close */ -static int st_flush(struct file *filp, fl_owner_t id) +static int st_flush(struct file *filp, void *id) { int result = 0, result2; unsigned char cmd[MAX_COMMAND_SIZE]; diff --git a/drivers/staging/lustre/lustre/llite/file.c b/drivers/staging/lustre/lustre/llite/file.c index 938b859b6650..a8fe2072ea7c 100644 --- a/drivers/staging/lustre/lustre/llite/file.c +++ b/drivers/staging/lustre/lustre/llite/file.c @@ -2281,7 +2281,7 @@ static loff_t ll_file_seek(struct file *file, loff_t offset, int origin) ll_file_maxbytes(inode), eof); } -static int ll_flush(struct file *file, fl_owner_t id) +static int ll_flush(struct file *file, void *id) { struct inode *inode = file_inode(file); struct ll_inode_info *lli = ll_i2info(inode); diff --git a/drivers/usb/class/cdc-wdm.c b/drivers/usb/class/cdc-wdm.c index a0d284ef3f40..bda5b9812ccb 100644 --- a/drivers/usb/class/cdc-wdm.c +++ b/drivers/usb/class/cdc-wdm.c @@ -581,7 +581,7 @@ static ssize_t wdm_read return rv; } -static int wdm_flush(struct file *file, fl_owner_t id) +static int wdm_flush(struct file *file, void *id) { struct wdm_device *desc = file->private_data; diff --git a/drivers/usb/usb-skeleton.c b/drivers/usb/usb-skeleton.c index 26ca0ec01fd5..d20a23d77fbe 100644 --- a/drivers/usb/usb-skeleton.c +++ b/drivers/usb/usb-skeleton.c @@ -132,7 +132,7 @@ static int skel_release(struct inode *inode, struct file *file) return 0; } -static int skel_flush(struct file *file, fl_owner_t id) +static int skel_flush(struct file *file, void *id) { struct usb_skel *dev; int res; diff --git a/fs/afs/internal.h b/fs/afs/internal.h index f38d6a561a84..18b1e2bc2a14 100644 --- a/fs/afs/internal.h +++ b/fs/afs/internal.h @@ -947,7 +947,7 @@ extern int afs_writepage(struct page *, struct writeback_control *); extern int afs_writepages(struct address_space *, struct writeback_control *); extern void afs_pages_written_back(struct afs_vnode *, struct afs_call *); extern ssize_t afs_file_write(struct kiocb *, struct iov_iter *); -extern int afs_flush(struct file *, fl_owner_t); +extern int afs_flush(struct file *, void *); extern int afs_fsync(struct file *, loff_t, loff_t, int); extern int afs_page_mkwrite(struct vm_fault *); extern void afs_prune_wb_keys(struct afs_vnode *); diff --git a/fs/afs/write.c b/fs/afs/write.c index 9370e2feb999..b4ecbe4e46a4 100644 --- a/fs/afs/write.c +++ b/fs/afs/write.c @@ -737,7 +737,7 @@ int afs_fsync(struct file *file, loff_t start, loff_t end, int datasync) * Flush out all outstanding writes on a file opened for writing when it is * closed. */ -int afs_flush(struct file *file, fl_owner_t id) +int afs_flush(struct file *file, void *id) { _enter(""); diff --git a/fs/cifs/cifsfs.h b/fs/cifs/cifsfs.h index 013ba2aed8d9..09de0b6bd6a7 100644 --- a/fs/cifs/cifsfs.h +++ b/fs/cifs/cifsfs.h @@ -108,7 +108,7 @@ extern ssize_t cifs_strict_writev(struct kiocb *iocb, struct iov_iter *from); extern int cifs_lock(struct file *, int, struct file_lock *); extern int cifs_fsync(struct file *, loff_t, loff_t, int); extern int cifs_strict_fsync(struct file *, loff_t, loff_t, int); -extern int cifs_flush(struct file *, fl_owner_t id); +extern int cifs_flush(struct file *, void *id); extern int cifs_file_mmap(struct file * , struct vm_area_struct *); extern int cifs_file_strict_mmap(struct file * , struct vm_area_struct *); extern const struct file_operations cifs_dir_ops; diff --git a/fs/cifs/file.c b/fs/cifs/file.c index 7cee97b93a61..835c155e64ed 100644 --- a/fs/cifs/file.c +++ b/fs/cifs/file.c @@ -1174,7 +1174,7 @@ cifs_push_mandatory_locks(struct cifsFileInfo *cfile) } static __u32 -hash_lockowner(fl_owner_t owner) +hash_lockowner(void *owner) { return cifs_lock_secret ^ hash32_ptr((const void *)owner); } @@ -2393,7 +2393,7 @@ int cifs_fsync(struct file *file, loff_t start, loff_t end, int datasync) * As file closes, flush all cached write data for this inode checking * for write behind errors. */ -int cifs_flush(struct file *file, fl_owner_t id) +int cifs_flush(struct file *file, void *id) { struct inode *inode = file_inode(file); int rc = 0; diff --git a/fs/ecryptfs/file.c b/fs/ecryptfs/file.c index c74ed3ca3372..78fb58667791 100644 --- a/fs/ecryptfs/file.c +++ b/fs/ecryptfs/file.c @@ -290,7 +290,7 @@ static int ecryptfs_dir_open(struct inode *inode, struct file *file) return 0; } -static int ecryptfs_flush(struct file *file, fl_owner_t td) +static int ecryptfs_flush(struct file *file, void *td) { struct file *lower_file = ecryptfs_file_to_lower(file); diff --git a/fs/exofs/file.c b/fs/exofs/file.c index a94594ea2aa3..86d27d835a11 100644 --- a/fs/exofs/file.c +++ b/fs/exofs/file.c @@ -58,7 +58,7 @@ static int exofs_file_fsync(struct file *filp, loff_t start, loff_t end, return ret; } -static int exofs_flush(struct file *file, fl_owner_t id) +static int exofs_flush(struct file *file, void *id) { int ret = vfs_fsync(file, 0); /* TODO: Flush the OSD target */ diff --git a/fs/f2fs/file.c b/fs/f2fs/file.c index 672a542e5464..57076d46fd08 100644 --- a/fs/f2fs/file.c +++ b/fs/f2fs/file.c @@ -1557,7 +1557,7 @@ static int f2fs_release_file(struct inode *inode, struct file *filp) return 0; } -static int f2fs_file_flush(struct file *file, fl_owner_t id) +static int f2fs_file_flush(struct file *file, void *id) { struct inode *inode = file_inode(file); diff --git a/fs/fuse/file.c b/fs/fuse/file.c index a201fb0ac64f..746624182249 100644 --- a/fs/fuse/file.c +++ b/fs/fuse/file.c @@ -254,8 +254,7 @@ void fuse_release_common(struct file *file, int opcode) if (ff->flock) { struct fuse_release_in *inarg = &req->misc.release.in; inarg->release_flags |= FUSE_RELEASE_FLOCK_UNLOCK; - inarg->lock_owner = fuse_lock_owner_id(ff->fc, - (fl_owner_t) file); + inarg->lock_owner = fuse_lock_owner_id(ff->fc, file); } /* Hold inode until release is finished */ req->misc.release.inode = igrab(file_inode(file)); @@ -307,7 +306,7 @@ EXPORT_SYMBOL_GPL(fuse_sync_release); * Scramble the ID space with XTEA, so that the value of the files_struct * pointer is not exposed to userspace. */ -u64 fuse_lock_owner_id(struct fuse_conn *fc, fl_owner_t id) +u64 fuse_lock_owner_id(struct fuse_conn *fc, void *id) { u32 *k = fc->scramble_key; u64 v = (unsigned long) id; @@ -390,7 +389,7 @@ static void fuse_sync_writes(struct inode *inode) fuse_release_nowrite(inode); } -static int fuse_flush(struct file *file, fl_owner_t id) +static int fuse_flush(struct file *file, void *id) { struct inode *inode = file_inode(file); struct fuse_conn *fc = get_fuse_conn(inode); @@ -643,7 +642,7 @@ static size_t fuse_async_req_send(struct fuse_conn *fc, struct fuse_req *req, } static size_t fuse_send_read(struct fuse_req *req, struct fuse_io_priv *io, - loff_t pos, size_t count, fl_owner_t owner) + loff_t pos, size_t count, void *owner) { struct file *file = io->iocb->ki_filp; struct fuse_file *ff = file->private_data; @@ -958,7 +957,7 @@ static void fuse_write_fill(struct fuse_req *req, struct fuse_file *ff, } static size_t fuse_send_write(struct fuse_req *req, struct fuse_io_priv *io, - loff_t pos, size_t count, fl_owner_t owner) + loff_t pos, size_t count, void *owner) { struct kiocb *iocb = io->iocb; struct file *file = iocb->ki_filp; @@ -1358,7 +1357,7 @@ ssize_t fuse_direct_io(struct fuse_io_priv *io, struct iov_iter *iter, io->should_dirty = !write && iter_is_iovec(iter); while (count) { size_t nres; - fl_owner_t owner = current->files; + void *owner = current->files; size_t nbytes = min(count, nmax); err = fuse_get_user_pages(req, iter, &nbytes, write); if (err && !nbytes) diff --git a/fs/fuse/fuse_i.h b/fs/fuse/fuse_i.h index c4c093bbf456..e4c2da57c16c 100644 --- a/fs/fuse/fuse_i.h +++ b/fs/fuse/fuse_i.h @@ -900,7 +900,7 @@ int fuse_valid_type(int m); */ int fuse_allow_current_process(struct fuse_conn *fc); -u64 fuse_lock_owner_id(struct fuse_conn *fc, fl_owner_t id); +u64 fuse_lock_owner_id(struct fuse_conn *fc, void *id); void fuse_update_ctime(struct inode *inode); diff --git a/fs/lockd/clntproc.c b/fs/lockd/clntproc.c index a2c0dfc6fdc0..a42dff055260 100644 --- a/fs/lockd/clntproc.c +++ b/fs/lockd/clntproc.c @@ -81,7 +81,7 @@ static inline uint32_t __nlm_alloc_pid(struct nlm_host *host) return res; } -static struct nlm_lockowner *__nlm_find_lockowner(struct nlm_host *host, fl_owner_t owner) +static struct nlm_lockowner *__nlm_find_lockowner(struct nlm_host *host, void *owner) { struct nlm_lockowner *lockowner; list_for_each_entry(lockowner, &host->h_lockowners, list) { @@ -92,7 +92,7 @@ static struct nlm_lockowner *__nlm_find_lockowner(struct nlm_host *host, fl_owne return NULL; } -static struct nlm_lockowner *nlm_find_lockowner(struct nlm_host *host, fl_owner_t owner) +static struct nlm_lockowner *nlm_find_lockowner(struct nlm_host *host, void *owner) { struct nlm_lockowner *res, *new = NULL; diff --git a/fs/lockd/svc4proc.c b/fs/lockd/svc4proc.c index 1bddf70d9656..004777845b61 100644 --- a/fs/lockd/svc4proc.c +++ b/fs/lockd/svc4proc.c @@ -46,7 +46,7 @@ nlm4svc_retrieve_args(struct svc_rqst *rqstp, struct nlm_args *argp, /* Set up the missing parts of the file_lock structure */ lock->fl.fl_file = file->f_file; - lock->fl.fl_owner = (fl_owner_t) host; + lock->fl.fl_owner = host; lock->fl.fl_lmops = &nlmsvc_lock_operations; } diff --git a/fs/lockd/svcproc.c b/fs/lockd/svcproc.c index ea77c66d3cc3..bbf2329821db 100644 --- a/fs/lockd/svcproc.c +++ b/fs/lockd/svcproc.c @@ -76,7 +76,7 @@ nlmsvc_retrieve_args(struct svc_rqst *rqstp, struct nlm_args *argp, /* Set up the missing parts of the file_lock structure */ lock->fl.fl_file = file->f_file; - lock->fl.fl_owner = (fl_owner_t) host; + lock->fl.fl_owner = host; lock->fl.fl_lmops = &nlmsvc_lock_operations; } diff --git a/fs/locks.c b/fs/locks.c index d6ff4beb70ce..63aa52bcdf5a 100644 --- a/fs/locks.c +++ b/fs/locks.c @@ -2462,7 +2462,7 @@ int fcntl_setlk64(unsigned int fd, struct file *filp, unsigned int cmd, * from the task's fd array. POSIX locks belonging to this task * are deleted at this time. */ -void locks_remove_posix(struct file *filp, fl_owner_t owner) +void locks_remove_posix(struct file *filp, void *owner) { int error; struct inode *inode = locks_inode(filp); diff --git a/fs/nfs/file.c b/fs/nfs/file.c index 81cca49a8375..922ea233c391 100644 --- a/fs/nfs/file.c +++ b/fs/nfs/file.c @@ -136,7 +136,7 @@ EXPORT_SYMBOL_GPL(nfs_file_llseek); * Flush all dirty pages, and check for write errors. */ static int -nfs_file_flush(struct file *file, fl_owner_t id) +nfs_file_flush(struct file *file, void *id) { struct inode *inode = file_inode(file); diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c index 7d893543cf3b..0b2d6f839bc2 100644 --- a/fs/nfs/inode.c +++ b/fs/nfs/inode.c @@ -927,7 +927,7 @@ struct nfs_open_context *alloc_nfs_open_context(struct dentry *dentry, ctx->mode = f_mode; ctx->flags = 0; ctx->error = 0; - ctx->flock_owner = (fl_owner_t)filp; + ctx->flock_owner = filp; nfs_init_lock_context(&ctx->lock_context); ctx->lock_context.open_context = ctx; INIT_LIST_HEAD(&ctx->list); diff --git a/fs/nfs/nfs4_fs.h b/fs/nfs/nfs4_fs.h index b374f680830c..5079334cdf37 100644 --- a/fs/nfs/nfs4_fs.h +++ b/fs/nfs/nfs4_fs.h @@ -146,7 +146,7 @@ struct nfs4_lock_state { struct nfs_seqid_counter ls_seqid; nfs4_stateid ls_stateid; refcount_t ls_count; - fl_owner_t ls_owner; + void * ls_owner; }; /* bits for nfs4_state->flags */ diff --git a/fs/nfs/nfs4file.c b/fs/nfs/nfs4file.c index 6b3b372b59b9..7045ff1fb46d 100644 --- a/fs/nfs/nfs4file.c +++ b/fs/nfs/nfs4file.c @@ -107,7 +107,7 @@ nfs4_file_open(struct inode *inode, struct file *filp) * Flush all dirty pages, and check for write errors. */ static int -nfs4_file_flush(struct file *file, fl_owner_t id) +nfs4_file_flush(struct file *file, void *id) { struct inode *inode = file_inode(file); diff --git a/fs/nfs/nfs4state.c b/fs/nfs/nfs4state.c index 91a4d4eeb235..7938ef7b8b27 100644 --- a/fs/nfs/nfs4state.c +++ b/fs/nfs/nfs4state.c @@ -822,7 +822,7 @@ void nfs4_close_sync(struct nfs4_state *state, fmode_t fmode) */ static struct nfs4_lock_state * __nfs4_find_lock_state(struct nfs4_state *state, - fl_owner_t fl_owner, fl_owner_t fl_owner2) + void *fl_owner, void *fl_owner2) { struct nfs4_lock_state *pos, *ret = NULL; list_for_each_entry(pos, &state->lock_states, ls_locks) { @@ -843,7 +843,7 @@ __nfs4_find_lock_state(struct nfs4_state *state, * exists, return an uninitialized one. * */ -static struct nfs4_lock_state *nfs4_alloc_lock_state(struct nfs4_state *state, fl_owner_t fl_owner) +static struct nfs4_lock_state *nfs4_alloc_lock_state(struct nfs4_state *state, void *fl_owner) { struct nfs4_lock_state *lsp; struct nfs_server *server = state->owner->so_server; @@ -877,7 +877,7 @@ void nfs4_free_lock_state(struct nfs_server *server, struct nfs4_lock_state *lsp * exists, return an uninitialized one. * */ -static struct nfs4_lock_state *nfs4_get_lock_state(struct nfs4_state *state, fl_owner_t owner) +static struct nfs4_lock_state *nfs4_get_lock_state(struct nfs4_state *state, void *owner) { struct nfs4_lock_state *lsp, *new = NULL; @@ -968,7 +968,7 @@ static int nfs4_copy_lock_stateid(nfs4_stateid *dst, const struct nfs_lock_context *l_ctx) { struct nfs4_lock_state *lsp; - fl_owner_t fl_owner, fl_flock_owner; + void *fl_owner, *fl_flock_owner; int ret = -ENOENT; if (l_ctx == NULL) diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c index 150521c9671b..1bdfefe2e6ec 100644 --- a/fs/nfsd/nfs4state.c +++ b/fs/nfsd/nfs4state.c @@ -1204,7 +1204,7 @@ static void nfs4_free_lock_stateid(struct nfs4_stid *stid) file = find_any_file(stp->st_stid.sc_file); if (file) - filp_close(file, (fl_owner_t)lo); + filp_close(file, lo); nfs4_free_ol_stateid(stid); } @@ -4268,7 +4268,7 @@ static struct file_lock *nfs4_alloc_init_lease(struct nfs4_file *fp, int flag) fl->fl_flags = FL_DELEG; fl->fl_type = flag == NFS4_OPEN_DELEGATE_READ? F_RDLCK: F_WRLCK; fl->fl_end = OFFSET_MAX; - fl->fl_owner = (fl_owner_t)fp; + fl->fl_owner = fp; fl->fl_pid = current->tgid; return fl; } @@ -5563,8 +5563,8 @@ nfs4_transform_lock_offset(struct file_lock *lock) lock->fl_end = OFFSET_MAX; } -static fl_owner_t -nfsd4_fl_get_owner(fl_owner_t owner) +static void * +nfsd4_fl_get_owner(void *owner) { struct nfs4_lockowner *lo = (struct nfs4_lockowner *)owner; @@ -5573,7 +5573,7 @@ nfsd4_fl_get_owner(fl_owner_t owner) } static void -nfsd4_fl_put_owner(fl_owner_t owner) +nfsd4_fl_put_owner(void *owner) { struct nfs4_lockowner *lo = (struct nfs4_lockowner *)owner; @@ -6008,7 +6008,7 @@ nfsd4_lock(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, file_lock = &nbl->nbl_lock; file_lock->fl_type = fl_type; - file_lock->fl_owner = (fl_owner_t)lockowner(nfs4_get_stateowner(&lock_sop->lo_owner)); + file_lock->fl_owner = lockowner(nfs4_get_stateowner(&lock_sop->lo_owner)); file_lock->fl_pid = current->tgid; file_lock->fl_file = filp; file_lock->fl_flags = fl_flags; @@ -6162,7 +6162,7 @@ nfsd4_lockt(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, lo = find_lockowner_str(cstate->clp, &lockt->lt_owner); if (lo) - file_lock->fl_owner = (fl_owner_t)lo; + file_lock->fl_owner = lo; file_lock->fl_pid = current->tgid; file_lock->fl_flags = FL_POSIX; @@ -6224,7 +6224,7 @@ nfsd4_locku(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, } file_lock->fl_type = F_UNLCK; - file_lock->fl_owner = (fl_owner_t)lockowner(nfs4_get_stateowner(stp->st_stateowner)); + file_lock->fl_owner = lockowner(nfs4_get_stateowner(stp->st_stateowner)); file_lock->fl_pid = current->tgid; file_lock->fl_file = filp; file_lock->fl_flags = FL_POSIX; @@ -6283,7 +6283,7 @@ check_for_locks(struct nfs4_file *fp, struct nfs4_lockowner *lowner) if (flctx && !list_empty_careful(&flctx->flc_posix)) { spin_lock(&flctx->flc_lock); list_for_each_entry(fl, &flctx->flc_posix, fl_list) { - if (fl->fl_owner == (fl_owner_t)lowner) { + if (fl->fl_owner == lowner) { status = true; break; } diff --git a/fs/notify/dnotify/dnotify.c b/fs/notify/dnotify/dnotify.c index 63a1ca4b9dee..6b309bd1552d 100644 --- a/fs/notify/dnotify/dnotify.c +++ b/fs/notify/dnotify/dnotify.c @@ -145,7 +145,7 @@ static const struct fsnotify_ops dnotify_fsnotify_ops = { * dnotify_struct. If that was the last dnotify_struct also remove the * fsnotify_mark. */ -void dnotify_flush(struct file *filp, fl_owner_t id) +void dnotify_flush(struct file *filp, void *id) { struct fsnotify_mark *fsn_mark; struct dnotify_mark *dn_mark; @@ -223,7 +223,7 @@ static __u32 convert_arg(unsigned long arg) * that list, or it |= the mask onto an existing dnofiy_struct. */ static int attach_dn(struct dnotify_struct *dn, struct dnotify_mark *dn_mark, - fl_owner_t id, int fd, struct file *filp, __u32 mask) + void *id, int fd, struct file *filp, __u32 mask) { struct dnotify_struct *odn; @@ -259,7 +259,7 @@ int fcntl_dirnotify(int fd, struct file *filp, unsigned long arg) struct fsnotify_mark *new_fsn_mark, *fsn_mark; struct dnotify_struct *dn; struct inode *inode; - fl_owner_t id = current->files; + void *id = current->files; struct file *f; int destroy = 0, error = 0; __u32 mask; diff --git a/fs/open.c b/fs/open.c index 7ea118471dce..b04595bca741 100644 --- a/fs/open.c +++ b/fs/open.c @@ -1123,7 +1123,7 @@ SYSCALL_DEFINE2(creat, const char __user *, pathname, umode_t, mode) * "id" is the POSIX thread ID. We use the * files pointer for this.. */ -int filp_close(struct file *filp, fl_owner_t id) +int filp_close(struct file *filp, void *id) { int retval = 0; diff --git a/include/linux/dnotify.h b/include/linux/dnotify.h index 0aad774beaec..4be77f0e8c58 100644 --- a/include/linux/dnotify.h +++ b/include/linux/dnotify.h @@ -14,7 +14,7 @@ struct dnotify_struct { __u32 dn_mask; int dn_fd; struct file * dn_filp; - fl_owner_t dn_owner; + void * dn_owner; }; #ifdef __KERNEL__ @@ -30,12 +30,12 @@ struct dnotify_struct { FS_MOVED_FROM | FS_MOVED_TO) extern int dir_notify_enable; -extern void dnotify_flush(struct file *, fl_owner_t); +extern void dnotify_flush(struct file *, void *); extern int fcntl_dirnotify(int, struct file *, unsigned long); #else -static inline void dnotify_flush(struct file *filp, fl_owner_t id) +static inline void dnotify_flush(struct file *filp, void *id) { } diff --git a/include/linux/fs.h b/include/linux/fs.h index 2a815560fda0..ef9269bf7e69 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -942,9 +942,6 @@ static inline struct file *get_file(struct file *f) */ #define FILE_LOCK_DEFERRED 1 -/* legacy typedef, should eventually be removed */ -typedef void *fl_owner_t; - struct file_lock; struct file_lock_operations { @@ -955,8 +952,8 @@ struct file_lock_operations { struct lock_manager_operations { int (*lm_compare_owner)(struct file_lock *, struct file_lock *); unsigned long (*lm_owner_key)(struct file_lock *); - fl_owner_t (*lm_get_owner)(fl_owner_t); - void (*lm_put_owner)(fl_owner_t); + void *(*lm_get_owner)(void *); + void (*lm_put_owner)(void *); void (*lm_notify)(struct file_lock *); /* unblock callback */ int (*lm_grant)(struct file_lock *, int); bool (*lm_break)(struct file_lock *); @@ -1004,7 +1001,7 @@ struct file_lock { struct list_head fl_list; /* link into file_lock_context */ struct hlist_node fl_link; /* node in global lists */ struct list_head fl_block; /* circular list of blocked processes */ - fl_owner_t fl_owner; + void *fl_owner; unsigned int fl_flags; unsigned char fl_type; unsigned int fl_pid; @@ -1080,7 +1077,7 @@ extern void locks_init_lock(struct file_lock *); extern struct file_lock * locks_alloc_lock(void); extern void locks_copy_lock(struct file_lock *, struct file_lock *); extern void locks_copy_conflock(struct file_lock *, struct file_lock *); -extern void locks_remove_posix(struct file *, fl_owner_t); +extern void locks_remove_posix(struct file *, void *); extern void locks_remove_file(struct file *); extern void locks_release_private(struct file_lock *); extern void posix_test_lock(struct file *, struct file_lock *); @@ -1154,7 +1151,7 @@ static inline void locks_copy_lock(struct file_lock *new, struct file_lock *fl) return; } -static inline void locks_remove_posix(struct file *filp, fl_owner_t owner) +static inline void locks_remove_posix(struct file *filp, void *owner) { return; } @@ -1713,7 +1710,7 @@ struct file_operations { int (*mmap) (struct file *, struct vm_area_struct *); unsigned long mmap_supported_flags; int (*open) (struct inode *, struct file *); - int (*flush) (struct file *, fl_owner_t id); + int (*flush) (struct file *, void *id); int (*release) (struct inode *, struct file *); int (*fsync) (struct file *, loff_t, loff_t, int datasync); int (*fasync) (int, struct file *, int); @@ -2397,7 +2394,7 @@ extern struct file *filp_open(const char *, int, umode_t); extern struct file *file_open_root(struct dentry *, struct vfsmount *, const char *, int, umode_t); extern struct file * dentry_open(const struct path *, int, const struct cred *); -extern int filp_close(struct file *, fl_owner_t id); +extern int filp_close(struct file *, void *id); extern struct filename *getname_flags(const char __user *, int, int *); extern struct filename *getname(const char __user *); diff --git a/include/linux/lockd/lockd.h b/include/linux/lockd/lockd.h index 4fd95dbeb52f..484156a8f11a 100644 --- a/include/linux/lockd/lockd.h +++ b/include/linux/lockd/lockd.h @@ -119,14 +119,14 @@ static inline struct sockaddr *nlm_srcaddr(const struct nlm_host *host) } /* - * Map an fl_owner_t into a unique 32-bit "pid" + * Map a lock owner into a unique 32-bit "pid" */ struct nlm_lockowner { struct list_head list; refcount_t count; struct nlm_host *host; - fl_owner_t owner; + void *owner; uint32_t pid; }; diff --git a/include/linux/nfs_fs.h b/include/linux/nfs_fs.h index 38187c68063d..889d3494dbbb 100644 --- a/include/linux/nfs_fs.h +++ b/include/linux/nfs_fs.h @@ -60,14 +60,14 @@ struct nfs_lock_context { refcount_t count; struct list_head list; struct nfs_open_context *open_context; - fl_owner_t lockowner; + void *lockowner; atomic_t io_count; }; struct nfs4_state; struct nfs_open_context { struct nfs_lock_context lock_context; - fl_owner_t flock_owner; + void *flock_owner; struct dentry *dentry; struct rpc_cred *cred; struct nfs4_state *state; diff --git a/include/trace/events/filelock.h b/include/trace/events/filelock.h index d1faf3597b9d..345fdb312cab 100644 --- a/include/trace/events/filelock.h +++ b/include/trace/events/filelock.h @@ -69,7 +69,7 @@ DECLARE_EVENT_CLASS(filelock_lock, __field(unsigned long, i_ino) __field(dev_t, s_dev) __field(struct file_lock *, fl_next) - __field(fl_owner_t, fl_owner) + __field(void *, fl_owner) __field(unsigned int, fl_pid) __field(unsigned int, fl_flags) __field(unsigned char, fl_type) @@ -123,7 +123,7 @@ DECLARE_EVENT_CLASS(filelock_lease, __field(unsigned long, i_ino) __field(dev_t, s_dev) __field(struct file_lock *, fl_next) - __field(fl_owner_t, fl_owner) + __field(void *, fl_owner) __field(unsigned int, fl_flags) __field(unsigned char, fl_type) __field(unsigned long, fl_break_time) @@ -176,7 +176,7 @@ TRACE_EVENT(generic_add_lease, __field(int, dcount) __field(int, icount) __field(dev_t, s_dev) - __field(fl_owner_t, fl_owner) + __field(void *, fl_owner) __field(unsigned int, fl_flags) __field(unsigned char, fl_type) ), diff --git a/ipc/mqueue.c b/ipc/mqueue.c index d7f309f74dec..197cb72af8de 100644 --- a/ipc/mqueue.c +++ b/ipc/mqueue.c @@ -557,7 +557,7 @@ static ssize_t mqueue_read_file(struct file *filp, char __user *u_data, return ret; } -static int mqueue_flush_file(struct file *filp, fl_owner_t id) +static int mqueue_flush_file(struct file *filp, void *id) { struct mqueue_inode_info *info = MQUEUE_I(file_inode(filp)); -- 2.14.3