mirror of
https://github.com/ukui/kernel.git
synced 2026-03-09 10:07:04 -07:00
[CIFS] Neaten cERROR and cFYI macros, reduce text space
Neaten cERROR and cFYI macros, reduce text space
~2.5K
Convert '__FILE__ ": " fmt' to '"%s: " fmt', __FILE__' to save text space
Surround macros with do {} while
Add parentheses to macros
Make statement expression macro from macro with assign
Remove now unnecessary parentheses from cFYI and cERROR uses
defconfig with CIFS support old
$ size fs/cifs/built-in.o
text data bss dec hex filename
156012 1760 148 157920 268e0 fs/cifs/built-in.o
defconfig with CIFS support old
$ size fs/cifs/built-in.o
text data bss dec hex filename
153508 1760 148 155416 25f18 fs/cifs/built-in.o
allyesconfig old:
$ size fs/cifs/built-in.o
text data bss dec hex filename
309138 3864 74824 387826 5eaf2 fs/cifs/built-in.o
allyesconfig new
$ size fs/cifs/built-in.o
text data bss dec hex filename
305655 3864 74824 384343 5dd57 fs/cifs/built-in.o
Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
This commit is contained in:
committed by
Steve French
parent
315e995c63
commit
b6b38f704a
+34
-39
@@ -510,11 +510,11 @@ decode_negTokenInit(unsigned char *security_blob, int length,
|
||||
|
||||
/* GSSAPI header */
|
||||
if (asn1_header_decode(&ctx, &end, &cls, &con, &tag) == 0) {
|
||||
cFYI(1, ("Error decoding negTokenInit header"));
|
||||
cFYI(1, "Error decoding negTokenInit header");
|
||||
return 0;
|
||||
} else if ((cls != ASN1_APL) || (con != ASN1_CON)
|
||||
|| (tag != ASN1_EOC)) {
|
||||
cFYI(1, ("cls = %d con = %d tag = %d", cls, con, tag));
|
||||
cFYI(1, "cls = %d con = %d tag = %d", cls, con, tag);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -535,56 +535,52 @@ decode_negTokenInit(unsigned char *security_blob, int length,
|
||||
|
||||
/* SPNEGO OID not present or garbled -- bail out */
|
||||
if (!rc) {
|
||||
cFYI(1, ("Error decoding negTokenInit header"));
|
||||
cFYI(1, "Error decoding negTokenInit header");
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* SPNEGO */
|
||||
if (asn1_header_decode(&ctx, &end, &cls, &con, &tag) == 0) {
|
||||
cFYI(1, ("Error decoding negTokenInit"));
|
||||
cFYI(1, "Error decoding negTokenInit");
|
||||
return 0;
|
||||
} else if ((cls != ASN1_CTX) || (con != ASN1_CON)
|
||||
|| (tag != ASN1_EOC)) {
|
||||
cFYI(1,
|
||||
("cls = %d con = %d tag = %d end = %p (%d) exit 0",
|
||||
cls, con, tag, end, *end));
|
||||
cFYI(1, "cls = %d con = %d tag = %d end = %p (%d) exit 0",
|
||||
cls, con, tag, end, *end);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* negTokenInit */
|
||||
if (asn1_header_decode(&ctx, &end, &cls, &con, &tag) == 0) {
|
||||
cFYI(1, ("Error decoding negTokenInit"));
|
||||
cFYI(1, "Error decoding negTokenInit");
|
||||
return 0;
|
||||
} else if ((cls != ASN1_UNI) || (con != ASN1_CON)
|
||||
|| (tag != ASN1_SEQ)) {
|
||||
cFYI(1,
|
||||
("cls = %d con = %d tag = %d end = %p (%d) exit 1",
|
||||
cls, con, tag, end, *end));
|
||||
cFYI(1, "cls = %d con = %d tag = %d end = %p (%d) exit 1",
|
||||
cls, con, tag, end, *end);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* sequence */
|
||||
if (asn1_header_decode(&ctx, &end, &cls, &con, &tag) == 0) {
|
||||
cFYI(1, ("Error decoding 2nd part of negTokenInit"));
|
||||
cFYI(1, "Error decoding 2nd part of negTokenInit");
|
||||
return 0;
|
||||
} else if ((cls != ASN1_CTX) || (con != ASN1_CON)
|
||||
|| (tag != ASN1_EOC)) {
|
||||
cFYI(1,
|
||||
("cls = %d con = %d tag = %d end = %p (%d) exit 0",
|
||||
cls, con, tag, end, *end));
|
||||
cFYI(1, "cls = %d con = %d tag = %d end = %p (%d) exit 0",
|
||||
cls, con, tag, end, *end);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* sequence of */
|
||||
if (asn1_header_decode
|
||||
(&ctx, &sequence_end, &cls, &con, &tag) == 0) {
|
||||
cFYI(1, ("Error decoding 2nd part of negTokenInit"));
|
||||
cFYI(1, "Error decoding 2nd part of negTokenInit");
|
||||
return 0;
|
||||
} else if ((cls != ASN1_UNI) || (con != ASN1_CON)
|
||||
|| (tag != ASN1_SEQ)) {
|
||||
cFYI(1,
|
||||
("cls = %d con = %d tag = %d end = %p (%d) exit 1",
|
||||
cls, con, tag, end, *end));
|
||||
cFYI(1, "cls = %d con = %d tag = %d end = %p (%d) exit 1",
|
||||
cls, con, tag, end, *end);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -592,16 +588,15 @@ decode_negTokenInit(unsigned char *security_blob, int length,
|
||||
while (!asn1_eoc_decode(&ctx, sequence_end)) {
|
||||
rc = asn1_header_decode(&ctx, &end, &cls, &con, &tag);
|
||||
if (!rc) {
|
||||
cFYI(1,
|
||||
("Error decoding negTokenInit hdr exit2"));
|
||||
cFYI(1, "Error decoding negTokenInit hdr exit2");
|
||||
return 0;
|
||||
}
|
||||
if ((tag == ASN1_OJI) && (con == ASN1_PRI)) {
|
||||
if (asn1_oid_decode(&ctx, end, &oid, &oidlen)) {
|
||||
|
||||
cFYI(1, ("OID len = %d oid = 0x%lx 0x%lx "
|
||||
"0x%lx 0x%lx", oidlen, *oid,
|
||||
*(oid + 1), *(oid + 2), *(oid + 3)));
|
||||
cFYI(1, "OID len = %d oid = 0x%lx 0x%lx "
|
||||
"0x%lx 0x%lx", oidlen, *oid,
|
||||
*(oid + 1), *(oid + 2), *(oid + 3));
|
||||
|
||||
if (compare_oid(oid, oidlen, MSKRB5_OID,
|
||||
MSKRB5_OID_LEN) &&
|
||||
@@ -622,7 +617,7 @@ decode_negTokenInit(unsigned char *security_blob, int length,
|
||||
kfree(oid);
|
||||
}
|
||||
} else {
|
||||
cFYI(1, ("Should be an oid what is going on?"));
|
||||
cFYI(1, "Should be an oid what is going on?");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -632,47 +627,47 @@ decode_negTokenInit(unsigned char *security_blob, int length,
|
||||
no mechListMic (e.g. NTLMSSP instead of KRB5) */
|
||||
if (ctx.error == ASN1_ERR_DEC_EMPTY)
|
||||
goto decode_negtoken_exit;
|
||||
cFYI(1, ("Error decoding last part negTokenInit exit3"));
|
||||
cFYI(1, "Error decoding last part negTokenInit exit3");
|
||||
return 0;
|
||||
} else if ((cls != ASN1_CTX) || (con != ASN1_CON)) {
|
||||
/* tag = 3 indicating mechListMIC */
|
||||
cFYI(1, ("Exit 4 cls = %d con = %d tag = %d end = %p (%d)",
|
||||
cls, con, tag, end, *end));
|
||||
cFYI(1, "Exit 4 cls = %d con = %d tag = %d end = %p (%d)",
|
||||
cls, con, tag, end, *end);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* sequence */
|
||||
if (asn1_header_decode(&ctx, &end, &cls, &con, &tag) == 0) {
|
||||
cFYI(1, ("Error decoding last part negTokenInit exit5"));
|
||||
cFYI(1, "Error decoding last part negTokenInit exit5");
|
||||
return 0;
|
||||
} else if ((cls != ASN1_UNI) || (con != ASN1_CON)
|
||||
|| (tag != ASN1_SEQ)) {
|
||||
cFYI(1, ("cls = %d con = %d tag = %d end = %p (%d)",
|
||||
cls, con, tag, end, *end));
|
||||
cFYI(1, "cls = %d con = %d tag = %d end = %p (%d)",
|
||||
cls, con, tag, end, *end);
|
||||
}
|
||||
|
||||
/* sequence of */
|
||||
if (asn1_header_decode(&ctx, &end, &cls, &con, &tag) == 0) {
|
||||
cFYI(1, ("Error decoding last part negTokenInit exit 7"));
|
||||
cFYI(1, "Error decoding last part negTokenInit exit 7");
|
||||
return 0;
|
||||
} else if ((cls != ASN1_CTX) || (con != ASN1_CON)) {
|
||||
cFYI(1, ("Exit 8 cls = %d con = %d tag = %d end = %p (%d)",
|
||||
cls, con, tag, end, *end));
|
||||
cFYI(1, "Exit 8 cls = %d con = %d tag = %d end = %p (%d)",
|
||||
cls, con, tag, end, *end);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* general string */
|
||||
if (asn1_header_decode(&ctx, &end, &cls, &con, &tag) == 0) {
|
||||
cFYI(1, ("Error decoding last part negTokenInit exit9"));
|
||||
cFYI(1, "Error decoding last part negTokenInit exit9");
|
||||
return 0;
|
||||
} else if ((cls != ASN1_UNI) || (con != ASN1_PRI)
|
||||
|| (tag != ASN1_GENSTR)) {
|
||||
cFYI(1, ("Exit10 cls = %d con = %d tag = %d end = %p (%d)",
|
||||
cls, con, tag, end, *end));
|
||||
cFYI(1, "Exit10 cls = %d con = %d tag = %d end = %p (%d)",
|
||||
cls, con, tag, end, *end);
|
||||
return 0;
|
||||
}
|
||||
cFYI(1, ("Need to call asn1_octets_decode() function for %s",
|
||||
ctx.pointer)); /* is this UTF-8 or ASCII? */
|
||||
cFYI(1, "Need to call asn1_octets_decode() function for %s",
|
||||
ctx.pointer); /* is this UTF-8 or ASCII? */
|
||||
decode_negtoken_exit:
|
||||
if (use_kerberos)
|
||||
*secType = Kerberos;
|
||||
|
||||
+17
-17
@@ -60,10 +60,10 @@ cifs_dump_mem(char *label, void *data, int length)
|
||||
#ifdef CONFIG_CIFS_DEBUG2
|
||||
void cifs_dump_detail(struct smb_hdr *smb)
|
||||
{
|
||||
cERROR(1, ("Cmd: %d Err: 0x%x Flags: 0x%x Flgs2: 0x%x Mid: %d Pid: %d",
|
||||
cERROR(1, "Cmd: %d Err: 0x%x Flags: 0x%x Flgs2: 0x%x Mid: %d Pid: %d",
|
||||
smb->Command, smb->Status.CifsError,
|
||||
smb->Flags, smb->Flags2, smb->Mid, smb->Pid));
|
||||
cERROR(1, ("smb buf %p len %d", smb, smbCalcSize_LE(smb)));
|
||||
smb->Flags, smb->Flags2, smb->Mid, smb->Pid);
|
||||
cERROR(1, "smb buf %p len %d", smb, smbCalcSize_LE(smb));
|
||||
}
|
||||
|
||||
|
||||
@@ -75,25 +75,25 @@ void cifs_dump_mids(struct TCP_Server_Info *server)
|
||||
if (server == NULL)
|
||||
return;
|
||||
|
||||
cERROR(1, ("Dump pending requests:"));
|
||||
cERROR(1, "Dump pending requests:");
|
||||
spin_lock(&GlobalMid_Lock);
|
||||
list_for_each(tmp, &server->pending_mid_q) {
|
||||
mid_entry = list_entry(tmp, struct mid_q_entry, qhead);
|
||||
cERROR(1, ("State: %d Cmd: %d Pid: %d Tsk: %p Mid %d",
|
||||
cERROR(1, "State: %d Cmd: %d Pid: %d Tsk: %p Mid %d",
|
||||
mid_entry->midState,
|
||||
(int)mid_entry->command,
|
||||
mid_entry->pid,
|
||||
mid_entry->tsk,
|
||||
mid_entry->mid));
|
||||
mid_entry->mid);
|
||||
#ifdef CONFIG_CIFS_STATS2
|
||||
cERROR(1, ("IsLarge: %d buf: %p time rcv: %ld now: %ld",
|
||||
cERROR(1, "IsLarge: %d buf: %p time rcv: %ld now: %ld",
|
||||
mid_entry->largeBuf,
|
||||
mid_entry->resp_buf,
|
||||
mid_entry->when_received,
|
||||
jiffies));
|
||||
jiffies);
|
||||
#endif /* STATS2 */
|
||||
cERROR(1, ("IsMult: %d IsEnd: %d", mid_entry->multiRsp,
|
||||
mid_entry->multiEnd));
|
||||
cERROR(1, "IsMult: %d IsEnd: %d", mid_entry->multiRsp,
|
||||
mid_entry->multiEnd);
|
||||
if (mid_entry->resp_buf) {
|
||||
cifs_dump_detail(mid_entry->resp_buf);
|
||||
cifs_dump_mem("existing buf: ",
|
||||
@@ -750,7 +750,7 @@ static ssize_t cifs_security_flags_proc_write(struct file *file,
|
||||
extended_security = CIFSSEC_MAX;
|
||||
return count;
|
||||
} else if (!isdigit(c)) {
|
||||
cERROR(1, ("invalid flag %c", c));
|
||||
cERROR(1, "invalid flag %c", c);
|
||||
return -EINVAL;
|
||||
}
|
||||
}
|
||||
@@ -758,16 +758,16 @@ static ssize_t cifs_security_flags_proc_write(struct file *file,
|
||||
|
||||
flags = simple_strtoul(flags_string, NULL, 0);
|
||||
|
||||
cFYI(1, ("sec flags 0x%x", flags));
|
||||
cFYI(1, "sec flags 0x%x", flags);
|
||||
|
||||
if (flags <= 0) {
|
||||
cERROR(1, ("invalid security flags %s", flags_string));
|
||||
cERROR(1, "invalid security flags %s", flags_string);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (flags & ~CIFSSEC_MASK) {
|
||||
cERROR(1, ("attempt to set unsupported security flags 0x%x",
|
||||
flags & ~CIFSSEC_MASK));
|
||||
cERROR(1, "attempt to set unsupported security flags 0x%x",
|
||||
flags & ~CIFSSEC_MASK);
|
||||
return -EINVAL;
|
||||
}
|
||||
/* flags look ok - update the global security flags for cifs module */
|
||||
@@ -775,9 +775,9 @@ static ssize_t cifs_security_flags_proc_write(struct file *file,
|
||||
if (extended_security & CIFSSEC_MUST_SIGN) {
|
||||
/* requiring signing implies signing is allowed */
|
||||
extended_security |= CIFSSEC_MAY_SIGN;
|
||||
cFYI(1, ("packet signing now required"));
|
||||
cFYI(1, "packet signing now required");
|
||||
} else if ((extended_security & CIFSSEC_MAY_SIGN) == 0) {
|
||||
cFYI(1, ("packet signing disabled"));
|
||||
cFYI(1, "packet signing disabled");
|
||||
}
|
||||
/* BB should we turn on MAY flags for other MUST options? */
|
||||
return count;
|
||||
|
||||
+31
-11
@@ -43,34 +43,54 @@ void dump_smb(struct smb_hdr *, int);
|
||||
*/
|
||||
#ifdef CIFS_DEBUG
|
||||
|
||||
|
||||
/* information message: e.g., configuration, major event */
|
||||
extern int cifsFYI;
|
||||
#define cifsfyi(format,arg...) if (cifsFYI & CIFS_INFO) printk(KERN_DEBUG " " __FILE__ ": " format "\n" "" , ## arg)
|
||||
#define cifsfyi(fmt, arg...) \
|
||||
do { \
|
||||
if (cifsFYI & CIFS_INFO) \
|
||||
printk(KERN_DEBUG "%s: " fmt "\n", __FILE__, ##arg); \
|
||||
} while (0)
|
||||
|
||||
#define cFYI(button,prspec) if (button) cifsfyi prspec
|
||||
#define cFYI(set, fmt, arg...) \
|
||||
do { \
|
||||
if (set) \
|
||||
cifsfyi(fmt, ##arg); \
|
||||
} while (0)
|
||||
|
||||
#define cifswarn(format, arg...) printk(KERN_WARNING ": " format "\n" , ## arg)
|
||||
#define cifswarn(fmt, arg...) \
|
||||
printk(KERN_WARNING fmt "\n", ##arg)
|
||||
|
||||
/* debug event message: */
|
||||
extern int cifsERROR;
|
||||
|
||||
#define cEVENT(format,arg...) if (cifsERROR) printk(KERN_EVENT __FILE__ ": " format "\n" , ## arg)
|
||||
#define cEVENT(fmt, arg...) \
|
||||
do { \
|
||||
if (cifsERROR) \
|
||||
printk(KERN_EVENT "%s: " fmt "\n", __FILE__, ##arg); \
|
||||
} while (0)
|
||||
|
||||
/* error event message: e.g., i/o error */
|
||||
#define cifserror(format,arg...) if (cifsERROR) printk(KERN_ERR " CIFS VFS: " format "\n" "" , ## arg)
|
||||
#define cifserror(fmt, arg...) \
|
||||
do { \
|
||||
if (cifsERROR) \
|
||||
printk(KERN_ERR "CIFS VFS: " fmt "\n", ##arg); \
|
||||
} while (0)
|
||||
|
||||
#define cERROR(button, prspec) if (button) cifserror prspec
|
||||
#define cERROR(set, fmt, arg...) \
|
||||
do { \
|
||||
if (set) \
|
||||
cifserror(fmt, ##arg); \
|
||||
} while (0)
|
||||
|
||||
/*
|
||||
* debug OFF
|
||||
* ---------
|
||||
*/
|
||||
#else /* _CIFS_DEBUG */
|
||||
#define cERROR(button, prspec)
|
||||
#define cEVENT(format, arg...)
|
||||
#define cFYI(button, prspec)
|
||||
#define cifserror(format, arg...)
|
||||
#define cERROR(set, fmt, arg...)
|
||||
#define cEVENT(fmt, arg...)
|
||||
#define cFYI(set, fmt, arg...)
|
||||
#define cifserror(fmt, arg...)
|
||||
#endif /* _CIFS_DEBUG */
|
||||
|
||||
#endif /* _H_CIFS_DEBUG */
|
||||
|
||||
+17
-17
@@ -85,8 +85,8 @@ static char *cifs_get_share_name(const char *node_name)
|
||||
/* find server name end */
|
||||
pSep = memchr(UNC+2, '\\', len-2);
|
||||
if (!pSep) {
|
||||
cERROR(1, ("%s: no server name end in node name: %s",
|
||||
__func__, node_name));
|
||||
cERROR(1, "%s: no server name end in node name: %s",
|
||||
__func__, node_name);
|
||||
kfree(UNC);
|
||||
return ERR_PTR(-EINVAL);
|
||||
}
|
||||
@@ -142,8 +142,8 @@ char *cifs_compose_mount_options(const char *sb_mountdata,
|
||||
|
||||
rc = dns_resolve_server_name_to_ip(*devname, &srvIP);
|
||||
if (rc != 0) {
|
||||
cERROR(1, ("%s: Failed to resolve server part of %s to IP: %d",
|
||||
__func__, *devname, rc));
|
||||
cERROR(1, "%s: Failed to resolve server part of %s to IP: %d",
|
||||
__func__, *devname, rc);
|
||||
goto compose_mount_options_err;
|
||||
}
|
||||
/* md_len = strlen(...) + 12 for 'sep+prefixpath='
|
||||
@@ -217,8 +217,8 @@ char *cifs_compose_mount_options(const char *sb_mountdata,
|
||||
strcat(mountdata, fullpath + ref->path_consumed);
|
||||
}
|
||||
|
||||
/*cFYI(1,("%s: parent mountdata: %s", __func__,sb_mountdata));*/
|
||||
/*cFYI(1, ("%s: submount mountdata: %s", __func__, mountdata ));*/
|
||||
/*cFYI(1, "%s: parent mountdata: %s", __func__,sb_mountdata);*/
|
||||
/*cFYI(1, "%s: submount mountdata: %s", __func__, mountdata );*/
|
||||
|
||||
compose_mount_options_out:
|
||||
kfree(srvIP);
|
||||
@@ -294,11 +294,11 @@ static int add_mount_helper(struct vfsmount *newmnt, struct nameidata *nd,
|
||||
|
||||
static void dump_referral(const struct dfs_info3_param *ref)
|
||||
{
|
||||
cFYI(1, ("DFS: ref path: %s", ref->path_name));
|
||||
cFYI(1, ("DFS: node path: %s", ref->node_name));
|
||||
cFYI(1, ("DFS: fl: %hd, srv_type: %hd", ref->flags, ref->server_type));
|
||||
cFYI(1, ("DFS: ref_flags: %hd, path_consumed: %hd", ref->ref_flag,
|
||||
ref->path_consumed));
|
||||
cFYI(1, "DFS: ref path: %s", ref->path_name);
|
||||
cFYI(1, "DFS: node path: %s", ref->node_name);
|
||||
cFYI(1, "DFS: fl: %hd, srv_type: %hd", ref->flags, ref->server_type);
|
||||
cFYI(1, "DFS: ref_flags: %hd, path_consumed: %hd", ref->ref_flag,
|
||||
ref->path_consumed);
|
||||
}
|
||||
|
||||
|
||||
@@ -314,7 +314,7 @@ cifs_dfs_follow_mountpoint(struct dentry *dentry, struct nameidata *nd)
|
||||
int rc = 0;
|
||||
struct vfsmount *mnt = ERR_PTR(-ENOENT);
|
||||
|
||||
cFYI(1, ("in %s", __func__));
|
||||
cFYI(1, "in %s", __func__);
|
||||
BUG_ON(IS_ROOT(dentry));
|
||||
|
||||
xid = GetXid();
|
||||
@@ -352,15 +352,15 @@ cifs_dfs_follow_mountpoint(struct dentry *dentry, struct nameidata *nd)
|
||||
/* connect to a node */
|
||||
len = strlen(referrals[i].node_name);
|
||||
if (len < 2) {
|
||||
cERROR(1, ("%s: Net Address path too short: %s",
|
||||
__func__, referrals[i].node_name));
|
||||
cERROR(1, "%s: Net Address path too short: %s",
|
||||
__func__, referrals[i].node_name);
|
||||
rc = -EINVAL;
|
||||
goto out_err;
|
||||
}
|
||||
mnt = cifs_dfs_do_refmount(nd->path.mnt,
|
||||
nd->path.dentry, referrals + i);
|
||||
cFYI(1, ("%s: cifs_dfs_do_refmount:%s , mnt:%p", __func__,
|
||||
referrals[i].node_name, mnt));
|
||||
cFYI(1, "%s: cifs_dfs_do_refmount:%s , mnt:%p", __func__,
|
||||
referrals[i].node_name, mnt);
|
||||
|
||||
/* complete mount procedure if we accured submount */
|
||||
if (!IS_ERR(mnt))
|
||||
@@ -378,7 +378,7 @@ out:
|
||||
FreeXid(xid);
|
||||
free_dfs_info_array(referrals, num_referrals);
|
||||
kfree(full_path);
|
||||
cFYI(1, ("leaving %s" , __func__));
|
||||
cFYI(1, "leaving %s" , __func__);
|
||||
return ERR_PTR(rc);
|
||||
out_err:
|
||||
path_put(&nd->path);
|
||||
|
||||
@@ -149,7 +149,7 @@ cifs_get_spnego_key(struct cifsSesInfo *sesInfo)
|
||||
dp = description + strlen(description);
|
||||
sprintf(dp, ";pid=0x%x", current->pid);
|
||||
|
||||
cFYI(1, ("key description = %s", description));
|
||||
cFYI(1, "key description = %s", description);
|
||||
spnego_key = request_key(&cifs_spnego_key_type, description, "");
|
||||
|
||||
#ifdef CONFIG_CIFS_DEBUG2
|
||||
|
||||
@@ -200,9 +200,8 @@ cifs_strtoUCS(__le16 *to, const char *from, int len,
|
||||
/* works for 2.4.0 kernel or later */
|
||||
charlen = codepage->char2uni(from, len, &wchar_to[i]);
|
||||
if (charlen < 1) {
|
||||
cERROR(1,
|
||||
("strtoUCS: char2uni of %d returned %d",
|
||||
(int)*from, charlen));
|
||||
cERROR(1, "strtoUCS: char2uni of %d returned %d",
|
||||
(int)*from, charlen);
|
||||
/* A question mark */
|
||||
to[i] = cpu_to_le16(0x003f);
|
||||
charlen = 1;
|
||||
|
||||
+38
-38
@@ -87,11 +87,11 @@ int match_sid(struct cifs_sid *ctsid)
|
||||
continue; /* all sub_auth values do not match */
|
||||
}
|
||||
|
||||
cFYI(1, ("matching sid: %s\n", wksidarr[i].sidname));
|
||||
cFYI(1, "matching sid: %s\n", wksidarr[i].sidname);
|
||||
return 0; /* sids compare/match */
|
||||
}
|
||||
|
||||
cFYI(1, ("No matching sid"));
|
||||
cFYI(1, "No matching sid");
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -208,14 +208,14 @@ static void access_flags_to_mode(__le32 ace_flags, int type, umode_t *pmode,
|
||||
*pbits_to_set &= ~S_IXUGO;
|
||||
return;
|
||||
} else if (type != ACCESS_ALLOWED) {
|
||||
cERROR(1, ("unknown access control type %d", type));
|
||||
cERROR(1, "unknown access control type %d", type);
|
||||
return;
|
||||
}
|
||||
/* else ACCESS_ALLOWED type */
|
||||
|
||||
if (flags & GENERIC_ALL) {
|
||||
*pmode |= (S_IRWXUGO & (*pbits_to_set));
|
||||
cFYI(DBG2, ("all perms"));
|
||||
cFYI(DBG2, "all perms");
|
||||
return;
|
||||
}
|
||||
if ((flags & GENERIC_WRITE) ||
|
||||
@@ -228,7 +228,7 @@ static void access_flags_to_mode(__le32 ace_flags, int type, umode_t *pmode,
|
||||
((flags & FILE_EXEC_RIGHTS) == FILE_EXEC_RIGHTS))
|
||||
*pmode |= (S_IXUGO & (*pbits_to_set));
|
||||
|
||||
cFYI(DBG2, ("access flags 0x%x mode now 0x%x", flags, *pmode));
|
||||
cFYI(DBG2, "access flags 0x%x mode now 0x%x", flags, *pmode);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -257,7 +257,7 @@ static void mode_to_access_flags(umode_t mode, umode_t bits_to_use,
|
||||
if (mode & S_IXUGO)
|
||||
*pace_flags |= SET_FILE_EXEC_RIGHTS;
|
||||
|
||||
cFYI(DBG2, ("mode: 0x%x, access flags now 0x%x", mode, *pace_flags));
|
||||
cFYI(DBG2, "mode: 0x%x, access flags now 0x%x", mode, *pace_flags);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -297,24 +297,24 @@ static void dump_ace(struct cifs_ace *pace, char *end_of_acl)
|
||||
/* validate that we do not go past end of acl */
|
||||
|
||||
if (le16_to_cpu(pace->size) < 16) {
|
||||
cERROR(1, ("ACE too small, %d", le16_to_cpu(pace->size)));
|
||||
cERROR(1, "ACE too small %d", le16_to_cpu(pace->size));
|
||||
return;
|
||||
}
|
||||
|
||||
if (end_of_acl < (char *)pace + le16_to_cpu(pace->size)) {
|
||||
cERROR(1, ("ACL too small to parse ACE"));
|
||||
cERROR(1, "ACL too small to parse ACE");
|
||||
return;
|
||||
}
|
||||
|
||||
num_subauth = pace->sid.num_subauth;
|
||||
if (num_subauth) {
|
||||
int i;
|
||||
cFYI(1, ("ACE revision %d num_auth %d type %d flags %d size %d",
|
||||
cFYI(1, "ACE revision %d num_auth %d type %d flags %d size %d",
|
||||
pace->sid.revision, pace->sid.num_subauth, pace->type,
|
||||
pace->flags, le16_to_cpu(pace->size)));
|
||||
pace->flags, le16_to_cpu(pace->size));
|
||||
for (i = 0; i < num_subauth; ++i) {
|
||||
cFYI(1, ("ACE sub_auth[%d]: 0x%x", i,
|
||||
le32_to_cpu(pace->sid.sub_auth[i])));
|
||||
cFYI(1, "ACE sub_auth[%d]: 0x%x", i,
|
||||
le32_to_cpu(pace->sid.sub_auth[i]));
|
||||
}
|
||||
|
||||
/* BB add length check to make sure that we do not have huge
|
||||
@@ -347,13 +347,13 @@ static void parse_dacl(struct cifs_acl *pdacl, char *end_of_acl,
|
||||
|
||||
/* validate that we do not go past end of acl */
|
||||
if (end_of_acl < (char *)pdacl + le16_to_cpu(pdacl->size)) {
|
||||
cERROR(1, ("ACL too small to parse DACL"));
|
||||
cERROR(1, "ACL too small to parse DACL");
|
||||
return;
|
||||
}
|
||||
|
||||
cFYI(DBG2, ("DACL revision %d size %d num aces %d",
|
||||
cFYI(DBG2, "DACL revision %d size %d num aces %d",
|
||||
le16_to_cpu(pdacl->revision), le16_to_cpu(pdacl->size),
|
||||
le32_to_cpu(pdacl->num_aces)));
|
||||
le32_to_cpu(pdacl->num_aces));
|
||||
|
||||
/* reset rwx permissions for user/group/other.
|
||||
Also, if num_aces is 0 i.e. DACL has no ACEs,
|
||||
@@ -437,25 +437,25 @@ static int parse_sid(struct cifs_sid *psid, char *end_of_acl)
|
||||
/* validate that we do not go past end of ACL - sid must be at least 8
|
||||
bytes long (assuming no sub-auths - e.g. the null SID */
|
||||
if (end_of_acl < (char *)psid + 8) {
|
||||
cERROR(1, ("ACL too small to parse SID %p", psid));
|
||||
cERROR(1, "ACL too small to parse SID %p", psid);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (psid->num_subauth) {
|
||||
#ifdef CONFIG_CIFS_DEBUG2
|
||||
int i;
|
||||
cFYI(1, ("SID revision %d num_auth %d",
|
||||
psid->revision, psid->num_subauth));
|
||||
cFYI(1, "SID revision %d num_auth %d",
|
||||
psid->revision, psid->num_subauth);
|
||||
|
||||
for (i = 0; i < psid->num_subauth; i++) {
|
||||
cFYI(1, ("SID sub_auth[%d]: 0x%x ", i,
|
||||
le32_to_cpu(psid->sub_auth[i])));
|
||||
cFYI(1, "SID sub_auth[%d]: 0x%x ", i,
|
||||
le32_to_cpu(psid->sub_auth[i]));
|
||||
}
|
||||
|
||||
/* BB add length check to make sure that we do not have huge
|
||||
num auths and therefore go off the end */
|
||||
cFYI(1, ("RID 0x%x",
|
||||
le32_to_cpu(psid->sub_auth[psid->num_subauth-1])));
|
||||
cFYI(1, "RID 0x%x",
|
||||
le32_to_cpu(psid->sub_auth[psid->num_subauth-1]));
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -482,11 +482,11 @@ static int parse_sec_desc(struct cifs_ntsd *pntsd, int acl_len,
|
||||
le32_to_cpu(pntsd->gsidoffset));
|
||||
dacloffset = le32_to_cpu(pntsd->dacloffset);
|
||||
dacl_ptr = (struct cifs_acl *)((char *)pntsd + dacloffset);
|
||||
cFYI(DBG2, ("revision %d type 0x%x ooffset 0x%x goffset 0x%x "
|
||||
cFYI(DBG2, "revision %d type 0x%x ooffset 0x%x goffset 0x%x "
|
||||
"sacloffset 0x%x dacloffset 0x%x",
|
||||
pntsd->revision, pntsd->type, le32_to_cpu(pntsd->osidoffset),
|
||||
le32_to_cpu(pntsd->gsidoffset),
|
||||
le32_to_cpu(pntsd->sacloffset), dacloffset));
|
||||
le32_to_cpu(pntsd->sacloffset), dacloffset);
|
||||
/* cifs_dump_mem("owner_sid: ", owner_sid_ptr, 64); */
|
||||
rc = parse_sid(owner_sid_ptr, end_of_acl);
|
||||
if (rc)
|
||||
@@ -500,7 +500,7 @@ static int parse_sec_desc(struct cifs_ntsd *pntsd, int acl_len,
|
||||
parse_dacl(dacl_ptr, end_of_acl, owner_sid_ptr,
|
||||
group_sid_ptr, fattr);
|
||||
else
|
||||
cFYI(1, ("no ACL")); /* BB grant all or default perms? */
|
||||
cFYI(1, "no ACL"); /* BB grant all or default perms? */
|
||||
|
||||
/* cifscred->uid = owner_sid_ptr->rid;
|
||||
cifscred->gid = group_sid_ptr->rid;
|
||||
@@ -563,7 +563,7 @@ static struct cifs_ntsd *get_cifs_acl_by_fid(struct cifs_sb_info *cifs_sb,
|
||||
FreeXid(xid);
|
||||
|
||||
|
||||
cFYI(1, ("GetCIFSACL rc = %d ACL len %d", rc, *pacllen));
|
||||
cFYI(1, "GetCIFSACL rc = %d ACL len %d", rc, *pacllen);
|
||||
return pntsd;
|
||||
}
|
||||
|
||||
@@ -581,12 +581,12 @@ static struct cifs_ntsd *get_cifs_acl_by_path(struct cifs_sb_info *cifs_sb,
|
||||
&fid, &oplock, NULL, cifs_sb->local_nls,
|
||||
cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MAP_SPECIAL_CHR);
|
||||
if (rc) {
|
||||
cERROR(1, ("Unable to open file to get ACL"));
|
||||
cERROR(1, "Unable to open file to get ACL");
|
||||
goto out;
|
||||
}
|
||||
|
||||
rc = CIFSSMBGetCIFSACL(xid, cifs_sb->tcon, fid, &pntsd, pacllen);
|
||||
cFYI(1, ("GetCIFSACL rc = %d ACL len %d", rc, *pacllen));
|
||||
cFYI(1, "GetCIFSACL rc = %d ACL len %d", rc, *pacllen);
|
||||
|
||||
CIFSSMBClose(xid, cifs_sb->tcon, fid);
|
||||
out:
|
||||
@@ -621,7 +621,7 @@ static int set_cifs_acl_by_fid(struct cifs_sb_info *cifs_sb, __u16 fid,
|
||||
rc = CIFSSMBSetCIFSACL(xid, cifs_sb->tcon, fid, pnntsd, acllen);
|
||||
FreeXid(xid);
|
||||
|
||||
cFYI(DBG2, ("SetCIFSACL rc = %d", rc));
|
||||
cFYI(DBG2, "SetCIFSACL rc = %d", rc);
|
||||
return rc;
|
||||
}
|
||||
|
||||
@@ -638,12 +638,12 @@ static int set_cifs_acl_by_path(struct cifs_sb_info *cifs_sb, const char *path,
|
||||
&fid, &oplock, NULL, cifs_sb->local_nls,
|
||||
cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MAP_SPECIAL_CHR);
|
||||
if (rc) {
|
||||
cERROR(1, ("Unable to open file to set ACL"));
|
||||
cERROR(1, "Unable to open file to set ACL");
|
||||
goto out;
|
||||
}
|
||||
|
||||
rc = CIFSSMBSetCIFSACL(xid, cifs_sb->tcon, fid, pnntsd, acllen);
|
||||
cFYI(DBG2, ("SetCIFSACL rc = %d", rc));
|
||||
cFYI(DBG2, "SetCIFSACL rc = %d", rc);
|
||||
|
||||
CIFSSMBClose(xid, cifs_sb->tcon, fid);
|
||||
out:
|
||||
@@ -659,7 +659,7 @@ static int set_cifs_acl(struct cifs_ntsd *pnntsd, __u32 acllen,
|
||||
struct cifsFileInfo *open_file;
|
||||
int rc;
|
||||
|
||||
cFYI(DBG2, ("set ACL for %s from mode 0x%x", path, inode->i_mode));
|
||||
cFYI(DBG2, "set ACL for %s from mode 0x%x", path, inode->i_mode);
|
||||
|
||||
open_file = find_readable_file(CIFS_I(inode));
|
||||
if (!open_file)
|
||||
@@ -679,7 +679,7 @@ cifs_acl_to_fattr(struct cifs_sb_info *cifs_sb, struct cifs_fattr *fattr,
|
||||
u32 acllen = 0;
|
||||
int rc = 0;
|
||||
|
||||
cFYI(DBG2, ("converting ACL to mode for %s", path));
|
||||
cFYI(DBG2, "converting ACL to mode for %s", path);
|
||||
|
||||
if (pfid)
|
||||
pntsd = get_cifs_acl_by_fid(cifs_sb, *pfid, &acllen);
|
||||
@@ -690,7 +690,7 @@ cifs_acl_to_fattr(struct cifs_sb_info *cifs_sb, struct cifs_fattr *fattr,
|
||||
if (pntsd)
|
||||
rc = parse_sec_desc(pntsd, acllen, fattr);
|
||||
if (rc)
|
||||
cFYI(1, ("parse sec desc failed rc = %d", rc));
|
||||
cFYI(1, "parse sec desc failed rc = %d", rc);
|
||||
|
||||
kfree(pntsd);
|
||||
return;
|
||||
@@ -704,7 +704,7 @@ int mode_to_acl(struct inode *inode, const char *path, __u64 nmode)
|
||||
struct cifs_ntsd *pntsd = NULL; /* acl obtained from server */
|
||||
struct cifs_ntsd *pnntsd = NULL; /* modified acl to be sent to server */
|
||||
|
||||
cFYI(DBG2, ("set ACL from mode for %s", path));
|
||||
cFYI(DBG2, "set ACL from mode for %s", path);
|
||||
|
||||
/* Get the security descriptor */
|
||||
pntsd = get_cifs_acl(CIFS_SB(inode->i_sb), inode, path, &secdesclen);
|
||||
@@ -721,19 +721,19 @@ int mode_to_acl(struct inode *inode, const char *path, __u64 nmode)
|
||||
DEFSECDESCLEN : secdesclen;
|
||||
pnntsd = kmalloc(secdesclen, GFP_KERNEL);
|
||||
if (!pnntsd) {
|
||||
cERROR(1, ("Unable to allocate security descriptor"));
|
||||
cERROR(1, "Unable to allocate security descriptor");
|
||||
kfree(pntsd);
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
rc = build_sec_desc(pntsd, pnntsd, inode, nmode);
|
||||
|
||||
cFYI(DBG2, ("build_sec_desc rc: %d", rc));
|
||||
cFYI(DBG2, "build_sec_desc rc: %d", rc);
|
||||
|
||||
if (!rc) {
|
||||
/* Set the security descriptor */
|
||||
rc = set_cifs_acl(pnntsd, secdesclen, inode, path);
|
||||
cFYI(DBG2, ("set_cifs_acl rc: %d", rc));
|
||||
cFYI(DBG2, "set_cifs_acl rc: %d", rc);
|
||||
}
|
||||
|
||||
kfree(pnntsd);
|
||||
|
||||
@@ -103,7 +103,7 @@ static int cifs_calc_signature2(const struct kvec *iov, int n_vec,
|
||||
if (iov[i].iov_len == 0)
|
||||
continue;
|
||||
if (iov[i].iov_base == NULL) {
|
||||
cERROR(1, ("null iovec entry"));
|
||||
cERROR(1, "null iovec entry");
|
||||
return -EIO;
|
||||
}
|
||||
/* The first entry includes a length field (which does not get
|
||||
@@ -181,8 +181,8 @@ int cifs_verify_signature(struct smb_hdr *cifs_pdu,
|
||||
|
||||
/* Do not need to verify session setups with signature "BSRSPYL " */
|
||||
if (memcmp(cifs_pdu->Signature.SecuritySignature, "BSRSPYL ", 8) == 0)
|
||||
cFYI(1, ("dummy signature received for smb command 0x%x",
|
||||
cifs_pdu->Command));
|
||||
cFYI(1, "dummy signature received for smb command 0x%x",
|
||||
cifs_pdu->Command);
|
||||
|
||||
/* save off the origiginal signature so we can modify the smb and check
|
||||
its signature against what the server sent */
|
||||
@@ -398,7 +398,7 @@ void setup_ntlmv2_rsp(struct cifsSesInfo *ses, char *resp_buf,
|
||||
/* calculate buf->ntlmv2_hash */
|
||||
rc = calc_ntlmv2_hash(ses, nls_cp);
|
||||
if (rc)
|
||||
cERROR(1, ("could not get v2 hash rc %d", rc));
|
||||
cERROR(1, "could not get v2 hash rc %d", rc);
|
||||
CalcNTLMv2_response(ses, resp_buf);
|
||||
|
||||
/* now calculate the MAC key for NTLMv2 */
|
||||
|
||||
+18
-19
@@ -128,8 +128,7 @@ cifs_read_super(struct super_block *sb, void *data,
|
||||
|
||||
if (rc) {
|
||||
if (!silent)
|
||||
cERROR(1,
|
||||
("cifs_mount failed w/return code = %d", rc));
|
||||
cERROR(1, "cifs_mount failed w/return code = %d", rc);
|
||||
goto out_mount_failed;
|
||||
}
|
||||
|
||||
@@ -160,7 +159,7 @@ cifs_read_super(struct super_block *sb, void *data,
|
||||
|
||||
#ifdef CONFIG_CIFS_EXPERIMENTAL
|
||||
if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_SERVER_INUM) {
|
||||
cFYI(1, ("export ops supported"));
|
||||
cFYI(1, "export ops supported");
|
||||
sb->s_export_op = &cifs_export_ops;
|
||||
}
|
||||
#endif /* EXPERIMENTAL */
|
||||
@@ -168,7 +167,7 @@ cifs_read_super(struct super_block *sb, void *data,
|
||||
return 0;
|
||||
|
||||
out_no_root:
|
||||
cERROR(1, ("cifs_read_super: get root inode failed"));
|
||||
cERROR(1, "cifs_read_super: get root inode failed");
|
||||
if (inode)
|
||||
iput(inode);
|
||||
|
||||
@@ -194,10 +193,10 @@ cifs_put_super(struct super_block *sb)
|
||||
int rc = 0;
|
||||
struct cifs_sb_info *cifs_sb;
|
||||
|
||||
cFYI(1, ("In cifs_put_super"));
|
||||
cFYI(1, "In cifs_put_super");
|
||||
cifs_sb = CIFS_SB(sb);
|
||||
if (cifs_sb == NULL) {
|
||||
cFYI(1, ("Empty cifs superblock info passed to unmount"));
|
||||
cFYI(1, "Empty cifs superblock info passed to unmount");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -205,7 +204,7 @@ cifs_put_super(struct super_block *sb)
|
||||
|
||||
rc = cifs_umount(sb, cifs_sb);
|
||||
if (rc)
|
||||
cERROR(1, ("cifs_umount failed with return code %d", rc));
|
||||
cERROR(1, "cifs_umount failed with return code %d", rc);
|
||||
#ifdef CONFIG_CIFS_DFS_UPCALL
|
||||
if (cifs_sb->mountdata) {
|
||||
kfree(cifs_sb->mountdata);
|
||||
@@ -439,7 +438,7 @@ int cifs_xquota_set(struct super_block *sb, int quota_type, qid_t qid,
|
||||
|
||||
xid = GetXid();
|
||||
if (pTcon) {
|
||||
cFYI(1, ("set type: 0x%x id: %d", quota_type, qid));
|
||||
cFYI(1, "set type: 0x%x id: %d", quota_type, qid);
|
||||
} else
|
||||
rc = -EIO;
|
||||
|
||||
@@ -462,7 +461,7 @@ int cifs_xquota_get(struct super_block *sb, int quota_type, qid_t qid,
|
||||
|
||||
xid = GetXid();
|
||||
if (pTcon) {
|
||||
cFYI(1, ("set type: 0x%x id: %d", quota_type, qid));
|
||||
cFYI(1, "set type: 0x%x id: %d", quota_type, qid);
|
||||
} else
|
||||
rc = -EIO;
|
||||
|
||||
@@ -484,7 +483,7 @@ int cifs_xstate_set(struct super_block *sb, unsigned int flags, int operation)
|
||||
|
||||
xid = GetXid();
|
||||
if (pTcon) {
|
||||
cFYI(1, ("flags: 0x%x operation: 0x%x", flags, operation));
|
||||
cFYI(1, "flags: 0x%x operation: 0x%x", flags, operation);
|
||||
} else
|
||||
rc = -EIO;
|
||||
|
||||
@@ -506,7 +505,7 @@ int cifs_xstate_get(struct super_block *sb, struct fs_quota_stat *qstats)
|
||||
|
||||
xid = GetXid();
|
||||
if (pTcon) {
|
||||
cFYI(1, ("pqstats %p", qstats));
|
||||
cFYI(1, "pqstats %p", qstats);
|
||||
} else
|
||||
rc = -EIO;
|
||||
|
||||
@@ -548,7 +547,7 @@ static void cifs_umount_begin(struct super_block *sb)
|
||||
/* cancel_brl_requests(tcon); */ /* BB mark all brl mids as exiting */
|
||||
/* cancel_notify_requests(tcon); */
|
||||
if (tcon->ses && tcon->ses->server) {
|
||||
cFYI(1, ("wake up tasks now - umount begin not complete"));
|
||||
cFYI(1, "wake up tasks now - umount begin not complete");
|
||||
wake_up_all(&tcon->ses->server->request_q);
|
||||
wake_up_all(&tcon->ses->server->response_q);
|
||||
msleep(1); /* yield */
|
||||
@@ -599,7 +598,7 @@ cifs_get_sb(struct file_system_type *fs_type,
|
||||
int rc;
|
||||
struct super_block *sb = sget(fs_type, NULL, set_anon_super, NULL);
|
||||
|
||||
cFYI(1, ("Devname: %s flags: %d ", dev_name, flags));
|
||||
cFYI(1, "Devname: %s flags: %d ", dev_name, flags);
|
||||
|
||||
if (IS_ERR(sb))
|
||||
return PTR_ERR(sb);
|
||||
@@ -868,7 +867,7 @@ cifs_init_request_bufs(void)
|
||||
} else {
|
||||
CIFSMaxBufSize &= 0x1FE00; /* Round size to even 512 byte mult*/
|
||||
}
|
||||
/* cERROR(1,("CIFSMaxBufSize %d 0x%x",CIFSMaxBufSize,CIFSMaxBufSize)); */
|
||||
/* cERROR(1, "CIFSMaxBufSize %d 0x%x",CIFSMaxBufSize,CIFSMaxBufSize); */
|
||||
cifs_req_cachep = kmem_cache_create("cifs_request",
|
||||
CIFSMaxBufSize +
|
||||
MAX_CIFS_HDR_SIZE, 0,
|
||||
@@ -880,7 +879,7 @@ cifs_init_request_bufs(void)
|
||||
cifs_min_rcv = 1;
|
||||
else if (cifs_min_rcv > 64) {
|
||||
cifs_min_rcv = 64;
|
||||
cERROR(1, ("cifs_min_rcv set to maximum (64)"));
|
||||
cERROR(1, "cifs_min_rcv set to maximum (64)");
|
||||
}
|
||||
|
||||
cifs_req_poolp = mempool_create_slab_pool(cifs_min_rcv,
|
||||
@@ -911,7 +910,7 @@ cifs_init_request_bufs(void)
|
||||
cifs_min_small = 2;
|
||||
else if (cifs_min_small > 256) {
|
||||
cifs_min_small = 256;
|
||||
cFYI(1, ("cifs_min_small set to maximum (256)"));
|
||||
cFYI(1, "cifs_min_small set to maximum (256)");
|
||||
}
|
||||
|
||||
cifs_sm_req_poolp = mempool_create_slab_pool(cifs_min_small,
|
||||
@@ -1009,10 +1008,10 @@ init_cifs(void)
|
||||
|
||||
if (cifs_max_pending < 2) {
|
||||
cifs_max_pending = 2;
|
||||
cFYI(1, ("cifs_max_pending set to min of 2"));
|
||||
cFYI(1, "cifs_max_pending set to min of 2");
|
||||
} else if (cifs_max_pending > 256) {
|
||||
cifs_max_pending = 256;
|
||||
cFYI(1, ("cifs_max_pending set to max of 256"));
|
||||
cFYI(1, "cifs_max_pending set to max of 256");
|
||||
}
|
||||
|
||||
rc = cifs_init_inodecache();
|
||||
@@ -1070,7 +1069,7 @@ init_cifs(void)
|
||||
static void __exit
|
||||
exit_cifs(void)
|
||||
{
|
||||
cFYI(DBG2, ("exit_cifs"));
|
||||
cFYI(DBG2, "exit_cifs");
|
||||
cifs_proc_clean();
|
||||
#ifdef CONFIG_CIFS_DFS_UPCALL
|
||||
cifs_dfs_release_automount_timer();
|
||||
|
||||
+14
-2
@@ -39,8 +39,20 @@ extern int smb_send(struct TCP_Server_Info *, struct smb_hdr *,
|
||||
unsigned int /* length */);
|
||||
extern unsigned int _GetXid(void);
|
||||
extern void _FreeXid(unsigned int);
|
||||
#define GetXid() (int)_GetXid(); cFYI(1,("CIFS VFS: in %s as Xid: %d with uid: %d",__func__, xid,current_fsuid()));
|
||||
#define FreeXid(curr_xid) {_FreeXid(curr_xid); cFYI(1,("CIFS VFS: leaving %s (xid = %d) rc = %d",__func__,curr_xid,(int)rc));}
|
||||
#define GetXid() \
|
||||
({ \
|
||||
int __xid = (int)_GetXid(); \
|
||||
cFYI(1, "CIFS VFS: in %s as Xid: %d with uid: %d", \
|
||||
__func__, __xid, current_fsuid()); \
|
||||
__xid; \
|
||||
})
|
||||
|
||||
#define FreeXid(curr_xid) \
|
||||
do { \
|
||||
_FreeXid(curr_xid); \
|
||||
cFYI(1, "CIFS VFS: leaving %s (xid = %d) rc = %d", \
|
||||
__func__, curr_xid, (int)rc); \
|
||||
} while (0)
|
||||
extern char *build_path_from_dentry(struct dentry *);
|
||||
extern char *cifs_build_path_to_root(struct cifs_sb_info *cifs_sb);
|
||||
extern char *build_wildcard_path_from_dentry(struct dentry *direntry);
|
||||
|
||||
+194
-199
File diff suppressed because it is too large
Load Diff
+125
-129
File diff suppressed because it is too large
Load Diff
+21
-22
@@ -73,7 +73,7 @@ cifs_bp_rename_retry:
|
||||
namelen += (1 + temp->d_name.len);
|
||||
temp = temp->d_parent;
|
||||
if (temp == NULL) {
|
||||
cERROR(1, ("corrupt dentry"));
|
||||
cERROR(1, "corrupt dentry");
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
@@ -90,19 +90,18 @@ cifs_bp_rename_retry:
|
||||
full_path[namelen] = dirsep;
|
||||
strncpy(full_path + namelen + 1, temp->d_name.name,
|
||||
temp->d_name.len);
|
||||
cFYI(0, ("name: %s", full_path + namelen));
|
||||
cFYI(0, "name: %s", full_path + namelen);
|
||||
}
|
||||
temp = temp->d_parent;
|
||||
if (temp == NULL) {
|
||||
cERROR(1, ("corrupt dentry"));
|
||||
cERROR(1, "corrupt dentry");
|
||||
kfree(full_path);
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
if (namelen != pplen + dfsplen) {
|
||||
cERROR(1,
|
||||
("did not end path lookup where expected namelen is %d",
|
||||
namelen));
|
||||
cERROR(1, "did not end path lookup where expected namelen is %d",
|
||||
namelen);
|
||||
/* presumably this is only possible if racing with a rename
|
||||
of one of the parent directories (we can not lock the dentries
|
||||
above us to prevent this, but retrying should be harmless) */
|
||||
@@ -173,7 +172,7 @@ cifs_new_fileinfo(struct inode *newinode, __u16 fileHandle,
|
||||
if ((oplock & 0xF) == OPLOCK_EXCLUSIVE) {
|
||||
pCifsInode->clientCanCacheAll = true;
|
||||
pCifsInode->clientCanCacheRead = true;
|
||||
cFYI(1, ("Exclusive Oplock inode %p", newinode));
|
||||
cFYI(1, "Exclusive Oplock inode %p", newinode);
|
||||
} else if ((oplock & 0xF) == OPLOCK_READ)
|
||||
pCifsInode->clientCanCacheRead = true;
|
||||
}
|
||||
@@ -192,7 +191,7 @@ int cifs_posix_open(char *full_path, struct inode **pinode,
|
||||
struct cifs_sb_info *cifs_sb = CIFS_SB(mnt->mnt_sb);
|
||||
struct cifs_fattr fattr;
|
||||
|
||||
cFYI(1, ("posix open %s", full_path));
|
||||
cFYI(1, "posix open %s", full_path);
|
||||
|
||||
presp_data = kzalloc(sizeof(FILE_UNIX_BASIC_INFO), GFP_KERNEL);
|
||||
if (presp_data == NULL)
|
||||
@@ -358,7 +357,7 @@ cifs_create(struct inode *inode, struct dentry *direntry, int mode,
|
||||
else if ((oflags & O_CREAT) == O_CREAT)
|
||||
disposition = FILE_OPEN_IF;
|
||||
else
|
||||
cFYI(1, ("Create flag not set in create function"));
|
||||
cFYI(1, "Create flag not set in create function");
|
||||
}
|
||||
|
||||
/* BB add processing to set equivalent of mode - e.g. via CreateX with
|
||||
@@ -394,7 +393,7 @@ cifs_create(struct inode *inode, struct dentry *direntry, int mode,
|
||||
cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MAP_SPECIAL_CHR);
|
||||
}
|
||||
if (rc) {
|
||||
cFYI(1, ("cifs_create returned 0x%x", rc));
|
||||
cFYI(1, "cifs_create returned 0x%x", rc);
|
||||
goto cifs_create_out;
|
||||
}
|
||||
|
||||
@@ -457,7 +456,7 @@ cifs_create_set_dentry:
|
||||
if (rc == 0)
|
||||
setup_cifs_dentry(tcon, direntry, newinode);
|
||||
else
|
||||
cFYI(1, ("Create worked, get_inode_info failed rc = %d", rc));
|
||||
cFYI(1, "Create worked, get_inode_info failed rc = %d", rc);
|
||||
|
||||
/* nfsd case - nfs srv does not set nd */
|
||||
if ((nd == NULL) || (!(nd->flags & LOOKUP_OPEN))) {
|
||||
@@ -531,7 +530,7 @@ int cifs_mknod(struct inode *inode, struct dentry *direntry, int mode,
|
||||
u16 fileHandle;
|
||||
FILE_ALL_INFO *buf;
|
||||
|
||||
cFYI(1, ("sfu compat create special file"));
|
||||
cFYI(1, "sfu compat create special file");
|
||||
|
||||
buf = kmalloc(sizeof(FILE_ALL_INFO), GFP_KERNEL);
|
||||
if (buf == NULL) {
|
||||
@@ -616,8 +615,8 @@ cifs_lookup(struct inode *parent_dir_inode, struct dentry *direntry,
|
||||
|
||||
xid = GetXid();
|
||||
|
||||
cFYI(1, ("parent inode = 0x%p name is: %s and dentry = 0x%p",
|
||||
parent_dir_inode, direntry->d_name.name, direntry));
|
||||
cFYI(1, "parent inode = 0x%p name is: %s and dentry = 0x%p",
|
||||
parent_dir_inode, direntry->d_name.name, direntry);
|
||||
|
||||
/* check whether path exists */
|
||||
|
||||
@@ -632,7 +631,7 @@ cifs_lookup(struct inode *parent_dir_inode, struct dentry *direntry,
|
||||
int i;
|
||||
for (i = 0; i < direntry->d_name.len; i++)
|
||||
if (direntry->d_name.name[i] == '\\') {
|
||||
cFYI(1, ("Invalid file name"));
|
||||
cFYI(1, "Invalid file name");
|
||||
FreeXid(xid);
|
||||
return ERR_PTR(-EINVAL);
|
||||
}
|
||||
@@ -657,11 +656,11 @@ cifs_lookup(struct inode *parent_dir_inode, struct dentry *direntry,
|
||||
}
|
||||
|
||||
if (direntry->d_inode != NULL) {
|
||||
cFYI(1, ("non-NULL inode in lookup"));
|
||||
cFYI(1, "non-NULL inode in lookup");
|
||||
} else {
|
||||
cFYI(1, ("NULL inode in lookup"));
|
||||
cFYI(1, "NULL inode in lookup");
|
||||
}
|
||||
cFYI(1, ("Full path: %s inode = 0x%p", full_path, direntry->d_inode));
|
||||
cFYI(1, "Full path: %s inode = 0x%p", full_path, direntry->d_inode);
|
||||
|
||||
/* Posix open is only called (at lookup time) for file create now.
|
||||
* For opens (rather than creates), because we do not know if it
|
||||
@@ -723,7 +722,7 @@ cifs_lookup(struct inode *parent_dir_inode, struct dentry *direntry,
|
||||
/* if it was once a directory (but how can we tell?) we could do
|
||||
shrink_dcache_parent(direntry); */
|
||||
} else if (rc != -EACCES) {
|
||||
cERROR(1, ("Unexpected lookup error %d", rc));
|
||||
cERROR(1, "Unexpected lookup error %d", rc);
|
||||
/* We special case check for Access Denied - since that
|
||||
is a common return code */
|
||||
}
|
||||
@@ -742,8 +741,8 @@ cifs_d_revalidate(struct dentry *direntry, struct nameidata *nd)
|
||||
if (cifs_revalidate_dentry(direntry))
|
||||
return 0;
|
||||
} else {
|
||||
cFYI(1, ("neg dentry 0x%p name = %s",
|
||||
direntry, direntry->d_name.name));
|
||||
cFYI(1, "neg dentry 0x%p name = %s",
|
||||
direntry, direntry->d_name.name);
|
||||
if (time_after(jiffies, direntry->d_time + HZ) ||
|
||||
!lookupCacheEnabled) {
|
||||
d_drop(direntry);
|
||||
@@ -758,7 +757,7 @@ cifs_d_revalidate(struct dentry *direntry, struct nameidata *nd)
|
||||
{
|
||||
int rc = 0;
|
||||
|
||||
cFYI(1, ("In cifs d_delete, name = %s", direntry->d_name.name));
|
||||
cFYI(1, "In cifs d_delete, name = %s", direntry->d_name.name);
|
||||
|
||||
return rc;
|
||||
} */
|
||||
|
||||
@@ -106,14 +106,14 @@ dns_resolve_server_name_to_ip(const char *unc, char **ip_addr)
|
||||
/* search for server name delimiter */
|
||||
len = strlen(unc);
|
||||
if (len < 3) {
|
||||
cFYI(1, ("%s: unc is too short: %s", __func__, unc));
|
||||
cFYI(1, "%s: unc is too short: %s", __func__, unc);
|
||||
return -EINVAL;
|
||||
}
|
||||
len -= 2;
|
||||
name = memchr(unc+2, '\\', len);
|
||||
if (!name) {
|
||||
cFYI(1, ("%s: probably server name is whole unc: %s",
|
||||
__func__, unc));
|
||||
cFYI(1, "%s: probably server name is whole unc: %s",
|
||||
__func__, unc);
|
||||
} else {
|
||||
len = (name - unc) - 2/* leading // */;
|
||||
}
|
||||
@@ -127,8 +127,8 @@ dns_resolve_server_name_to_ip(const char *unc, char **ip_addr)
|
||||
name[len] = 0;
|
||||
|
||||
if (is_ip(name)) {
|
||||
cFYI(1, ("%s: it is IP, skipping dns upcall: %s",
|
||||
__func__, name));
|
||||
cFYI(1, "%s: it is IP, skipping dns upcall: %s",
|
||||
__func__, name);
|
||||
data = name;
|
||||
goto skip_upcall;
|
||||
}
|
||||
@@ -138,7 +138,7 @@ dns_resolve_server_name_to_ip(const char *unc, char **ip_addr)
|
||||
len = rkey->type_data.x[0];
|
||||
data = rkey->payload.data;
|
||||
} else {
|
||||
cERROR(1, ("%s: unable to resolve: %s", __func__, name));
|
||||
cERROR(1, "%s: unable to resolve: %s", __func__, name);
|
||||
goto out;
|
||||
}
|
||||
|
||||
@@ -148,10 +148,10 @@ skip_upcall:
|
||||
if (*ip_addr) {
|
||||
memcpy(*ip_addr, data, len + 1);
|
||||
if (!IS_ERR(rkey))
|
||||
cFYI(1, ("%s: resolved: %s to %s", __func__,
|
||||
cFYI(1, "%s: resolved: %s to %s", __func__,
|
||||
name,
|
||||
*ip_addr
|
||||
));
|
||||
);
|
||||
rc = 0;
|
||||
} else {
|
||||
rc = -ENOMEM;
|
||||
|
||||
+1
-1
@@ -49,7 +49,7 @@
|
||||
static struct dentry *cifs_get_parent(struct dentry *dentry)
|
||||
{
|
||||
/* BB need to add code here eventually to enable export via NFSD */
|
||||
cFYI(1, ("get parent for %p", dentry));
|
||||
cFYI(1, "get parent for %p", dentry);
|
||||
return ERR_PTR(-EACCES);
|
||||
}
|
||||
|
||||
|
||||
+85
-87
File diff suppressed because it is too large
Load Diff
+41
-41
@@ -144,8 +144,8 @@ cifs_fattr_to_inode(struct inode *inode, struct cifs_fattr *fattr)
|
||||
else
|
||||
cifs_i->time = jiffies;
|
||||
|
||||
cFYI(1, ("inode 0x%p old_time=%ld new_time=%ld", inode,
|
||||
oldtime, cifs_i->time));
|
||||
cFYI(1, "inode 0x%p old_time=%ld new_time=%ld", inode,
|
||||
oldtime, cifs_i->time);
|
||||
|
||||
cifs_i->delete_pending = fattr->cf_flags & CIFS_FATTR_DELETE_PENDING;
|
||||
|
||||
@@ -227,7 +227,7 @@ cifs_unix_basic_to_fattr(struct cifs_fattr *fattr, FILE_UNIX_BASIC_INFO *info,
|
||||
/* safest to call it a file if we do not know */
|
||||
fattr->cf_mode |= S_IFREG;
|
||||
fattr->cf_dtype = DT_REG;
|
||||
cFYI(1, ("unknown type %d", le32_to_cpu(info->Type)));
|
||||
cFYI(1, "unknown type %d", le32_to_cpu(info->Type));
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -256,7 +256,7 @@ cifs_create_dfs_fattr(struct cifs_fattr *fattr, struct super_block *sb)
|
||||
{
|
||||
struct cifs_sb_info *cifs_sb = CIFS_SB(sb);
|
||||
|
||||
cFYI(1, ("creating fake fattr for DFS referral"));
|
||||
cFYI(1, "creating fake fattr for DFS referral");
|
||||
|
||||
memset(fattr, 0, sizeof(*fattr));
|
||||
fattr->cf_mode = S_IFDIR | S_IXUGO | S_IRWXU;
|
||||
@@ -305,7 +305,7 @@ int cifs_get_inode_info_unix(struct inode **pinode,
|
||||
struct cifs_sb_info *cifs_sb = CIFS_SB(sb);
|
||||
|
||||
tcon = cifs_sb->tcon;
|
||||
cFYI(1, ("Getting info on %s", full_path));
|
||||
cFYI(1, "Getting info on %s", full_path);
|
||||
|
||||
/* could have done a find first instead but this returns more info */
|
||||
rc = CIFSSMBUnixQPathInfo(xid, tcon, full_path, &find_data,
|
||||
@@ -373,7 +373,7 @@ cifs_sfu_type(struct cifs_fattr *fattr, const unsigned char *path,
|
||||
&bytes_read, &pbuf, &buf_type);
|
||||
if ((rc == 0) && (bytes_read >= 8)) {
|
||||
if (memcmp("IntxBLK", pbuf, 8) == 0) {
|
||||
cFYI(1, ("Block device"));
|
||||
cFYI(1, "Block device");
|
||||
fattr->cf_mode |= S_IFBLK;
|
||||
fattr->cf_dtype = DT_BLK;
|
||||
if (bytes_read == 24) {
|
||||
@@ -385,7 +385,7 @@ cifs_sfu_type(struct cifs_fattr *fattr, const unsigned char *path,
|
||||
fattr->cf_rdev = MKDEV(mjr, mnr);
|
||||
}
|
||||
} else if (memcmp("IntxCHR", pbuf, 8) == 0) {
|
||||
cFYI(1, ("Char device"));
|
||||
cFYI(1, "Char device");
|
||||
fattr->cf_mode |= S_IFCHR;
|
||||
fattr->cf_dtype = DT_CHR;
|
||||
if (bytes_read == 24) {
|
||||
@@ -397,7 +397,7 @@ cifs_sfu_type(struct cifs_fattr *fattr, const unsigned char *path,
|
||||
fattr->cf_rdev = MKDEV(mjr, mnr);
|
||||
}
|
||||
} else if (memcmp("IntxLNK", pbuf, 7) == 0) {
|
||||
cFYI(1, ("Symlink"));
|
||||
cFYI(1, "Symlink");
|
||||
fattr->cf_mode |= S_IFLNK;
|
||||
fattr->cf_dtype = DT_LNK;
|
||||
} else {
|
||||
@@ -439,10 +439,10 @@ static int cifs_sfu_mode(struct cifs_fattr *fattr, const unsigned char *path,
|
||||
else if (rc > 3) {
|
||||
mode = le32_to_cpu(*((__le32 *)ea_value));
|
||||
fattr->cf_mode &= ~SFBITS_MASK;
|
||||
cFYI(1, ("special bits 0%o org mode 0%o", mode,
|
||||
fattr->cf_mode));
|
||||
cFYI(1, "special bits 0%o org mode 0%o", mode,
|
||||
fattr->cf_mode);
|
||||
fattr->cf_mode = (mode & SFBITS_MASK) | fattr->cf_mode;
|
||||
cFYI(1, ("special mode bits 0%o", mode));
|
||||
cFYI(1, "special mode bits 0%o", mode);
|
||||
}
|
||||
|
||||
return 0;
|
||||
@@ -548,11 +548,11 @@ int cifs_get_inode_info(struct inode **pinode,
|
||||
struct cifs_fattr fattr;
|
||||
|
||||
pTcon = cifs_sb->tcon;
|
||||
cFYI(1, ("Getting info on %s", full_path));
|
||||
cFYI(1, "Getting info on %s", full_path);
|
||||
|
||||
if ((pfindData == NULL) && (*pinode != NULL)) {
|
||||
if (CIFS_I(*pinode)->clientCanCacheRead) {
|
||||
cFYI(1, ("No need to revalidate cached inode sizes"));
|
||||
cFYI(1, "No need to revalidate cached inode sizes");
|
||||
return rc;
|
||||
}
|
||||
}
|
||||
@@ -618,7 +618,7 @@ int cifs_get_inode_info(struct inode **pinode,
|
||||
cifs_sb->mnt_cifs_flags &
|
||||
CIFS_MOUNT_MAP_SPECIAL_CHR);
|
||||
if (rc1 || !fattr.cf_uniqueid) {
|
||||
cFYI(1, ("GetSrvInodeNum rc %d", rc1));
|
||||
cFYI(1, "GetSrvInodeNum rc %d", rc1);
|
||||
fattr.cf_uniqueid = iunique(sb, ROOT_I);
|
||||
cifs_autodisable_serverino(cifs_sb);
|
||||
}
|
||||
@@ -634,13 +634,13 @@ int cifs_get_inode_info(struct inode **pinode,
|
||||
cifs_sb->mnt_cifs_flags & CIFS_MOUNT_UNX_EMUL) {
|
||||
tmprc = cifs_sfu_type(&fattr, full_path, cifs_sb, xid);
|
||||
if (tmprc)
|
||||
cFYI(1, ("cifs_sfu_type failed: %d", tmprc));
|
||||
cFYI(1, "cifs_sfu_type failed: %d", tmprc);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_CIFS_EXPERIMENTAL
|
||||
/* fill in 0777 bits from ACL */
|
||||
if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_CIFS_ACL) {
|
||||
cFYI(1, ("Getting mode bits from ACL"));
|
||||
cFYI(1, "Getting mode bits from ACL");
|
||||
cifs_acl_to_fattr(cifs_sb, &fattr, *pinode, full_path, pfid);
|
||||
}
|
||||
#endif
|
||||
@@ -734,7 +734,7 @@ cifs_iget(struct super_block *sb, struct cifs_fattr *fattr)
|
||||
unsigned long hash;
|
||||
struct inode *inode;
|
||||
|
||||
cFYI(1, ("looking for uniqueid=%llu", fattr->cf_uniqueid));
|
||||
cFYI(1, "looking for uniqueid=%llu", fattr->cf_uniqueid);
|
||||
|
||||
/* hash down to 32-bits on 32-bit arch */
|
||||
hash = cifs_uniqueid_to_ino_t(fattr->cf_uniqueid);
|
||||
@@ -780,7 +780,7 @@ struct inode *cifs_root_iget(struct super_block *sb, unsigned long ino)
|
||||
return ERR_PTR(-ENOMEM);
|
||||
|
||||
if (rc && cifs_sb->tcon->ipc) {
|
||||
cFYI(1, ("ipc connection - fake read inode"));
|
||||
cFYI(1, "ipc connection - fake read inode");
|
||||
inode->i_mode |= S_IFDIR;
|
||||
inode->i_nlink = 2;
|
||||
inode->i_op = &cifs_ipc_inode_ops;
|
||||
@@ -842,7 +842,7 @@ cifs_set_file_info(struct inode *inode, struct iattr *attrs, int xid,
|
||||
* server times.
|
||||
*/
|
||||
if (set_time && (attrs->ia_valid & ATTR_CTIME)) {
|
||||
cFYI(1, ("CIFS - CTIME changed"));
|
||||
cFYI(1, "CIFS - CTIME changed");
|
||||
info_buf.ChangeTime =
|
||||
cpu_to_le64(cifs_UnixTimeToNT(attrs->ia_ctime));
|
||||
} else
|
||||
@@ -877,8 +877,8 @@ cifs_set_file_info(struct inode *inode, struct iattr *attrs, int xid,
|
||||
goto out;
|
||||
}
|
||||
|
||||
cFYI(1, ("calling SetFileInfo since SetPathInfo for "
|
||||
"times not supported by this server"));
|
||||
cFYI(1, "calling SetFileInfo since SetPathInfo for "
|
||||
"times not supported by this server");
|
||||
rc = CIFSSMBOpen(xid, pTcon, full_path, FILE_OPEN,
|
||||
SYNCHRONIZE | FILE_WRITE_ATTRIBUTES,
|
||||
CREATE_NOT_DIR, &netfid, &oplock,
|
||||
@@ -1036,7 +1036,7 @@ int cifs_unlink(struct inode *dir, struct dentry *dentry)
|
||||
struct iattr *attrs = NULL;
|
||||
__u32 dosattr = 0, origattr = 0;
|
||||
|
||||
cFYI(1, ("cifs_unlink, dir=0x%p, dentry=0x%p", dir, dentry));
|
||||
cFYI(1, "cifs_unlink, dir=0x%p, dentry=0x%p", dir, dentry);
|
||||
|
||||
xid = GetXid();
|
||||
|
||||
@@ -1055,7 +1055,7 @@ int cifs_unlink(struct inode *dir, struct dentry *dentry)
|
||||
rc = CIFSPOSIXDelFile(xid, tcon, full_path,
|
||||
SMB_POSIX_UNLINK_FILE_TARGET, cifs_sb->local_nls,
|
||||
cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MAP_SPECIAL_CHR);
|
||||
cFYI(1, ("posix del rc %d", rc));
|
||||
cFYI(1, "posix del rc %d", rc);
|
||||
if ((rc == 0) || (rc == -ENOENT))
|
||||
goto psx_del_no_retry;
|
||||
}
|
||||
@@ -1129,7 +1129,7 @@ int cifs_mkdir(struct inode *inode, struct dentry *direntry, int mode)
|
||||
struct inode *newinode = NULL;
|
||||
struct cifs_fattr fattr;
|
||||
|
||||
cFYI(1, ("In cifs_mkdir, mode = 0x%x inode = 0x%p", mode, inode));
|
||||
cFYI(1, "In cifs_mkdir, mode = 0x%x inode = 0x%p", mode, inode);
|
||||
|
||||
xid = GetXid();
|
||||
|
||||
@@ -1164,7 +1164,7 @@ int cifs_mkdir(struct inode *inode, struct dentry *direntry, int mode)
|
||||
kfree(pInfo);
|
||||
goto mkdir_retry_old;
|
||||
} else if (rc) {
|
||||
cFYI(1, ("posix mkdir returned 0x%x", rc));
|
||||
cFYI(1, "posix mkdir returned 0x%x", rc);
|
||||
d_drop(direntry);
|
||||
} else {
|
||||
if (pInfo->Type == cpu_to_le32(-1)) {
|
||||
@@ -1190,12 +1190,12 @@ int cifs_mkdir(struct inode *inode, struct dentry *direntry, int mode)
|
||||
d_instantiate(direntry, newinode);
|
||||
|
||||
#ifdef CONFIG_CIFS_DEBUG2
|
||||
cFYI(1, ("instantiated dentry %p %s to inode %p",
|
||||
direntry, direntry->d_name.name, newinode));
|
||||
cFYI(1, "instantiated dentry %p %s to inode %p",
|
||||
direntry, direntry->d_name.name, newinode);
|
||||
|
||||
if (newinode->i_nlink != 2)
|
||||
cFYI(1, ("unexpected number of links %d",
|
||||
newinode->i_nlink));
|
||||
cFYI(1, "unexpected number of links %d",
|
||||
newinode->i_nlink);
|
||||
#endif
|
||||
}
|
||||
kfree(pInfo);
|
||||
@@ -1206,7 +1206,7 @@ mkdir_retry_old:
|
||||
rc = CIFSSMBMkDir(xid, pTcon, full_path, cifs_sb->local_nls,
|
||||
cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MAP_SPECIAL_CHR);
|
||||
if (rc) {
|
||||
cFYI(1, ("cifs_mkdir returned 0x%x", rc));
|
||||
cFYI(1, "cifs_mkdir returned 0x%x", rc);
|
||||
d_drop(direntry);
|
||||
} else {
|
||||
mkdir_get_info:
|
||||
@@ -1309,7 +1309,7 @@ int cifs_rmdir(struct inode *inode, struct dentry *direntry)
|
||||
char *full_path = NULL;
|
||||
struct cifsInodeInfo *cifsInode;
|
||||
|
||||
cFYI(1, ("cifs_rmdir, inode = 0x%p", inode));
|
||||
cFYI(1, "cifs_rmdir, inode = 0x%p", inode);
|
||||
|
||||
xid = GetXid();
|
||||
|
||||
@@ -1673,12 +1673,12 @@ cifs_set_file_size(struct inode *inode, struct iattr *attrs,
|
||||
rc = CIFSSMBSetFileSize(xid, pTcon, attrs->ia_size, nfid,
|
||||
npid, false);
|
||||
cifsFileInfo_put(open_file);
|
||||
cFYI(1, ("SetFSize for attrs rc = %d", rc));
|
||||
cFYI(1, "SetFSize for attrs rc = %d", rc);
|
||||
if ((rc == -EINVAL) || (rc == -EOPNOTSUPP)) {
|
||||
unsigned int bytes_written;
|
||||
rc = CIFSSMBWrite(xid, pTcon, nfid, 0, attrs->ia_size,
|
||||
&bytes_written, NULL, NULL, 1);
|
||||
cFYI(1, ("Wrt seteof rc %d", rc));
|
||||
cFYI(1, "Wrt seteof rc %d", rc);
|
||||
}
|
||||
} else
|
||||
rc = -EINVAL;
|
||||
@@ -1692,7 +1692,7 @@ cifs_set_file_size(struct inode *inode, struct iattr *attrs,
|
||||
false, cifs_sb->local_nls,
|
||||
cifs_sb->mnt_cifs_flags &
|
||||
CIFS_MOUNT_MAP_SPECIAL_CHR);
|
||||
cFYI(1, ("SetEOF by path (setattrs) rc = %d", rc));
|
||||
cFYI(1, "SetEOF by path (setattrs) rc = %d", rc);
|
||||
if ((rc == -EINVAL) || (rc == -EOPNOTSUPP)) {
|
||||
__u16 netfid;
|
||||
int oplock = 0;
|
||||
@@ -1709,7 +1709,7 @@ cifs_set_file_size(struct inode *inode, struct iattr *attrs,
|
||||
attrs->ia_size,
|
||||
&bytes_written, NULL,
|
||||
NULL, 1);
|
||||
cFYI(1, ("wrt seteof rc %d", rc));
|
||||
cFYI(1, "wrt seteof rc %d", rc);
|
||||
CIFSSMBClose(xid, pTcon, netfid);
|
||||
}
|
||||
}
|
||||
@@ -1737,8 +1737,8 @@ cifs_setattr_unix(struct dentry *direntry, struct iattr *attrs)
|
||||
struct cifs_unix_set_info_args *args = NULL;
|
||||
struct cifsFileInfo *open_file;
|
||||
|
||||
cFYI(1, ("setattr_unix on file %s attrs->ia_valid=0x%x",
|
||||
direntry->d_name.name, attrs->ia_valid));
|
||||
cFYI(1, "setattr_unix on file %s attrs->ia_valid=0x%x",
|
||||
direntry->d_name.name, attrs->ia_valid);
|
||||
|
||||
xid = GetXid();
|
||||
|
||||
@@ -1868,8 +1868,8 @@ cifs_setattr_nounix(struct dentry *direntry, struct iattr *attrs)
|
||||
|
||||
xid = GetXid();
|
||||
|
||||
cFYI(1, ("setattr on file %s attrs->iavalid 0x%x",
|
||||
direntry->d_name.name, attrs->ia_valid));
|
||||
cFYI(1, "setattr on file %s attrs->iavalid 0x%x",
|
||||
direntry->d_name.name, attrs->ia_valid);
|
||||
|
||||
if ((cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NO_PERM) == 0) {
|
||||
/* check if we have permission to change attrs */
|
||||
@@ -1926,7 +1926,7 @@ cifs_setattr_nounix(struct dentry *direntry, struct iattr *attrs)
|
||||
attrs->ia_valid &= ~ATTR_MODE;
|
||||
|
||||
if (attrs->ia_valid & ATTR_MODE) {
|
||||
cFYI(1, ("Mode changed to 0%o", attrs->ia_mode));
|
||||
cFYI(1, "Mode changed to 0%o", attrs->ia_mode);
|
||||
mode = attrs->ia_mode;
|
||||
}
|
||||
|
||||
@@ -2012,7 +2012,7 @@ cifs_setattr(struct dentry *direntry, struct iattr *attrs)
|
||||
#if 0
|
||||
void cifs_delete_inode(struct inode *inode)
|
||||
{
|
||||
cFYI(1, ("In cifs_delete_inode, inode = 0x%p", inode));
|
||||
cFYI(1, "In cifs_delete_inode, inode = 0x%p", inode);
|
||||
/* may have to add back in if and when safe distributed caching of
|
||||
directories added e.g. via FindNotify */
|
||||
}
|
||||
|
||||
+5
-5
@@ -47,7 +47,7 @@ long cifs_ioctl(struct file *filep, unsigned int command, unsigned long arg)
|
||||
|
||||
xid = GetXid();
|
||||
|
||||
cFYI(1, ("ioctl file %p cmd %u arg %lu", filep, command, arg));
|
||||
cFYI(1, "ioctl file %p cmd %u arg %lu", filep, command, arg);
|
||||
|
||||
cifs_sb = CIFS_SB(inode->i_sb);
|
||||
|
||||
@@ -64,12 +64,12 @@ long cifs_ioctl(struct file *filep, unsigned int command, unsigned long arg)
|
||||
|
||||
switch (command) {
|
||||
case CIFS_IOC_CHECKUMOUNT:
|
||||
cFYI(1, ("User unmount attempted"));
|
||||
cFYI(1, "User unmount attempted");
|
||||
if (cifs_sb->mnt_uid == current_uid())
|
||||
rc = 0;
|
||||
else {
|
||||
rc = -EACCES;
|
||||
cFYI(1, ("uids do not match"));
|
||||
cFYI(1, "uids do not match");
|
||||
}
|
||||
break;
|
||||
#ifdef CONFIG_CIFS_POSIX
|
||||
@@ -97,11 +97,11 @@ long cifs_ioctl(struct file *filep, unsigned int command, unsigned long arg)
|
||||
/* rc= CIFSGetExtAttr(xid,tcon,pSMBFile->netfid,
|
||||
extAttrBits, &ExtAttrMask);*/
|
||||
}
|
||||
cFYI(1, ("set flags not implemented yet"));
|
||||
cFYI(1, "set flags not implemented yet");
|
||||
break;
|
||||
#endif /* CONFIG_CIFS_POSIX */
|
||||
default:
|
||||
cFYI(1, ("unsupported ioctl"));
|
||||
cFYI(1, "unsupported ioctl");
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
+5
-5
@@ -139,7 +139,7 @@ cifs_follow_link(struct dentry *direntry, struct nameidata *nd)
|
||||
if (!full_path)
|
||||
goto out;
|
||||
|
||||
cFYI(1, ("Full path: %s inode = 0x%p", full_path, inode));
|
||||
cFYI(1, "Full path: %s inode = 0x%p", full_path, inode);
|
||||
|
||||
rc = CIFSSMBUnixQuerySymLink(xid, tcon, full_path, &target_path,
|
||||
cifs_sb->local_nls);
|
||||
@@ -178,8 +178,8 @@ cifs_symlink(struct inode *inode, struct dentry *direntry, const char *symname)
|
||||
return rc;
|
||||
}
|
||||
|
||||
cFYI(1, ("Full path: %s", full_path));
|
||||
cFYI(1, ("symname is %s", symname));
|
||||
cFYI(1, "Full path: %s", full_path);
|
||||
cFYI(1, "symname is %s", symname);
|
||||
|
||||
/* BB what if DFS and this volume is on different share? BB */
|
||||
if (pTcon->unix_ext)
|
||||
@@ -198,8 +198,8 @@ cifs_symlink(struct inode *inode, struct dentry *direntry, const char *symname)
|
||||
inode->i_sb, xid, NULL);
|
||||
|
||||
if (rc != 0) {
|
||||
cFYI(1, ("Create symlink ok, getinodeinfo fail rc = %d",
|
||||
rc));
|
||||
cFYI(1, "Create symlink ok, getinodeinfo fail rc = %d",
|
||||
rc);
|
||||
} else {
|
||||
if (pTcon->nocase)
|
||||
direntry->d_op = &cifs_ci_dentry_ops;
|
||||
|
||||
+40
-41
@@ -51,7 +51,7 @@ _GetXid(void)
|
||||
if (GlobalTotalActiveXid > GlobalMaxActiveXid)
|
||||
GlobalMaxActiveXid = GlobalTotalActiveXid;
|
||||
if (GlobalTotalActiveXid > 65000)
|
||||
cFYI(1, ("warning: more than 65000 requests active"));
|
||||
cFYI(1, "warning: more than 65000 requests active");
|
||||
xid = GlobalCurrentXid++;
|
||||
spin_unlock(&GlobalMid_Lock);
|
||||
return xid;
|
||||
@@ -88,7 +88,7 @@ void
|
||||
sesInfoFree(struct cifsSesInfo *buf_to_free)
|
||||
{
|
||||
if (buf_to_free == NULL) {
|
||||
cFYI(1, ("Null buffer passed to sesInfoFree"));
|
||||
cFYI(1, "Null buffer passed to sesInfoFree");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -126,7 +126,7 @@ void
|
||||
tconInfoFree(struct cifsTconInfo *buf_to_free)
|
||||
{
|
||||
if (buf_to_free == NULL) {
|
||||
cFYI(1, ("Null buffer passed to tconInfoFree"));
|
||||
cFYI(1, "Null buffer passed to tconInfoFree");
|
||||
return;
|
||||
}
|
||||
atomic_dec(&tconInfoAllocCount);
|
||||
@@ -166,7 +166,7 @@ void
|
||||
cifs_buf_release(void *buf_to_free)
|
||||
{
|
||||
if (buf_to_free == NULL) {
|
||||
/* cFYI(1, ("Null buffer passed to cifs_buf_release"));*/
|
||||
/* cFYI(1, "Null buffer passed to cifs_buf_release");*/
|
||||
return;
|
||||
}
|
||||
mempool_free(buf_to_free, cifs_req_poolp);
|
||||
@@ -202,7 +202,7 @@ cifs_small_buf_release(void *buf_to_free)
|
||||
{
|
||||
|
||||
if (buf_to_free == NULL) {
|
||||
cFYI(1, ("Null buffer passed to cifs_small_buf_release"));
|
||||
cFYI(1, "Null buffer passed to cifs_small_buf_release");
|
||||
return;
|
||||
}
|
||||
mempool_free(buf_to_free, cifs_sm_req_poolp);
|
||||
@@ -345,19 +345,19 @@ header_assemble(struct smb_hdr *buffer, char smb_command /* command */ ,
|
||||
/* with userid/password pairs found on the smb session */
|
||||
/* for other target tcp/ip addresses BB */
|
||||
if (current_fsuid() != treeCon->ses->linux_uid) {
|
||||
cFYI(1, ("Multiuser mode and UID "
|
||||
"did not match tcon uid"));
|
||||
cFYI(1, "Multiuser mode and UID "
|
||||
"did not match tcon uid");
|
||||
read_lock(&cifs_tcp_ses_lock);
|
||||
list_for_each(temp_item, &treeCon->ses->server->smb_ses_list) {
|
||||
ses = list_entry(temp_item, struct cifsSesInfo, smb_ses_list);
|
||||
if (ses->linux_uid == current_fsuid()) {
|
||||
if (ses->server == treeCon->ses->server) {
|
||||
cFYI(1, ("found matching uid substitute right smb_uid"));
|
||||
cFYI(1, "found matching uid substitute right smb_uid");
|
||||
buffer->Uid = ses->Suid;
|
||||
break;
|
||||
} else {
|
||||
/* BB eventually call cifs_setup_session here */
|
||||
cFYI(1, ("local UID found but no smb sess with this server exists"));
|
||||
cFYI(1, "local UID found but no smb sess with this server exists");
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -394,17 +394,16 @@ checkSMBhdr(struct smb_hdr *smb, __u16 mid)
|
||||
if (smb->Command == SMB_COM_LOCKING_ANDX)
|
||||
return 0;
|
||||
else
|
||||
cERROR(1, ("Received Request not response"));
|
||||
cERROR(1, "Received Request not response");
|
||||
}
|
||||
} else { /* bad signature or mid */
|
||||
if (*(__le32 *) smb->Protocol != cpu_to_le32(0x424d53ff))
|
||||
cERROR(1,
|
||||
("Bad protocol string signature header %x",
|
||||
*(unsigned int *) smb->Protocol));
|
||||
cERROR(1, "Bad protocol string signature header %x",
|
||||
*(unsigned int *) smb->Protocol);
|
||||
if (mid != smb->Mid)
|
||||
cERROR(1, ("Mids do not match"));
|
||||
cERROR(1, "Mids do not match");
|
||||
}
|
||||
cERROR(1, ("bad smb detected. The Mid=%d", smb->Mid));
|
||||
cERROR(1, "bad smb detected. The Mid=%d", smb->Mid);
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -413,7 +412,7 @@ checkSMB(struct smb_hdr *smb, __u16 mid, unsigned int length)
|
||||
{
|
||||
__u32 len = smb->smb_buf_length;
|
||||
__u32 clc_len; /* calculated length */
|
||||
cFYI(0, ("checkSMB Length: 0x%x, smb_buf_length: 0x%x", length, len));
|
||||
cFYI(0, "checkSMB Length: 0x%x, smb_buf_length: 0x%x", length, len);
|
||||
|
||||
if (length < 2 + sizeof(struct smb_hdr)) {
|
||||
if ((length >= sizeof(struct smb_hdr) - 1)
|
||||
@@ -437,15 +436,15 @@ checkSMB(struct smb_hdr *smb, __u16 mid, unsigned int length)
|
||||
tmp[sizeof(struct smb_hdr)+1] = 0;
|
||||
return 0;
|
||||
}
|
||||
cERROR(1, ("rcvd invalid byte count (bcc)"));
|
||||
cERROR(1, "rcvd invalid byte count (bcc)");
|
||||
} else {
|
||||
cERROR(1, ("Length less than smb header size"));
|
||||
cERROR(1, "Length less than smb header size");
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
if (len > CIFSMaxBufSize + MAX_CIFS_HDR_SIZE - 4) {
|
||||
cERROR(1, ("smb length greater than MaxBufSize, mid=%d",
|
||||
smb->Mid));
|
||||
cERROR(1, "smb length greater than MaxBufSize, mid=%d",
|
||||
smb->Mid);
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -454,8 +453,8 @@ checkSMB(struct smb_hdr *smb, __u16 mid, unsigned int length)
|
||||
clc_len = smbCalcSize_LE(smb);
|
||||
|
||||
if (4 + len != length) {
|
||||
cERROR(1, ("Length read does not match RFC1001 length %d",
|
||||
len));
|
||||
cERROR(1, "Length read does not match RFC1001 length %d",
|
||||
len);
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -466,8 +465,8 @@ checkSMB(struct smb_hdr *smb, __u16 mid, unsigned int length)
|
||||
if (((4 + len) & 0xFFFF) == (clc_len & 0xFFFF))
|
||||
return 0; /* bcc wrapped */
|
||||
}
|
||||
cFYI(1, ("Calculated size %d vs length %d mismatch for mid %d",
|
||||
clc_len, 4 + len, smb->Mid));
|
||||
cFYI(1, "Calculated size %d vs length %d mismatch for mid %d",
|
||||
clc_len, 4 + len, smb->Mid);
|
||||
/* Windows XP can return a few bytes too much, presumably
|
||||
an illegal pad, at the end of byte range lock responses
|
||||
so we allow for that three byte pad, as long as actual
|
||||
@@ -482,8 +481,8 @@ checkSMB(struct smb_hdr *smb, __u16 mid, unsigned int length)
|
||||
if ((4+len > clc_len) && (len <= clc_len + 512))
|
||||
return 0;
|
||||
else {
|
||||
cERROR(1, ("RFC1001 size %d bigger than SMB for Mid=%d",
|
||||
len, smb->Mid));
|
||||
cERROR(1, "RFC1001 size %d bigger than SMB for Mid=%d",
|
||||
len, smb->Mid);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
@@ -501,7 +500,7 @@ is_valid_oplock_break(struct smb_hdr *buf, struct TCP_Server_Info *srv)
|
||||
struct cifsFileInfo *netfile;
|
||||
int rc;
|
||||
|
||||
cFYI(1, ("Checking for oplock break or dnotify response"));
|
||||
cFYI(1, "Checking for oplock break or dnotify response");
|
||||
if ((pSMB->hdr.Command == SMB_COM_NT_TRANSACT) &&
|
||||
(pSMB->hdr.Flags & SMBFLG_RESPONSE)) {
|
||||
struct smb_com_transaction_change_notify_rsp *pSMBr =
|
||||
@@ -513,15 +512,15 @@ is_valid_oplock_break(struct smb_hdr *buf, struct TCP_Server_Info *srv)
|
||||
|
||||
pnotify = (struct file_notify_information *)
|
||||
((char *)&pSMBr->hdr.Protocol + data_offset);
|
||||
cFYI(1, ("dnotify on %s Action: 0x%x",
|
||||
pnotify->FileName, pnotify->Action));
|
||||
cFYI(1, "dnotify on %s Action: 0x%x",
|
||||
pnotify->FileName, pnotify->Action);
|
||||
/* cifs_dump_mem("Rcvd notify Data: ",buf,
|
||||
sizeof(struct smb_hdr)+60); */
|
||||
return true;
|
||||
}
|
||||
if (pSMBr->hdr.Status.CifsError) {
|
||||
cFYI(1, ("notify err 0x%d",
|
||||
pSMBr->hdr.Status.CifsError));
|
||||
cFYI(1, "notify err 0x%d",
|
||||
pSMBr->hdr.Status.CifsError);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
@@ -535,7 +534,7 @@ is_valid_oplock_break(struct smb_hdr *buf, struct TCP_Server_Info *srv)
|
||||
large dirty files cached on the client */
|
||||
if ((NT_STATUS_INVALID_HANDLE) ==
|
||||
le32_to_cpu(pSMB->hdr.Status.CifsError)) {
|
||||
cFYI(1, ("invalid handle on oplock break"));
|
||||
cFYI(1, "invalid handle on oplock break");
|
||||
return true;
|
||||
} else if (ERRbadfid ==
|
||||
le16_to_cpu(pSMB->hdr.Status.DosError.Error)) {
|
||||
@@ -547,8 +546,8 @@ is_valid_oplock_break(struct smb_hdr *buf, struct TCP_Server_Info *srv)
|
||||
if (pSMB->hdr.WordCount != 8)
|
||||
return false;
|
||||
|
||||
cFYI(1, ("oplock type 0x%d level 0x%d",
|
||||
pSMB->LockType, pSMB->OplockLevel));
|
||||
cFYI(1, "oplock type 0x%d level 0x%d",
|
||||
pSMB->LockType, pSMB->OplockLevel);
|
||||
if (!(pSMB->LockType & LOCKING_ANDX_OPLOCK_RELEASE))
|
||||
return false;
|
||||
|
||||
@@ -579,15 +578,15 @@ is_valid_oplock_break(struct smb_hdr *buf, struct TCP_Server_Info *srv)
|
||||
return true;
|
||||
}
|
||||
|
||||
cFYI(1, ("file id match, oplock break"));
|
||||
cFYI(1, "file id match, oplock break");
|
||||
pCifsInode = CIFS_I(netfile->pInode);
|
||||
pCifsInode->clientCanCacheAll = false;
|
||||
if (pSMB->OplockLevel == 0)
|
||||
pCifsInode->clientCanCacheRead = false;
|
||||
rc = slow_work_enqueue(&netfile->oplock_break);
|
||||
if (rc) {
|
||||
cERROR(1, ("failed to enqueue oplock "
|
||||
"break: %d\n", rc));
|
||||
cERROR(1, "failed to enqueue oplock "
|
||||
"break: %d\n", rc);
|
||||
} else {
|
||||
netfile->oplock_break_cancelled = false;
|
||||
}
|
||||
@@ -597,12 +596,12 @@ is_valid_oplock_break(struct smb_hdr *buf, struct TCP_Server_Info *srv)
|
||||
}
|
||||
read_unlock(&GlobalSMBSeslock);
|
||||
read_unlock(&cifs_tcp_ses_lock);
|
||||
cFYI(1, ("No matching file for oplock break"));
|
||||
cFYI(1, "No matching file for oplock break");
|
||||
return true;
|
||||
}
|
||||
}
|
||||
read_unlock(&cifs_tcp_ses_lock);
|
||||
cFYI(1, ("Can not process oplock break for non-existent connection"));
|
||||
cFYI(1, "Can not process oplock break for non-existent connection");
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -721,11 +720,11 @@ cifs_autodisable_serverino(struct cifs_sb_info *cifs_sb)
|
||||
{
|
||||
if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_SERVER_INUM) {
|
||||
cifs_sb->mnt_cifs_flags &= ~CIFS_MOUNT_SERVER_INUM;
|
||||
cERROR(1, ("Autodisabling the use of server inode numbers on "
|
||||
cERROR(1, "Autodisabling the use of server inode numbers on "
|
||||
"%s. This server doesn't seem to support them "
|
||||
"properly. Hardlinks will not be recognized on this "
|
||||
"mount. Consider mounting with the \"noserverino\" "
|
||||
"option to silence this message.",
|
||||
cifs_sb->tcon->treeName));
|
||||
cifs_sb->tcon->treeName);
|
||||
}
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user