On Sat, Mar 26, 2016 at 01:36:04PM -0400, Mike Marshall wrote: > This is harder than going upstream <g>... > > I think I'm doing the same thing greg kh did here, only he > figured it out (and didn't say how he did it right)... > > https://lkml.org/lkml/2012/10/1/293 > > I made a tag, and... > > $ git request-pull for-next > git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux.git > ofs-pull-tag-1 > The following changes since commit 45996492e5c85aa0ac93a95d1b2d1ed56851c865: > > orangefs: fix orangefs_superblock locking (2016-03-26 07:22:00 -0400) > > are available in the git repository at: > > git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux.git > tags/ofs-pull-tag-1 > > for you to fetch changes up to 45996492e5c85aa0ac93a95d1b2d1ed56851c865: > > orangefs: fix orangefs_superblock locking (2016-03-26 07:22:00 -0400) Oh, for... The point is, *don't* *trim* *diffstat* *and* *shortlog*. For your branch that should've been as below and it belongs in pull request, preferably - with [git pull] somewhere in the subject. The lines from dashes below to the end of this reply should have been produced by git request-pull and should've been a part of your posting. ---------------------------------------------------------------- Al Viro (67): orangefs: explicitly pass the size to pvfs_bufmap_copy_to_iovec() pvfs_bufmap_copy_from_iovec(): don't rely upon size being equal to iov_iter_count(iter) orangefs: make postcopy_buffers() take iov_iter orangefs: make precopy_buffers() take iov_iter orangefs: make wait_for_direct_io() take iov_iter orangefs: don't bother with splitting iovecs orangefs: make do_readv_writev() take iov_iter orangefs: make pvfs2_inode_read() take iov_iter orangefs: kill kmap/kunmap wrappers orangefs: use get_user_pages_fast(), not get_user_pages() orangefs: double iput() in case of d_make_root() failure orangefs: kill struct pvfs2_mount_sb_info_s pvfs2_fill_sb(): use kzalloc() orangefs: kill pointless ->link() and ->mknod() orangefs: sanitize pvfs2_convert_time_field() orangefs: switch decode_dirents() to use of kcalloc() orangefs: get rid of dec_string and enc_string orangefs: don't leave uninitialized data in ->trailer_buf orangefs: validate the response in decode_dirents() fs: out of bounds on stack in iov_iter_advance orangefs: use DEFINE_MUTEX (and mutex_init() had been too late) orangefs: generic_file_open() is pointless for character devices orangefs: ->poll() is only called between successful ->open() and ->release() orangefs: kill ioctl32 rudiments orangefs: ->poll() doesn't need spinlock orangefs: get rid of <censored> macros orangefs: kill orangefs_inode_s ->list make orangefs_clean_up_interrupted_operation() static orangefs: make wait_for_...downcall() static orangefs: move wakeups into set_op_state_{serviced,purged}() orangefs: make wait_for_...downcall() static orangefs: move wakeups into set_op_state_{serviced,purged}() orangefs: nothing should remain in request list and in hash orangefs: make sure that reopening pvfs2-req won't overlap with the end of close orangefs: hopefully saner op refcounting and locking orangefs: remove cargo-culting spin_lock_irqsave() in service_operation() orangefs: reduce nesting in wait_for_matching_downcall() orangefs_clean_up_interrupted_operation: call with op->lock held orangefs: get rid of MSECS_TO_JIFFIES if ORANGEFS_VFS_OP_FILE_IO request had been given up, don't bother waiting orangefs: don't reinvent completion.h... orangefs: move handle_io_error() to file.c orangefs: clean up op_alloc() orangefs: avoid freeing a slot twice in wait_for_direct_io() orangefs: wait_for_direct_io(): restore the position in iter when restarting orangefs: get rid of handle_io_error() get rid of bufmap argument of orangefs_bufmap_put() orangefs: delay freeing slot until cancel completes orangefs: get rid of loop in wait_for_matching_downcall() orangefs: sanitize handling of request list service_operation(): don't block signals, just use ..._killable orangefs: lift handling of timeouts and attempts count to service_operation() orangefs_bufmap_..._query(): don't bother with refcounts orangefs: bufmap rewrite orangefs_readdir_index_put(): get rid of bufmap argument orangefs: get rid of op->done orangefs: set correct ->downcall.status on failing to copy reply from daemon orangefs: have ..._clean_interrupted_...() wait for copy to/from daemon orangefs: get rid of op refcounts orangefs: get rid of readdir_handle_s orangefs_copy_{to,from}_bufmap(): don't pass bufmap pointer orangefs: saner calling conventions for getting a slot orangefs-bufmap.h: trim unused junk orangefs: sanitize ->llseek() orangefs: have ->kill_sb() evict the VFS side of things first orangefs: fix do_readv_writev() handling of error halfway through orangefs: fix orangefs_superblock locking Arnd Bergmann (3): orangefs: fix typo in ornagefs_inode_lock orangefs: avoid time conversion function orangefs: remove unused 'diff' function Guenter Roeck (1): Orangefs: Swap order of include files Julia Lawall (1): OrangeFS: constify export_operations structures Martin Brandenburg (40): Orangefs: Use readonly mmap since writepage is not implemented. Orangefs: Clean up error decoding. Orangefs: Remove unused #defines from signal blocking code. Orangefs: Remove upcall trailers which are not used. Orangefs: Clean up pvfs2_devreq_read. Orangefs: do not finalize bufmap if it was never initialized. orangefs: Remove ``aligned'' upcall and downcall length macros. orangefs: Change visibility of several bufmap helpers to static. orangefs: Remove useless inline qualifier from bufmap functions. orangefs: Do not unref if there is no bufmap. orangefs: Fix some more global namespace pollution. orangefs: Util functions shouldn't operate on inode where it can be avoided. orangefs: Fix revalidate. orangefs: Only compare attributes specified in orangefs_inode_getattr. orangefs: Implement inode_operations->permission(). orangefs: Do not retrieve size from servers unless it it necessary. orangefs: use S_ISREG(mode) and friends instead of mode & S_IFREG. orangefs: free readdir buffer index before the dir_emit loop orangefs: don't d_drop in d_revalidate since the caller will orangefs: use ORANGEFS_NAME_LEN everywhere; remove ORANGEFS_NAME_MAX orangefs: remove vestigial async io code orangefs: we never lookup with sym_follow set orangefs: clean up fill_default_sys_attrs orangefs: Avoid symlink upcall if target is too long. orangefs: make fs_mount_pending static orangefs: remove unused reference to xattr key length orangefs: sanitize listxattr and return EIO on impossible values orangefs: remove paranoia in orangefs_set_inode orangefs: put register_chrdev immediately before register_filesystem orangefs: remove inode->i_lock wrapper orangefs: rename orangefs_inode_getattr to orangefs_inode_old_getattr orangefs: use new orangefs_inode_getattr to create new inodes orangefs: use new orangefs_inode_getattr to get size in write and llseek orangefs: use new getattr in inode getattr and permission orangefs: use new getattr for revalidate and remove old getattr orangefs: refactor inode type or link_target change detection orangefs: remove wrapper around mutex_lock(&inode->i_mutex) orangefs: remove needless wrapper around GFP_KERNEL orangefs: move code which sets i_link to orangefs_inode_getattr ornagefs: ensure that truncate has an up to date inode size Mike Marshall (61): Orangefs: kernel client part 1 Orangefs: kernel client part 2 Orangefs: kernel client part 3 Orangefs: kernel client part 4 Orangefs: kernel client part 5 Orangefs: kernel client part 6 Orangefs: kernel client part 7 Orangefs: kernel client update 1. Orangefs: sooth most sparse complaints Orangefs: address problems found by static checker Orangefs: large integer implicitly truncated to unsigned type Orangefs: use inode_set_bytes for directories Orangefs: use iov_iter interface Orangefs: fix dir_emit code in pvfs2_readdir. Orangefs: put PVFS_util_min out of its misery. Orangefs: choose return codes from among the expected ones. Orangefs: Don't opencode memcpy. Orangefs: update signal blocking code before Oleg sees it. Orangefs: don't use mount_nodev, use sget directly. Orangefs: fix some checkpatch.pl complaints that had creeped in. Orangefs: set pos after generic_write_checks Orangefs: fix gossip statement Orangefs: Merge tag 'v4.4-rc1' into for-next Orangefs: change pvfs2 filenames to orangefs Orangefs: don't expose internal details of pathname resolution to userspace. Orangefs: don't keep checking stuff in on Friday afternoon. Orangefs: improve comments Orangef: remove overlooked old-style userspace debug parts Orangefs: de-uglify orangefs_devreq_writev, and devorangefs-req.c in general Orangefs: Don't wait the old-fashioned way. Orangefs: don't use deprecated xattr defines. Orangefs: validate resp.listxattr.returned_count Orangefs: don't change EXTRAVERSION Orangefs: don't trigger copy_attributes_to_inode from d_revalidate. Orangefs: add orangefs to MAINTAINERS Orangefs: implement .write_iter Orangefs: rename orangefs_kernel_op_s.aio_ref_count to just ref_count. Orangefs: change ORANGEFS_VERSION from "Unknown" to "upstream" Orangefs: define a minimum compatible userspace version. Orangefs: make .statfs gossip_debug more complete. Orangefs: add protocol information to Documentation/filesystems/orangefs.txt Orangefs: add verification to decode_dirents Orangefs: merge with V4.4 Orangefs: make gossip statement more palatable to xtensa Orangefs: improve gossip statement Orangefs: clean up slab allocation. Orangefs: added a couple of WARN_ONs, perhaps just temporarily. Orangefs: make some gossip statements more helpful. Orangefs: remove vestigial ASYNC code Orangefs: clean up orangefs_kernel_op_s comments. Orangefs: code sanitation Orangefs: code sanitation. Orangefs: update orangefs.txt Orangefs: improve gossip statements Orangefs: add a new gossip statement Orangefs: improve the POSIXness of interrupted writes... Orangefs: merge to v4.5 Orangefs: Extra sanity insurance on buffer before using string functions on it. Orangefs: follow_link -> get_link change Orangefs: fix sloppy cleanups of debugfs and sysfs init failures. Orangefs: adjust unwind on module init failure. Nicholas Mc Guire (1): Orangefs: use kzalloc for kmalloc + memset 0 Richard Weinberger (1): orangefs: Don't pollute global namespace Sasha Levin (1): fs: orangefs: remove execute priviliges from module params Yi Liu (1): OrangeFS: Change almost all instances of the string PVFS2 to OrangeFS. Documentation/ABI/stable/sysfs-fs-orangefs | 87 ++ Documentation/filesystems/orangefs.txt | 406 +++++++ MAINTAINERS | 8 + fs/Kconfig | 1 + fs/Makefile | 1 + fs/orangefs/Kconfig | 6 + fs/orangefs/Makefile | 10 + fs/orangefs/acl.c | 175 +++ fs/orangefs/dcache.c | 138 +++ fs/orangefs/devorangefs-req.c | 943 +++++++++++++++ fs/orangefs/dir.c | 400 +++++++ fs/orangefs/downcall.h | 133 +++ fs/orangefs/file.c | 717 +++++++++++ fs/orangefs/inode.c | 475 ++++++++ fs/orangefs/namei.c | 462 ++++++++ fs/orangefs/orangefs-bufmap.c | 556 +++++++++ fs/orangefs/orangefs-bufmap.h | 36 + fs/orangefs/orangefs-cache.c | 161 +++ fs/orangefs/orangefs-debug.h | 92 ++ fs/orangefs/orangefs-debugfs.c | 455 +++++++ fs/orangefs/orangefs-debugfs.h | 3 + fs/orangefs/orangefs-dev-proto.h | 62 + fs/orangefs/orangefs-kernel.h | 623 ++++++++++ fs/orangefs/orangefs-mod.c | 293 +++++ fs/orangefs/orangefs-sysfs.c | 1772 ++++++++++++++++++++++++++++ fs/orangefs/orangefs-sysfs.h | 2 + fs/orangefs/orangefs-utils.c | 1048 ++++++++++++++++ fs/orangefs/protocol.h | 452 +++++++ fs/orangefs/super.c | 559 +++++++++ fs/orangefs/symlink.c | 19 + fs/orangefs/upcall.h | 246 ++++ fs/orangefs/waitqueue.c | 357 ++++++ fs/orangefs/xattr.c | 545 +++++++++ 33 files changed, 11243 insertions(+) create mode 100644 Documentation/ABI/stable/sysfs-fs-orangefs create mode 100644 Documentation/filesystems/orangefs.txt create mode 100644 fs/orangefs/Kconfig create mode 100644 fs/orangefs/Makefile create mode 100644 fs/orangefs/acl.c create mode 100644 fs/orangefs/dcache.c create mode 100644 fs/orangefs/devorangefs-req.c create mode 100644 fs/orangefs/dir.c create mode 100644 fs/orangefs/downcall.h create mode 100644 fs/orangefs/file.c create mode 100644 fs/orangefs/inode.c create mode 100644 fs/orangefs/namei.c create mode 100644 fs/orangefs/orangefs-bufmap.c create mode 100644 fs/orangefs/orangefs-bufmap.h create mode 100644 fs/orangefs/orangefs-cache.c create mode 100644 fs/orangefs/orangefs-debug.h create mode 100644 fs/orangefs/orangefs-debugfs.c create mode 100644 fs/orangefs/orangefs-debugfs.h create mode 100644 fs/orangefs/orangefs-dev-proto.h create mode 100644 fs/orangefs/orangefs-kernel.h create mode 100644 fs/orangefs/orangefs-mod.c create mode 100644 fs/orangefs/orangefs-sysfs.c create mode 100644 fs/orangefs/orangefs-sysfs.h create mode 100644 fs/orangefs/orangefs-utils.c create mode 100644 fs/orangefs/protocol.h create mode 100644 fs/orangefs/super.c create mode 100644 fs/orangefs/symlink.c create mode 100644 fs/orangefs/upcall.h create mode 100644 fs/orangefs/waitqueue.c create mode 100644 fs/orangefs/xattr.c -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html