mirror of
https://github.com/tbsdtv/linux_media.git
synced 2025-07-23 12:43:29 +02:00
cifs: Make extract_sharename function public
Move the function to misc.c Signed-off-by: Samuel Cabrero <scabrero@suse.de> Reviewed-by: Aurelien Aptel <aaptel@suse.com> Signed-off-by: Steve French <stfrench@microsoft.com>
This commit is contained in:
committed by
Steve French
parent
a87e67254b
commit
e73a42e07a
@@ -53,30 +53,6 @@ const struct fscache_cookie_def cifs_fscache_server_index_def = {
|
|||||||
.type = FSCACHE_COOKIE_TYPE_INDEX,
|
.type = FSCACHE_COOKIE_TYPE_INDEX,
|
||||||
};
|
};
|
||||||
|
|
||||||
char *extract_sharename(const char *treename)
|
|
||||||
{
|
|
||||||
const char *src;
|
|
||||||
char *delim, *dst;
|
|
||||||
int len;
|
|
||||||
|
|
||||||
/* skip double chars at the beginning */
|
|
||||||
src = treename + 2;
|
|
||||||
|
|
||||||
/* share name is always preceded by '\\' now */
|
|
||||||
delim = strchr(src, '\\');
|
|
||||||
if (!delim)
|
|
||||||
return ERR_PTR(-EINVAL);
|
|
||||||
delim++;
|
|
||||||
len = strlen(delim);
|
|
||||||
|
|
||||||
/* caller has to free the memory */
|
|
||||||
dst = kstrndup(delim, len, GFP_KERNEL);
|
|
||||||
if (!dst)
|
|
||||||
return ERR_PTR(-ENOMEM);
|
|
||||||
|
|
||||||
return dst;
|
|
||||||
}
|
|
||||||
|
|
||||||
static enum
|
static enum
|
||||||
fscache_checkaux cifs_fscache_super_check_aux(void *cookie_netfs_data,
|
fscache_checkaux cifs_fscache_super_check_aux(void *cookie_netfs_data,
|
||||||
const void *data,
|
const void *data,
|
||||||
|
@@ -618,6 +618,7 @@ struct super_block *cifs_get_tcp_super(struct TCP_Server_Info *server);
|
|||||||
void cifs_put_tcp_super(struct super_block *sb);
|
void cifs_put_tcp_super(struct super_block *sb);
|
||||||
int update_super_prepath(struct cifs_tcon *tcon, char *prefix);
|
int update_super_prepath(struct cifs_tcon *tcon, char *prefix);
|
||||||
char *extract_hostname(const char *unc);
|
char *extract_hostname(const char *unc);
|
||||||
|
char *extract_sharename(const char *unc);
|
||||||
|
|
||||||
#ifdef CONFIG_CIFS_DFS_UPCALL
|
#ifdef CONFIG_CIFS_DFS_UPCALL
|
||||||
static inline int get_dfs_path(const unsigned int xid, struct cifs_ses *ses,
|
static inline int get_dfs_path(const unsigned int xid, struct cifs_ses *ses,
|
||||||
|
@@ -22,6 +22,7 @@
|
|||||||
#include "cifsglob.h"
|
#include "cifsglob.h"
|
||||||
#include "cifs_debug.h"
|
#include "cifs_debug.h"
|
||||||
#include "cifs_fs_sb.h"
|
#include "cifs_fs_sb.h"
|
||||||
|
#include "cifsproto.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Key layout of CIFS server cache index object
|
* Key layout of CIFS server cache index object
|
||||||
|
@@ -57,7 +57,6 @@ extern const struct fscache_cookie_def cifs_fscache_inode_object_def;
|
|||||||
|
|
||||||
extern int cifs_fscache_register(void);
|
extern int cifs_fscache_register(void);
|
||||||
extern void cifs_fscache_unregister(void);
|
extern void cifs_fscache_unregister(void);
|
||||||
extern char *extract_sharename(const char *);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* fscache.c
|
* fscache.c
|
||||||
|
@@ -1227,3 +1227,27 @@ char *extract_hostname(const char *unc)
|
|||||||
|
|
||||||
return dst;
|
return dst;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
char *extract_sharename(const char *unc)
|
||||||
|
{
|
||||||
|
const char *src;
|
||||||
|
char *delim, *dst;
|
||||||
|
int len;
|
||||||
|
|
||||||
|
/* skip double chars at the beginning */
|
||||||
|
src = unc + 2;
|
||||||
|
|
||||||
|
/* share name is always preceded by '\\' now */
|
||||||
|
delim = strchr(src, '\\');
|
||||||
|
if (!delim)
|
||||||
|
return ERR_PTR(-EINVAL);
|
||||||
|
delim++;
|
||||||
|
len = strlen(delim);
|
||||||
|
|
||||||
|
/* caller has to free the memory */
|
||||||
|
dst = kstrndup(delim, len, GFP_KERNEL);
|
||||||
|
if (!dst)
|
||||||
|
return ERR_PTR(-ENOMEM);
|
||||||
|
|
||||||
|
return dst;
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user