aboutsummaryrefslogtreecommitdiffstats
path: root/fs/orangefs
Commit message (Collapse)AuthorAge
...
* OrangeFS: Change almost all instances of the string PVFS2 to OrangeFS.Yi Liu2015-12-03
| | | | | | | | | | | | | | | | | | | | | | OrangeFS was formerly known as PVFS2 and retains the name in many places. I leave the device /dev/pvfs2-req since this affects userspace. I leave the filesystem type pvfs2 since this affects userspace. Further the OrangeFS sysint library reads fstab for an entry of type pvfs2 independently of kernel mounts. I leave extended attribute keys user.pvfs2 and system.pvfs2 as the sysint library understands these. I leave references to userspace binaries still named pvfs2. I leave the filenames. Signed-off-by: Yi Liu <yi9@clemson.edu> [martin@omnibond.com: clairify above constraints and merge] Signed-off-by: Martin Brandenburg <martin@omnibond.com> Signed-off-by: Mike Marshall <hubcap@omnibond.com>
* fs: out of bounds on stack in iov_iter_advanceAl Viro2015-11-16
| | | | | | | | | | | | | On Wed, Nov 11, 2015 at 10:19:48AM +0000, Al Viro wrote: > I'll cook the minimal fixup for API change after I get some sleep and > send it your way, unless somebody gets there first... This should do it - switches ->ioctl() to pvfs2_inode_[gs]etxattr() and converts xattr_handler ->[gs]et() to new API. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Mike Marshall <hubcap@omnibond.com>
* Orangefs: Clean up pvfs2_devreq_read.Martin Brandenburg2015-11-13
| | | | | | | | | | | | | * Kick invalid arguments out early, so handling them does not clutter the code. * Avoid possibility of race by not releasing lock until completely done. * Do not leak ops (memory) in certain error condition. * Check for more error conditions. * Put module name in all error and debug logs. * Document behavior. Signed-off-by: Martin Brandenburg <martin@omnibond.com> Signed-off-by: Mike Marshall <hubcap@omnibond.com>
* Orangefs: Remove upcall trailers which are not used.Martin Brandenburg2015-11-13
| | | | | | | | Also removes remnants of iox (readx/writex) which previously used trailers, but no longer exist. Signed-off-by: Martin Brandenburg <martin@omnibond.com> Signed-off-by: Mike Marshall <hubcap@omnibond.com>
* Orangefs: fix gossip statementMike Marshall2015-11-13
| | | | Signed-off-by: Mike Marshall <hubcap@omnibond.com>
* Orangefs: Remove unused #defines from signal blocking code.Martin Brandenburg2015-11-13
| | | | | Signed-off-by: Martin Brandenburg <martin@omnibond.com> Signed-off-by: Mike Marshall <hubcap@omnibond.com>
* Orangefs: set pos after generic_write_checksMike Marshall2015-11-13
| | | | | | | if we are appending, generic_write_checks would have updated pos to the end of the file... Signed-off-by: Mike Marshall <hubcap@omnibond.com>
* orangefs: validate the response in decode_dirents()Al Viro2015-11-13
| | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Mike Marshall <hubcap@omnibond.com>
* orangefs: don't leave uninitialized data in ->trailer_bufAl Viro2015-11-13
| | | | | | | minimal fix; it would be better to reject such requests outright. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Mike Marshall <hubcap@omnibond.com>
* orangefs: get rid of dec_string and enc_stringAl Viro2015-11-13
| | | | | | | | The latter is never used, the former has one user and would be better off spelled out right there. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Mike Marshall <hubcap@omnibond.com>
* orangefs: switch decode_dirents() to use of kcalloc()Al Viro2015-11-13
| | | | | | | gets rid of multiplication overflow Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Mike Marshall <hubcap@omnibond.com>
* orangefs: sanitize pvfs2_convert_time_field()Al Viro2015-11-13
| | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Mike Marshall <hubcap@omnibond.com>
* orangefs: kill pointless ->link() and ->mknod()Al Viro2015-11-13
| | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Mike Marshall <hubcap@omnibond.com>
* pvfs2_fill_sb(): use kzalloc()Al Viro2015-11-13
| | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Mike Marshall <hubcap@omnibond.com>
* orangefs: kill struct pvfs2_mount_sb_info_sAl Viro2015-11-13
| | | | | | | | | The only reason for that thing used to be the API of mount_nodev() callback; since we are calling pvfs2_fill_sb() ourselves now, we don't have to shove everything into a single structure. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Mike Marshall <hubcap@omnibond.com>
* orangefs: double iput() in case of d_make_root() failureAl Viro2015-11-13
| | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Mike Marshall <hubcap@omnibond.com>
* orangefs: use get_user_pages_fast(), not get_user_pages()Al Viro2015-11-13
| | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Mike Marshall <hubcap@omnibond.com>
* orangefs: kill kmap/kunmap wrappersAl Viro2015-11-13
| | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Mike Marshall <hubcap@omnibond.com>
* orangefs: make pvfs2_inode_read() take iov_iterAl Viro2015-11-13
| | | | | | | | | | ... and make the only caller use page-backed iov_iter, getting rid of kmap/kunmap *and* of the bug with attempted use of iovec-backed copy_page_to_iter() on a kernel pointer. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Mike Marshall <hubcap@omnibond.com>
* orangefs: make do_readv_writev() take iov_iterAl Viro2015-11-13
| | | | | | | | | | no need to build a copy of what the caller already has; what's more, we want the one given to caller properly advanced *and* we shouldn't depend upon it being an iovec-backed one. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Mike Marshall <hubcap@omnibond.com>
* orangefs: don't bother with splitting iovecsAl Viro2015-11-13
| | | | | | | | copy_page_{to,from}_iter() advances it just fine *and* it has no problem with partially consumed segments. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Mike Marshall <hubcap@omnibond.com>
* orangefs: make wait_for_direct_io() take iov_iterAl Viro2015-11-13
| | | | | | | | | | | incidentally, insane or compromised server returning *more* than requested on read should not oops the kernel - initialize the iov_iter for read according to the iovec we've got. That's why pvfs_bufmap_copy_to_iovec() needed a separate size argument - we shouldn't abuse iov_iter_count(iter) for passing that. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Mike Marshall <hubcap@omnibond.com>
* orangefs: make precopy_buffers() take iov_iterAl Viro2015-11-13
| | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Mike Marshall <hubcap@omnibond.com>
* orangefs: make postcopy_buffers() take iov_iterAl Viro2015-11-13
| | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Mike Marshall <hubcap@omnibond.com>
* pvfs_bufmap_copy_from_iovec(): don't rely upon size being equal to ↵Al Viro2015-11-13
| | | | | | | iov_iter_count(iter) Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Mike Marshall <hubcap@omnibond.com>
* orangefs: explicitly pass the size to pvfs_bufmap_copy_to_iovec()Al Viro2015-11-13
| | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Mike Marshall <hubcap@omnibond.com>
* Orangefs: fix some checkpatch.pl complaints that had creeped in.Mike Marshall2015-10-05
| | | | Signed-off-by: Mike Marshall <hubcap@omnibond.com>
* Orangefs: Clean up error decoding.Martin Brandenburg2015-10-03
| | | | | | | | | Errors from the server need to be decoded. A bunch of code was imported from the server to do this but much of it is convoluted and not even needed. The result is better but still as convoluted as required by the protocol. Signed-off-by: Martin Brandenburg <martin@omnibond.com> Signed-off-by: Mike Marshall <hubcap@omnibond.com>
* Orangefs: Use readonly mmap since writepage is not implemented.Martin Brandenburg2015-10-03
| | | | | | | | Previously the code silently failed to update the disk. Now it will not allow writable and shared mmaps. Signed-off-by: Martin Brandenburg <martin@omnibond.com> Signed-off-by: Mike Marshall <hubcap@omnibond.com>
* Orangefs: don't use mount_nodev, use sget directly.Mike Marshall2015-10-03
| | | | Signed-off-by: Mike Marshall <hubcap@omnibond.com>
* Orangefs: update signal blocking code before Oleg sees it.Mike Marshall2015-10-03
| | | | Signed-off-by: Mike Marshall <hubcap@omnibond.com>
* Orangefs: Don't opencode memcpy.Mike Marshall2015-10-03
| | | | Signed-off-by: Mike Marshall <hubcap@omnibond.com>
* Orangefs: choose return codes from among the expected ones.Mike Marshall2015-10-03
| | | | Signed-off-by: Mike Marshall <hubcap@omnibond.com>
* Orangefs: put PVFS_util_min out of its misery.Mike Marshall2015-10-03
| | | | Signed-off-by: Mike Marshall <hubcap@omnibond.com>
* Orangefs: fix dir_emit code in pvfs2_readdir.Mike Marshall2015-10-03
| | | | | | | Al Viro glanced at readdir and surmised that getdents would misbehave the way it was written... and sure enough. Signed-off-by: Mike Marshall <hubcap@omnibond.com>
* Orangefs: use iov_iter interfaceMike Marshall2015-10-03
| | | | | | | | | | replace opencoded pvfs_bufmap_copy_to_kernel_iovec, pvfs_bufmap_copy_to_user_iovec, pvfs_bufmap_copy_iovec_from_kernel, and pvfs_bufmap_copy_iovec_from_user with pvfs_bufmap_copy_to_iovec and pvfs_bufmap_copy_from_iovec, which both use the iov_iter interface. Signed-off-by: Mike Marshall <hubcap@omnibond.com>
* Orangefs: Swap order of include filesGuenter Roeck2015-10-03
| | | | | | | | | | | | | | | spinlock_types.h requires types from linux/types.h. Including spinlock_types.h first may result in the following build errors, as seen with arm:allmodconfig. arch/arm/include/asm/spinlock_types.h:12:3: error: unknown type name 'u32' arch/arm/include/asm/spinlock_types.h:16:4: error: unknown type name 'u16' Fixes: deb4fb58ff73 ("Orangefs: kernel client part 2") Cc: Mark Brown <broonie@kernel.org> Cc: Mike Marshall <hubcap@omnibond.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Mike Marshall <hubcap@omnibond.com>
* fs: orangefs: remove execute priviliges from module paramsSasha Levin2015-10-03
| | | | | | | This makes no sense and causes warnings on boot. Signed-off-by: Sasha Levin <sasha.levin@oracle.com> Signed-off-by: Mike Marshall <hubcap@omnibond.com>
* Orangefs: use inode_set_bytes for directoriesMike Marshall2015-10-03
| | | | Signed-off-by: Mike Marshall <hubcap@omnibond.com>
* Orangefs: large integer implicitly truncated to unsigned typeMike Marshall2015-10-03
| | | | | | | make.cross ARCH=tile doesn't like "inode->i_bytes = PAGE_CACHE_SIZE;", so cast PAGE_CACHE_SIZE to unsigned short. Signed-off-by: Mike Marshall <hubcap@omnibond.com>
* Orangefs: address problems found by static checkerMike Marshall2015-10-03
| | | | | | | | | | | | | | Don't check for negative rc from boolean. Don't pointlessly initialize variables, it short-circuits gcc's uninitialized variable warnings. And max_new_nr_segs can never be zero, so don't check for it. Preserve original kstrdup pointer for freeing later. Don't check for negative value in unsigned variable. Signed-off-by: Mike Marshall <hubcap@omnibond.com>
* Orangefs: sooth most sparse complaintsMike Marshall2015-10-03
| | | | Signed-off-by: Mike Marshall <hubcap@omnibond.com>
* Orangefs: kernel client update 1.Mike Marshall2015-10-03
| | | | | | | Stephen Rothwell noticed that orangefs would not compile on powerpc... Signed-off-by: Mike Marshall <hubcap@omnibond.com>
* Orangefs: kernel client part 7Mike Marshall2015-10-03
| | | | Signed-off-by: Mike Marshall <hubcap@omnibond.com>
* Orangefs: kernel client part 5Mike Marshall2015-10-03
| | | | Signed-off-by: Mike Marshall <hubcap@omnibond.com>
* Orangefs: kernel client part 4Mike Marshall2015-10-03
| | | | Signed-off-by: Mike Marshall <hubcap@omnibond.com>
* Orangefs: kernel client part 3Mike Marshall2015-10-03
| | | | Signed-off-by: Mike Marshall <hubcap@omnibond.com>
* Orangefs: kernel client part 2Mike Marshall2015-10-03
| | | | Signed-off-by: Mike Marshall <hubcap@omnibond.com>
* Orangefs: kernel client part 1Mike Marshall2015-10-03
OrangeFS (formerly PVFS) is an lgpl licensed userspace networked parallel file system. OrangeFS can be accessed through included system utilities, user integration libraries, MPI-IO and can be used by the Hadoop ecosystem as an alternative to the HDFS filesystem. OrangeFS is used widely for parallel science, data analytics and engineering applications. While applications often don't require Orangefs to be mounted into the VFS, users do like to be able to access their files in the normal way. The Orangefs kernel client allows Orangefs filesystems to be mounted as a VFS. The kernel client communicates with a userspace daemon which in turn communicates with the Orangefs server daemons that implement the filesystem. The server daemons (there's almost always more than one) need not be running on the same host as the kernel client. Orangefs filesystems can also be mounted with FUSE, and we ship code and instructions to facilitate that, but most of our users report preferring to use our kernel module instead. Further, as an example of a problem we can't solve with fuse, we have in the works a not-yet-ready-for-prime-time version of a file_operations lock function that accounts for the server daemons being distributed across more than one running kernel. Many people and organizations, including Clemson University, Argonne National Laboratories and Acxiom Corporation have helped to create what has become Orangefs over more than twenty years. Some of the more recent contributors to the kernel client include: Mike Marshall Christoph Hellwig Randy Martin Becky Ligon Walt Ligon Michael Moore Rob Ross Phil Carnes Signed-off-by: Mike Marshall <hubcap@omnibond.com>