X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Finclude%2Flinux%2Flustre_compat25.h;h=a485b074294722f3787597f73de272ca9e5a1510;hb=e4d660244e9265015c3e3480b48a28b15f0813b7;hp=cd79e6e5d486418288568d5b21df7c59d80fdfb6;hpb=dadfda622c03c35c16910cc82fe7d8aa099e9ea9;p=fs%2Flustre-release.git diff --git a/lustre/include/linux/lustre_compat25.h b/lustre/include/linux/lustre_compat25.h index cd79e6e..a485b07 100644 --- a/lustre/include/linux/lustre_compat25.h +++ b/lustre/include/linux/lustre_compat25.h @@ -101,25 +101,6 @@ static inline void ll_set_fs_pwd(struct fs_struct *fs, struct vfsmount *mnt, generic_permission(inode, mask, check_acl) #endif -#ifdef HAVE_DENTRY_OPEN_USE_PATH -#define ll_dentry_open(a,b,c) dentry_open(a,b,c) -#else -/* - * dentry_open handles its own reference counting since Linux v3.6 - * (commit 765927b2). Callers should free their own references. - * - * Prior versions expected the caller to increment the references. - * The references are retained on success and freed on error. - */ -static inline struct file *ll_dentry_open(struct path *path, int flags, - const struct cred *cred) -{ - mntget(path->mnt); - dget(path->dentry); - return dentry_open(path->dentry, path->mnt, flags, cred); -} -#endif - #ifdef HAVE_4ARGS_VFS_SYMLINK #define ll_vfs_symlink(dir, dentry, mnt, path, mode) \ vfs_symlink(dir, dentry, path, mode) @@ -154,38 +135,7 @@ static inline struct file *ll_dentry_open(struct path *path, int flags, /* add a lustre compatible layer for crypto API */ #include -#define ll_crypto_hash crypto_hash -#define ll_crypto_cipher crypto_blkcipher -#define ll_crypto_alloc_hash(name, type, mask) crypto_alloc_hash(name, type, mask) -#define ll_crypto_hash_setkey(tfm, key, keylen) crypto_hash_setkey(tfm, key, keylen) -#define ll_crypto_hash_init(desc) crypto_hash_init(desc) -#define ll_crypto_hash_update(desc, sl, bytes) crypto_hash_update(desc, sl, bytes) -#define ll_crypto_hash_final(desc, out) crypto_hash_final(desc, out) -#define ll_crypto_blkcipher_setkey(tfm, key, keylen) \ - crypto_blkcipher_setkey(tfm, key, keylen) -#define ll_crypto_blkcipher_set_iv(tfm, src, len) \ - crypto_blkcipher_set_iv(tfm, src, len) -#define ll_crypto_blkcipher_get_iv(tfm, dst, len) \ - crypto_blkcipher_get_iv(tfm, dst, len) -#define ll_crypto_blkcipher_encrypt(desc, dst, src, bytes) \ - crypto_blkcipher_encrypt(desc, dst, src, bytes) -#define ll_crypto_blkcipher_decrypt(desc, dst, src, bytes) \ - crypto_blkcipher_decrypt(desc, dst, src, bytes) -#define ll_crypto_blkcipher_encrypt_iv(desc, dst, src, bytes) \ - crypto_blkcipher_encrypt_iv(desc, dst, src, bytes) -#define ll_crypto_blkcipher_decrypt_iv(desc, dst, src, bytes) \ - crypto_blkcipher_decrypt_iv(desc, dst, src, bytes) - -static inline -struct ll_crypto_cipher *ll_crypto_alloc_blkcipher(const char *name, - u32 type, u32 mask) -{ - struct ll_crypto_cipher *rtn = crypto_alloc_blkcipher(name, type, mask); - - return (rtn == NULL ? ERR_PTR(-ENOMEM) : rtn); -} - -static inline int ll_crypto_hmac(struct ll_crypto_hash *tfm, +static inline int ll_crypto_hmac(struct crypto_hash *tfm, u8 *key, unsigned int *keylen, struct scatterlist *sg, unsigned int size, u8 *result) @@ -201,38 +151,19 @@ static inline int ll_crypto_hmac(struct ll_crypto_hash *tfm, } return crypto_hash_digest(&desc, sg, size, result); } -static inline -unsigned int ll_crypto_tfm_alg_max_keysize(struct crypto_blkcipher *tfm) -{ - return crypto_blkcipher_tfm(tfm)->__crt_alg->cra_blkcipher.max_keysize; -} + static inline unsigned int ll_crypto_tfm_alg_min_keysize(struct crypto_blkcipher *tfm) { return crypto_blkcipher_tfm(tfm)->__crt_alg->cra_blkcipher.min_keysize; } -#define ll_crypto_hash_blocksize(tfm) crypto_hash_blocksize(tfm) -#define ll_crypto_hash_digestsize(tfm) crypto_hash_digestsize(tfm) -#define ll_crypto_blkcipher_ivsize(tfm) crypto_blkcipher_ivsize(tfm) -#define ll_crypto_blkcipher_blocksize(tfm) crypto_blkcipher_blocksize(tfm) -#define ll_crypto_free_hash(tfm) crypto_free_hash(tfm) -#define ll_crypto_free_blkcipher(tfm) crypto_free_blkcipher(tfm) - #ifdef for_each_possible_cpu #define cfs_for_each_possible_cpu(cpu) for_each_possible_cpu(cpu) #elif defined(for_each_cpu) #define cfs_for_each_possible_cpu(cpu) for_each_cpu(cpu) #endif -#ifdef HAVE_BIO_ENDIO_2ARG -#define cfs_bio_io_error(a,b) bio_io_error((a)) -#define cfs_bio_endio(a,b,c) bio_endio((a),(c)) -#else -#define cfs_bio_io_error(a,b) bio_io_error((a),(b)) -#define cfs_bio_endio(a,b,c) bio_endio((a),(b),(c)) -#endif - #ifndef HAVE_SIMPLE_SETATTR #define simple_setattr(dentry, ops) inode_setattr((dentry)->d_inode, ops) #endif @@ -393,4 +324,22 @@ static inline struct dentry *d_make_root(struct inode *root) # define ll_dirty_inode(inode, flag) (inode)->i_sb->s_op->dirty_inode((inode)) #endif +#ifdef HAVE_FILE_F_INODE +# define set_file_inode(file, inode) (file)->f_inode = inode +#else +# define set_file_inode(file, inode) +#endif + +#ifdef HAVE_OLDSIZE_TRUNCATE_PAGECACHE +#define ll_truncate_pagecache(inode, size) truncate_pagecache(inode, 0, size) +#else +#define ll_truncate_pagecache(inode, size) truncate_pagecache(inode, size) +#endif + +#ifdef HAVE_VFS_RENAME_5ARGS +#define ll_vfs_rename(a, b, c, d) vfs_rename(a, b, c, d, NULL) +#else +#define ll_vfs_rename(a, b, c, d) vfs_rename(a, b, c, d) +#endif + #endif /* _COMPAT25_H */