Return-Path: Received: from mail.kernel.org ([198.145.29.99]:44942 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753633AbeCQTMh (ORCPT ); Sat, 17 Mar 2018 15:12:37 -0400 Message-ID: <1521313954.4064.6.camel@kernel.org> Subject: Re: [PATCH] vfs: remove unnecessary fl_owner_t typedef From: Jeff Layton To: "J. Bruce Fields" , linux-fsdevel@vger.kernel.org, linux-nfs@vger.kernel.org Cc: NeilBrown Date: Sat, 17 Mar 2018 15:12:34 -0400 In-Reply-To: <20180317184840.GA32322@fieldses.org> References: <20180317184840.GA32322@fieldses.org> Content-Type: text/plain; charset="UTF-8" Mime-Version: 1.0 Sender: linux-nfs-owner@vger.kernel.org List-ID: On Sat, 2018-03-17 at 14:48 -0400, J. Bruce Fields wrote: > This is a pretty simple patch that touches a lot of files. What's the > procedure for handling patches like this? I haven't had to do this > before. > > --b. > > commit 4e446db46b83 > Author: J. Bruce Fields > Date: Thu Sep 7 17:45:21 2017 -0400 > > vfs: remove unnecessary fl_owner_t typedef > > The convention is to avoid this kind of typedef. It doesn't seem > useful, and it requires a lot of casts. > > Reviewed-by: NeilBrown > Signed-off-by: J. Bruce Fields > > 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/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)); > Looks straightforward enough: Acked-by: Jeff Layton