X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=libcfs%2Finclude%2Flibcfs%2Flinux%2Flinux-fs.h;h=a5beff213c6581bf0c1cadd0524cb1fba8852b51;hp=90514918c568afc7b9a105089887b7de64fd6a37;hb=77f5bb4dace53e0040dea4ce5c72156e901e6819;hpb=88a0262fdea8eadd620e0adf593332203465673d diff --git a/libcfs/include/libcfs/linux/linux-fs.h b/libcfs/include/libcfs/linux/linux-fs.h index 9051491..a5beff2 100644 --- a/libcfs/include/libcfs/linux/linux-fs.h +++ b/libcfs/include/libcfs/linux/linux-fs.h @@ -15,11 +15,7 @@ * * You should have received a copy of the GNU General Public License * version 2 along with this program; If not, see - * http://www.sun.com/software/products/lustre/docs/GPLv2.pdf - * - * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, - * CA 95054 USA or visit www.sun.com if you need additional information or - * have any questions. + * http://www.gnu.org/licenses/gpl-2.0.html * * GPL HEADER END */ @@ -27,7 +23,7 @@ * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. * Use is subject to license terms. * - * Copyright (c) 2012, 2014, Intel Corporation. + * Copyright (c) 2012, 2016, Intel Corporation. */ /* * This file is part of Lustre, http://www.lustre.org/ @@ -41,69 +37,27 @@ #ifndef __LIBCFS_LINUX_CFS_FS_H__ #define __LIBCFS_LINUX_CFS_FS_H__ -#ifndef __LIBCFS_LIBCFS_H__ -#error Do not #include this file directly. #include instead -#endif - -#ifndef __KERNEL__ -#error This include is only for kernel use. -#endif - #include #include #include #include -#include - -#define filp_size(f) \ - (i_size_read((f)->f_dentry->d_inode)) -#define filp_poff(f) \ - (&(f)->f_pos) - -#define filp_read(fp, buf, size, pos) \ - ((fp)->f_op->read((fp), (buf), (size), pos)) -#define filp_write(fp, buf, size, pos) \ - ((fp)->f_op->write((fp), (buf), (size), pos)) - -#if defined(HAVE_FILE_FSYNC_4ARGS) || defined(HAVE_FILE_FSYNC_2ARGS) -#define ll_vfs_fsync_range(fp, start, end, datasync) \ - vfs_fsync_range(fp, start, end, datasync) -#else -#define ll_vfs_fsync_range(fp, start, end, datasync) \ - vfs_fsync_range(fp, (fp)->f_dentry, start, end, datasync) +#ifndef HAVE_FILE_DENTRY +static inline struct dentry *file_dentry(const struct file *file) +{ + return file->f_path.dentry; +} #endif -#define flock_type(fl) ((fl)->fl_type) -#define flock_set_type(fl, type) do { (fl)->fl_type = (type); } while (0) -#define flock_pid(fl) ((fl)->fl_pid) -#define flock_set_pid(fl, pid) do { (fl)->fl_pid = (pid); } while (0) -#define flock_start(fl) ((fl)->fl_start) -#define flock_set_start(fl, st) do { (fl)->fl_start = (st); } while (0) -#define flock_end(fl) ((fl)->fl_end) -#define flock_set_end(fl, end) do { (fl)->fl_end = (end); } while (0) - -ssize_t filp_user_write(struct file *filp, const void *buf, size_t count, - loff_t *offset); - -#ifndef IFSHIFT -#define IFSHIFT 12 +#ifndef S_DT_SHIFT +#define S_DT_SHIFT 12 #endif -#ifndef IFTODT -#define IFTODT(type) (((type) & S_IFMT) >> IFSHIFT) +#ifndef S_DT +#define S_DT(type) (((type) & S_IFMT) >> S_DT_SHIFT) #endif #ifndef DTTOIF -#define DTTOIF(dirtype) ((dirtype) << IFSHIFT) +#define DTTOIF(dirtype) ((dirtype) << S_DT_SHIFT) #endif -#ifndef HAVE_POSIXACL_USER_NS -/* - * Mask out &init_user_ns so we don't jump - * through hoops to define it somehow only - * to have it ignored anyway. - */ -#define posix_acl_from_xattr(a,b,c) posix_acl_from_xattr(b,c) -#define posix_acl_to_xattr(a,b,c,d) posix_acl_to_xattr(b,c,d) -#endif #endif