Linux Kernel
3.7.1
|
#include <linux/fs.h>
#include <linux/stat.h>
#include <linux/slab.h>
#include <linux/namei.h>
#include "cifsfs.h"
#include "cifspdu.h"
#include "cifsglob.h"
#include "cifsproto.h"
#include "cifs_debug.h"
#include "cifs_fs_sb.h"
Go to the source code of this file.
Macros | |
#define | CIFS_MF_SYMLINK_LEN_OFFSET (4+1) |
#define | CIFS_MF_SYMLINK_MD5_OFFSET (CIFS_MF_SYMLINK_LEN_OFFSET+(4+1)) |
#define | CIFS_MF_SYMLINK_LINK_OFFSET (CIFS_MF_SYMLINK_MD5_OFFSET+(32+1)) |
#define | CIFS_MF_SYMLINK_LINK_MAXLEN (1024) |
#define | CIFS_MF_SYMLINK_FILE_SIZE (CIFS_MF_SYMLINK_LINK_OFFSET + CIFS_MF_SYMLINK_LINK_MAXLEN) |
#define | CIFS_MF_SYMLINK_LEN_FORMAT "XSym\n%04u\n" |
#define | CIFS_MF_SYMLINK_MD5_FORMAT "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x\n" |
#define | CIFS_MF_SYMLINK_MD5_ARGS(md5_hash) |
Functions | |
bool | CIFSCouldBeMFSymlink (const struct cifs_fattr *fattr) |
int | CIFSCheckMFSymlink (struct cifs_fattr *fattr, const unsigned char *path, struct cifs_sb_info *cifs_sb, unsigned int xid) |
int | cifs_hardlink (struct dentry *old_file, struct inode *inode, struct dentry *direntry) |
void * | cifs_follow_link (struct dentry *direntry, struct nameidata *nd) |
int | cifs_symlink (struct inode *inode, struct dentry *direntry, const char *symname) |
void | cifs_put_link (struct dentry *direntry, struct nameidata *nd, void *cookie) |
#define CIFS_MF_SYMLINK_FILE_SIZE (CIFS_MF_SYMLINK_LINK_OFFSET + CIFS_MF_SYMLINK_LINK_MAXLEN) |
#define CIFS_MF_SYMLINK_LINK_OFFSET (CIFS_MF_SYMLINK_MD5_OFFSET+(32+1)) |
#define CIFS_MF_SYMLINK_MD5_ARGS | ( | md5_hash | ) |
#define CIFS_MF_SYMLINK_MD5_FORMAT "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x\n" |
#define CIFS_MF_SYMLINK_MD5_OFFSET (CIFS_MF_SYMLINK_LEN_OFFSET+(4+1)) |
int CIFSCheckMFSymlink | ( | struct cifs_fattr * | fattr, |
const unsigned char * | path, | ||
struct cifs_sb_info * | cifs_sb, | ||
unsigned int | xid | ||
) |