vfs: remove unnecessary fl_owner_t typedef
diff mbox

Message ID 20180317184840.GA32322@fieldses.org
State New
Headers show

Commit Message

J. Bruce Fields March 17, 2018, 6:48 p.m. UTC
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 <bfields@redhat.com>
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 <neilb@suse.com>
    Signed-off-by: J. Bruce Fields <bfields@redhat.com>

--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Jeff Layton March 17, 2018, 7:12 p.m. UTC | #1
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 <bfields@redhat.com>
> 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 <neilb@suse.com>
>     Signed-off-by: J. Bruce Fields <bfields@redhat.com>
> 
> 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 <jlayton@kernel.org>
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Al Viro March 17, 2018, 7:14 p.m. UTC | #2
On Sat, Mar 17, 2018 at 02:48:40PM -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.

I'm not sure it's a good idea.  We want it opaque - if anything, I would
prefer to have anything mistakenly passing it to a function that takes
a pointer scream like hell at build time.  The current variant doesn't
have such protection, but it can at least be grepped for.  void * can't. 
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
NeilBrown March 18, 2018, 8:39 p.m. UTC | #3
On Sat, Mar 17 2018, 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 <bfields@redhat.com>
> 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.

Does it requires a lot of casts?
I just tried removing a couple of casts and gcc didn't complain.

NeilBrown


>     
>     Reviewed-by: NeilBrown <neilb@suse.com>
>     Signed-off-by: J. Bruce Fields <bfields@redhat.com>
>
> 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));
>
J. Bruce Fields March 19, 2018, 2:27 p.m. UTC | #4
On Sat, Mar 17, 2018 at 07:14:15PM +0000, Al Viro wrote:
> On Sat, Mar 17, 2018 at 02:48:40PM -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.
> 
> I'm not sure it's a good idea.  We want it opaque - if anything, I would
> prefer to have anything mistakenly passing it to a function that takes
> a pointer scream like hell at build time.  The current variant doesn't
> have such protection, but it can at least be grepped for.  void * can't. 

OK; dropping for now.

--b.
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
J. Bruce Fields March 19, 2018, 2:27 p.m. UTC | #5
On Mon, Mar 19, 2018 at 07:39:36AM +1100, NeilBrown wrote:
> On Sat, Mar 17 2018, 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 <bfields@redhat.com>
> > 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.
> 
> Does it requires a lot of casts?
> I just tried removing a couple of casts and gcc didn't complain.

Oops.  So maybe we should just be removing some of those casts.

--b.

> 
> NeilBrown
> 
> 
> >     
> >     Reviewed-by: NeilBrown <neilb@suse.com>
> >     Signed-off-by: J. Bruce Fields <bfields@redhat.com>
> >
> > 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));
> >  


--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch
diff mbox

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));