提交 2e378f3e 编写于 作者: L Linus Torvalds

Merge branch 'for-next' of git://git.samba.org/sfrench/cifs-2.6

Pull CIFS fixes from Steve French:
 "A set of cifs cleanup fixes.

  The only big one of this set optimizes the cifs error logging,
  renaming cFYI and cERROR macros to cifs_dbg, and in the process makes
  it clearer and reduces module size."

* 'for-next' of git://git.samba.org/sfrench/cifs-2.6:
  cifs: small variable name cleanup
  CIFS: fix error return code in cifs_atomic_open()
  cifs: store the real expected sequence number in the mid
  cifs: on send failure, readjust server sequence number downward
  cifs: remove ENOSPC handling in smb_sendv
  [CIFS] cifs: Rename cERROR and cFYI to cifs_dbg
  fs: cifs: use kmemdup instead of kmalloc + memcpy
  cifs: replaced kmalloc + memset with kzalloc
  cifs: ignore the unc= and prefixpath= mount options
...@@ -506,11 +506,11 @@ decode_negTokenInit(unsigned char *security_blob, int length, ...@@ -506,11 +506,11 @@ decode_negTokenInit(unsigned char *security_blob, int length,
/* GSSAPI header */ /* GSSAPI header */
if (asn1_header_decode(&ctx, &end, &cls, &con, &tag) == 0) { if (asn1_header_decode(&ctx, &end, &cls, &con, &tag) == 0) {
cFYI(1, "Error decoding negTokenInit header"); cifs_dbg(FYI, "Error decoding negTokenInit header\n");
return 0; return 0;
} else if ((cls != ASN1_APL) || (con != ASN1_CON) } else if ((cls != ASN1_APL) || (con != ASN1_CON)
|| (tag != ASN1_EOC)) { || (tag != ASN1_EOC)) {
cFYI(1, "cls = %d con = %d tag = %d", cls, con, tag); cifs_dbg(FYI, "cls = %d con = %d tag = %d\n", cls, con, tag);
return 0; return 0;
} }
...@@ -531,52 +531,52 @@ decode_negTokenInit(unsigned char *security_blob, int length, ...@@ -531,52 +531,52 @@ decode_negTokenInit(unsigned char *security_blob, int length,
/* SPNEGO OID not present or garbled -- bail out */ /* SPNEGO OID not present or garbled -- bail out */
if (!rc) { if (!rc) {
cFYI(1, "Error decoding negTokenInit header"); cifs_dbg(FYI, "Error decoding negTokenInit header\n");
return 0; return 0;
} }
/* SPNEGO */ /* SPNEGO */
if (asn1_header_decode(&ctx, &end, &cls, &con, &tag) == 0) { if (asn1_header_decode(&ctx, &end, &cls, &con, &tag) == 0) {
cFYI(1, "Error decoding negTokenInit"); cifs_dbg(FYI, "Error decoding negTokenInit\n");
return 0; return 0;
} else if ((cls != ASN1_CTX) || (con != ASN1_CON) } else if ((cls != ASN1_CTX) || (con != ASN1_CON)
|| (tag != ASN1_EOC)) { || (tag != ASN1_EOC)) {
cFYI(1, "cls = %d con = %d tag = %d end = %p (%d) exit 0", cifs_dbg(FYI, "cls = %d con = %d tag = %d end = %p (%d) exit 0\n",
cls, con, tag, end, *end); cls, con, tag, end, *end);
return 0; return 0;
} }
/* negTokenInit */ /* negTokenInit */
if (asn1_header_decode(&ctx, &end, &cls, &con, &tag) == 0) { if (asn1_header_decode(&ctx, &end, &cls, &con, &tag) == 0) {
cFYI(1, "Error decoding negTokenInit"); cifs_dbg(FYI, "Error decoding negTokenInit\n");
return 0; return 0;
} else if ((cls != ASN1_UNI) || (con != ASN1_CON) } else if ((cls != ASN1_UNI) || (con != ASN1_CON)
|| (tag != ASN1_SEQ)) { || (tag != ASN1_SEQ)) {
cFYI(1, "cls = %d con = %d tag = %d end = %p (%d) exit 1", cifs_dbg(FYI, "cls = %d con = %d tag = %d end = %p (%d) exit 1\n",
cls, con, tag, end, *end); cls, con, tag, end, *end);
return 0; return 0;
} }
/* sequence */ /* sequence */
if (asn1_header_decode(&ctx, &end, &cls, &con, &tag) == 0) { if (asn1_header_decode(&ctx, &end, &cls, &con, &tag) == 0) {
cFYI(1, "Error decoding 2nd part of negTokenInit"); cifs_dbg(FYI, "Error decoding 2nd part of negTokenInit\n");
return 0; return 0;
} else if ((cls != ASN1_CTX) || (con != ASN1_CON) } else if ((cls != ASN1_CTX) || (con != ASN1_CON)
|| (tag != ASN1_EOC)) { || (tag != ASN1_EOC)) {
cFYI(1, "cls = %d con = %d tag = %d end = %p (%d) exit 0", cifs_dbg(FYI, "cls = %d con = %d tag = %d end = %p (%d) exit 0\n",
cls, con, tag, end, *end); cls, con, tag, end, *end);
return 0; return 0;
} }
/* sequence of */ /* sequence of */
if (asn1_header_decode if (asn1_header_decode
(&ctx, &sequence_end, &cls, &con, &tag) == 0) { (&ctx, &sequence_end, &cls, &con, &tag) == 0) {
cFYI(1, "Error decoding 2nd part of negTokenInit"); cifs_dbg(FYI, "Error decoding 2nd part of negTokenInit\n");
return 0; return 0;
} else if ((cls != ASN1_UNI) || (con != ASN1_CON) } else if ((cls != ASN1_UNI) || (con != ASN1_CON)
|| (tag != ASN1_SEQ)) { || (tag != ASN1_SEQ)) {
cFYI(1, "cls = %d con = %d tag = %d end = %p (%d) exit 1", cifs_dbg(FYI, "cls = %d con = %d tag = %d end = %p (%d) exit 1\n",
cls, con, tag, end, *end); cls, con, tag, end, *end);
return 0; return 0;
} }
...@@ -584,15 +584,15 @@ decode_negTokenInit(unsigned char *security_blob, int length, ...@@ -584,15 +584,15 @@ decode_negTokenInit(unsigned char *security_blob, int length,
while (!asn1_eoc_decode(&ctx, sequence_end)) { while (!asn1_eoc_decode(&ctx, sequence_end)) {
rc = asn1_header_decode(&ctx, &end, &cls, &con, &tag); rc = asn1_header_decode(&ctx, &end, &cls, &con, &tag);
if (!rc) { if (!rc) {
cFYI(1, "Error decoding negTokenInit hdr exit2"); cifs_dbg(FYI, "Error decoding negTokenInit hdr exit2\n");
return 0; return 0;
} }
if ((tag == ASN1_OJI) && (con == ASN1_PRI)) { if ((tag == ASN1_OJI) && (con == ASN1_PRI)) {
if (asn1_oid_decode(&ctx, end, &oid, &oidlen)) { if (asn1_oid_decode(&ctx, end, &oid, &oidlen)) {
cFYI(1, "OID len = %d oid = 0x%lx 0x%lx " cifs_dbg(FYI, "OID len = %d oid = 0x%lx 0x%lx 0x%lx 0x%lx\n",
"0x%lx 0x%lx", oidlen, *oid, oidlen, *oid, *(oid + 1), *(oid + 2),
*(oid + 1), *(oid + 2), *(oid + 3)); *(oid + 3));
if (compare_oid(oid, oidlen, MSKRB5_OID, if (compare_oid(oid, oidlen, MSKRB5_OID,
MSKRB5_OID_LEN)) MSKRB5_OID_LEN))
...@@ -610,7 +610,7 @@ decode_negTokenInit(unsigned char *security_blob, int length, ...@@ -610,7 +610,7 @@ decode_negTokenInit(unsigned char *security_blob, int length,
kfree(oid); kfree(oid);
} }
} else { } else {
cFYI(1, "Should be an oid what is going on?"); cifs_dbg(FYI, "Should be an oid what is going on?\n");
} }
} }
......
...@@ -92,7 +92,7 @@ static uint16_t cifs_server_get_key(const void *cookie_netfs_data, ...@@ -92,7 +92,7 @@ static uint16_t cifs_server_get_key(const void *cookie_netfs_data,
break; break;
default: default:
cERROR(1, "Unknown network family '%d'", sa->sa_family); cifs_dbg(VFS, "Unknown network family '%d'\n", sa->sa_family);
key_len = 0; key_len = 0;
break; break;
} }
...@@ -152,7 +152,7 @@ static uint16_t cifs_super_get_key(const void *cookie_netfs_data, void *buffer, ...@@ -152,7 +152,7 @@ static uint16_t cifs_super_get_key(const void *cookie_netfs_data, void *buffer,
sharename = extract_sharename(tcon->treeName); sharename = extract_sharename(tcon->treeName);
if (IS_ERR(sharename)) { if (IS_ERR(sharename)) {
cFYI(1, "%s: couldn't extract sharename", __func__); cifs_dbg(FYI, "%s: couldn't extract sharename\n", __func__);
sharename = NULL; sharename = NULL;
return 0; return 0;
} }
...@@ -302,7 +302,7 @@ static void cifs_fscache_inode_now_uncached(void *cookie_netfs_data) ...@@ -302,7 +302,7 @@ static void cifs_fscache_inode_now_uncached(void *cookie_netfs_data)
pagevec_init(&pvec, 0); pagevec_init(&pvec, 0);
first = 0; first = 0;
cFYI(1, "%s: cifs inode 0x%p now uncached", __func__, cifsi); cifs_dbg(FYI, "%s: cifs inode 0x%p now uncached\n", __func__, cifsi);
for (;;) { for (;;) {
nr_pages = pagevec_lookup(&pvec, nr_pages = pagevec_lookup(&pvec,
......
...@@ -57,15 +57,32 @@ cifs_dump_mem(char *label, void *data, int length) ...@@ -57,15 +57,32 @@ cifs_dump_mem(char *label, void *data, int length)
} }
} }
#ifdef CONFIG_CIFS_DEBUG
void cifs_vfs_err(const char *fmt, ...)
{
struct va_format vaf;
va_list args;
va_start(args, fmt);
vaf.fmt = fmt;
vaf.va = &args;
printk(KERN_ERR "CIFS VFS: %pV", &vaf);
va_end(args);
}
#endif
void cifs_dump_detail(void *buf) void cifs_dump_detail(void *buf)
{ {
#ifdef CONFIG_CIFS_DEBUG2 #ifdef CONFIG_CIFS_DEBUG2
struct smb_hdr *smb = (struct smb_hdr *)buf; struct smb_hdr *smb = (struct smb_hdr *)buf;
cERROR(1, "Cmd: %d Err: 0x%x Flags: 0x%x Flgs2: 0x%x Mid: %d Pid: %d", cifs_dbg(VFS, "Cmd: %d Err: 0x%x Flags: 0x%x Flgs2: 0x%x Mid: %d Pid: %d\n",
smb->Command, smb->Status.CifsError, smb->Command, smb->Status.CifsError,
smb->Flags, smb->Flags2, smb->Mid, smb->Pid); smb->Flags, smb->Flags2, smb->Mid, smb->Pid);
cERROR(1, "smb buf %p len %u", smb, smbCalcSize(smb)); cifs_dbg(VFS, "smb buf %p len %u\n", smb, smbCalcSize(smb));
#endif /* CONFIG_CIFS_DEBUG2 */ #endif /* CONFIG_CIFS_DEBUG2 */
} }
...@@ -78,25 +95,25 @@ void cifs_dump_mids(struct TCP_Server_Info *server) ...@@ -78,25 +95,25 @@ void cifs_dump_mids(struct TCP_Server_Info *server)
if (server == NULL) if (server == NULL)
return; return;
cERROR(1, "Dump pending requests:"); cifs_dbg(VFS, "Dump pending requests:\n");
spin_lock(&GlobalMid_Lock); spin_lock(&GlobalMid_Lock);
list_for_each(tmp, &server->pending_mid_q) { list_for_each(tmp, &server->pending_mid_q) {
mid_entry = list_entry(tmp, struct mid_q_entry, qhead); mid_entry = list_entry(tmp, struct mid_q_entry, qhead);
cERROR(1, "State: %d Cmd: %d Pid: %d Cbdata: %p Mid %llu", cifs_dbg(VFS, "State: %d Cmd: %d Pid: %d Cbdata: %p Mid %llu\n",
mid_entry->mid_state, mid_entry->mid_state,
le16_to_cpu(mid_entry->command), le16_to_cpu(mid_entry->command),
mid_entry->pid, mid_entry->pid,
mid_entry->callback_data, mid_entry->callback_data,
mid_entry->mid); mid_entry->mid);
#ifdef CONFIG_CIFS_STATS2 #ifdef CONFIG_CIFS_STATS2
cERROR(1, "IsLarge: %d buf: %p time rcv: %ld now: %ld", cifs_dbg(VFS, "IsLarge: %d buf: %p time rcv: %ld now: %ld\n",
mid_entry->large_buf, mid_entry->large_buf,
mid_entry->resp_buf, mid_entry->resp_buf,
mid_entry->when_received, mid_entry->when_received,
jiffies); jiffies);
#endif /* STATS2 */ #endif /* STATS2 */
cERROR(1, "IsMult: %d IsEnd: %d", mid_entry->multiRsp, cifs_dbg(VFS, "IsMult: %d IsEnd: %d\n",
mid_entry->multiEnd); mid_entry->multiRsp, mid_entry->multiEnd);
if (mid_entry->resp_buf) { if (mid_entry->resp_buf) {
cifs_dump_detail(mid_entry->resp_buf); cifs_dump_detail(mid_entry->resp_buf);
cifs_dump_mem("existing buf: ", cifs_dump_mem("existing buf: ",
...@@ -603,7 +620,7 @@ static ssize_t cifs_security_flags_proc_write(struct file *file, ...@@ -603,7 +620,7 @@ static ssize_t cifs_security_flags_proc_write(struct file *file,
global_secflags = CIFSSEC_MAX; global_secflags = CIFSSEC_MAX;
return count; return count;
} else if (!isdigit(c)) { } else if (!isdigit(c)) {
cERROR(1, "invalid flag %c", c); cifs_dbg(VFS, "invalid flag %c\n", c);
return -EINVAL; return -EINVAL;
} }
} }
...@@ -611,16 +628,16 @@ static ssize_t cifs_security_flags_proc_write(struct file *file, ...@@ -611,16 +628,16 @@ static ssize_t cifs_security_flags_proc_write(struct file *file,
flags = simple_strtoul(flags_string, NULL, 0); flags = simple_strtoul(flags_string, NULL, 0);
cFYI(1, "sec flags 0x%x", flags); cifs_dbg(FYI, "sec flags 0x%x\n", flags);
if (flags <= 0) { if (flags <= 0) {
cERROR(1, "invalid security flags %s", flags_string); cifs_dbg(VFS, "invalid security flags %s\n", flags_string);
return -EINVAL; return -EINVAL;
} }
if (flags & ~CIFSSEC_MASK) { if (flags & ~CIFSSEC_MASK) {
cERROR(1, "attempt to set unsupported security flags 0x%x", cifs_dbg(VFS, "attempt to set unsupported security flags 0x%x\n",
flags & ~CIFSSEC_MASK); flags & ~CIFSSEC_MASK);
return -EINVAL; return -EINVAL;
} }
/* flags look ok - update the global security flags for cifs module */ /* flags look ok - update the global security flags for cifs module */
...@@ -628,9 +645,9 @@ static ssize_t cifs_security_flags_proc_write(struct file *file, ...@@ -628,9 +645,9 @@ static ssize_t cifs_security_flags_proc_write(struct file *file,
if (global_secflags & CIFSSEC_MUST_SIGN) { if (global_secflags & CIFSSEC_MUST_SIGN) {
/* requiring signing implies signing is allowed */ /* requiring signing implies signing is allowed */
global_secflags |= CIFSSEC_MAY_SIGN; global_secflags |= CIFSSEC_MAY_SIGN;
cFYI(1, "packet signing now required"); cifs_dbg(FYI, "packet signing now required\n");
} else if ((global_secflags & CIFSSEC_MAY_SIGN) == 0) { } else if ((global_secflags & CIFSSEC_MAY_SIGN) == 0) {
cFYI(1, "packet signing disabled"); cifs_dbg(FYI, "packet signing disabled\n");
} }
/* BB should we turn on MAY flags for other MUST options? */ /* BB should we turn on MAY flags for other MUST options? */
return count; return count;
......
...@@ -25,18 +25,20 @@ ...@@ -25,18 +25,20 @@
void cifs_dump_mem(char *label, void *data, int length); void cifs_dump_mem(char *label, void *data, int length);
void cifs_dump_detail(void *); void cifs_dump_detail(void *);
void cifs_dump_mids(struct TCP_Server_Info *); void cifs_dump_mids(struct TCP_Server_Info *);
#ifdef CONFIG_CIFS_DEBUG2
#define DBG2 2
#else
#define DBG2 0
#endif
extern int traceSMB; /* flag which enables the function below */ extern int traceSMB; /* flag which enables the function below */
void dump_smb(void *, int); void dump_smb(void *, int);
#define CIFS_INFO 0x01 #define CIFS_INFO 0x01
#define CIFS_RC 0x02 #define CIFS_RC 0x02
#define CIFS_TIMER 0x04 #define CIFS_TIMER 0x04
#define VFS 1
#define FYI 2
extern int cifsFYI; extern int cifsFYI;
#ifdef CONFIG_CIFS_DEBUG2
#define NOISY 4
#else
#define NOISY 0
#endif
/* /*
* debug ON * debug ON
...@@ -44,31 +46,21 @@ extern int cifsFYI; ...@@ -44,31 +46,21 @@ extern int cifsFYI;
*/ */
#ifdef CONFIG_CIFS_DEBUG #ifdef CONFIG_CIFS_DEBUG
/* information message: e.g., configuration, major event */ __printf(1, 2) void cifs_vfs_err(const char *fmt, ...);
#define cifsfyi(fmt, ...) \
do { \
if (cifsFYI & CIFS_INFO) \
printk(KERN_DEBUG "%s: " fmt "\n", \
__FILE__, ##__VA_ARGS__); \
} while (0)
#define cFYI(set, fmt, ...) \
do { \
if (set) \
cifsfyi(fmt, ##__VA_ARGS__); \
} while (0)
#define cifswarn(fmt, ...) \ /* information message: e.g., configuration, major event */
printk(KERN_WARNING fmt "\n", ##__VA_ARGS__) #define cifs_dbg(type, fmt, ...) \
/* error event message: e.g., i/o error */
#define cifserror(fmt, ...) \
printk(KERN_ERR "CIFS VFS: " fmt "\n", ##__VA_ARGS__); \
#define cERROR(set, fmt, ...) \
do { \ do { \
if (set) \ if (type == FYI) { \
cifserror(fmt, ##__VA_ARGS__); \ if (cifsFYI & CIFS_INFO) { \
printk(KERN_DEBUG "%s: " fmt, \
__FILE__, ##__VA_ARGS__); \
} \
} else if (type == VFS) { \
cifs_vfs_err(fmt, ##__VA_ARGS__); \
} else if (type == NOISY && type != 0) { \
printk(KERN_DEBUG fmt, ##__VA_ARGS__); \
} \
} while (0) } while (0)
/* /*
...@@ -76,27 +68,11 @@ do { \ ...@@ -76,27 +68,11 @@ do { \
* --------- * ---------
*/ */
#else /* _CIFS_DEBUG */ #else /* _CIFS_DEBUG */
#define cifsfyi(fmt, ...) \ #define cifs_dbg(type, fmt, ...) \
do { \ do { \
if (0) \ if (0) \
printk(KERN_DEBUG "%s: " fmt "\n", \ printk(KERN_DEBUG fmt, ##__VA_ARGS__); \
__FILE__, ##__VA_ARGS__); \
} while (0) } while (0)
#define cFYI(set, fmt, ...) \ #endif
do { \
if (0 && set) \
cifsfyi(fmt, ##__VA_ARGS__); \
} while (0)
#define cifserror(fmt, ...) \
do { \
if (0) \
printk(KERN_ERR "CIFS VFS: " fmt "\n", ##__VA_ARGS__); \
} while (0)
#define cERROR(set, fmt, ...) \
do { \
if (0 && set) \
cifserror(fmt, ##__VA_ARGS__); \
} while (0)
#endif /* _CIFS_DEBUG */
#endif /* _H_CIFS_DEBUG */ #endif /* _H_CIFS_DEBUG */
...@@ -84,8 +84,8 @@ static char *cifs_get_share_name(const char *node_name) ...@@ -84,8 +84,8 @@ static char *cifs_get_share_name(const char *node_name)
/* find server name end */ /* find server name end */
pSep = memchr(UNC+2, '\\', len-2); pSep = memchr(UNC+2, '\\', len-2);
if (!pSep) { if (!pSep) {
cERROR(1, "%s: no server name end in node name: %s", cifs_dbg(VFS, "%s: no server name end in node name: %s\n",
__func__, node_name); __func__, node_name);
kfree(UNC); kfree(UNC);
return ERR_PTR(-EINVAL); return ERR_PTR(-EINVAL);
} }
...@@ -141,8 +141,8 @@ char *cifs_compose_mount_options(const char *sb_mountdata, ...@@ -141,8 +141,8 @@ char *cifs_compose_mount_options(const char *sb_mountdata,
rc = dns_resolve_server_name_to_ip(*devname, &srvIP); rc = dns_resolve_server_name_to_ip(*devname, &srvIP);
if (rc < 0) { if (rc < 0) {
cFYI(1, "%s: Failed to resolve server part of %s to IP: %d", cifs_dbg(FYI, "%s: Failed to resolve server part of %s to IP: %d\n",
__func__, *devname, rc); __func__, *devname, rc);
goto compose_mount_options_err; goto compose_mount_options_err;
} }
...@@ -216,8 +216,8 @@ char *cifs_compose_mount_options(const char *sb_mountdata, ...@@ -216,8 +216,8 @@ char *cifs_compose_mount_options(const char *sb_mountdata,
strcat(mountdata, fullpath + ref->path_consumed); strcat(mountdata, fullpath + ref->path_consumed);
} }
/*cFYI(1, "%s: parent mountdata: %s", __func__,sb_mountdata);*/ /*cifs_dbg(FYI, "%s: parent mountdata: %s\n", __func__, sb_mountdata);*/
/*cFYI(1, "%s: submount mountdata: %s", __func__, mountdata );*/ /*cifs_dbg(FYI, "%s: submount mountdata: %s\n", __func__, mountdata );*/
compose_mount_options_out: compose_mount_options_out:
kfree(srvIP); kfree(srvIP);
...@@ -260,11 +260,12 @@ static struct vfsmount *cifs_dfs_do_refmount(struct cifs_sb_info *cifs_sb, ...@@ -260,11 +260,12 @@ static struct vfsmount *cifs_dfs_do_refmount(struct cifs_sb_info *cifs_sb,
static void dump_referral(const struct dfs_info3_param *ref) static void dump_referral(const struct dfs_info3_param *ref)
{ {
cFYI(1, "DFS: ref path: %s", ref->path_name); cifs_dbg(FYI, "DFS: ref path: %s\n", ref->path_name);
cFYI(1, "DFS: node path: %s", ref->node_name); cifs_dbg(FYI, "DFS: node path: %s\n", ref->node_name);
cFYI(1, "DFS: fl: %hd, srv_type: %hd", ref->flags, ref->server_type); cifs_dbg(FYI, "DFS: fl: %hd, srv_type: %hd\n",
cFYI(1, "DFS: ref_flags: %hd, path_consumed: %hd", ref->ref_flag, ref->flags, ref->server_type);
ref->path_consumed); cifs_dbg(FYI, "DFS: ref_flags: %hd, path_consumed: %hd\n",
ref->ref_flag, ref->path_consumed);
} }
/* /*
...@@ -283,7 +284,7 @@ static struct vfsmount *cifs_dfs_do_automount(struct dentry *mntpt) ...@@ -283,7 +284,7 @@ static struct vfsmount *cifs_dfs_do_automount(struct dentry *mntpt)
struct vfsmount *mnt; struct vfsmount *mnt;
struct tcon_link *tlink; struct tcon_link *tlink;
cFYI(1, "in %s", __func__); cifs_dbg(FYI, "in %s\n", __func__);
BUG_ON(IS_ROOT(mntpt)); BUG_ON(IS_ROOT(mntpt));
/* /*
...@@ -320,15 +321,15 @@ static struct vfsmount *cifs_dfs_do_automount(struct dentry *mntpt) ...@@ -320,15 +321,15 @@ static struct vfsmount *cifs_dfs_do_automount(struct dentry *mntpt)
/* connect to a node */ /* connect to a node */
len = strlen(referrals[i].node_name); len = strlen(referrals[i].node_name);
if (len < 2) { if (len < 2) {
cERROR(1, "%s: Net Address path too short: %s", cifs_dbg(VFS, "%s: Net Address path too short: %s\n",
__func__, referrals[i].node_name); __func__, referrals[i].node_name);
mnt = ERR_PTR(-EINVAL); mnt = ERR_PTR(-EINVAL);
break; break;
} }
mnt = cifs_dfs_do_refmount(cifs_sb, mnt = cifs_dfs_do_refmount(cifs_sb,
full_path, referrals + i); full_path, referrals + i);
cFYI(1, "%s: cifs_dfs_do_refmount:%s , mnt:%p", __func__, cifs_dbg(FYI, "%s: cifs_dfs_do_refmount:%s , mnt:%p\n",
referrals[i].node_name, mnt); __func__, referrals[i].node_name, mnt);
if (!IS_ERR(mnt)) if (!IS_ERR(mnt))
goto success; goto success;
} }
...@@ -343,7 +344,7 @@ static struct vfsmount *cifs_dfs_do_automount(struct dentry *mntpt) ...@@ -343,7 +344,7 @@ static struct vfsmount *cifs_dfs_do_automount(struct dentry *mntpt)
free_full_path: free_full_path:
kfree(full_path); kfree(full_path);
cdda_exit: cdda_exit:
cFYI(1, "leaving %s" , __func__); cifs_dbg(FYI, "leaving %s\n" , __func__);
return mnt; return mnt;
} }
...@@ -354,11 +355,11 @@ struct vfsmount *cifs_dfs_d_automount(struct path *path) ...@@ -354,11 +355,11 @@ struct vfsmount *cifs_dfs_d_automount(struct path *path)
{ {
struct vfsmount *newmnt; struct vfsmount *newmnt;
cFYI(1, "in %s", __func__); cifs_dbg(FYI, "in %s\n", __func__);
newmnt = cifs_dfs_do_automount(path->dentry); newmnt = cifs_dfs_do_automount(path->dentry);
if (IS_ERR(newmnt)) { if (IS_ERR(newmnt)) {
cFYI(1, "leaving %s [automount failed]" , __func__); cifs_dbg(FYI, "leaving %s [automount failed]\n" , __func__);
return newmnt; return newmnt;
} }
...@@ -366,7 +367,7 @@ struct vfsmount *cifs_dfs_d_automount(struct path *path) ...@@ -366,7 +367,7 @@ struct vfsmount *cifs_dfs_d_automount(struct path *path)
mnt_set_expiry(newmnt, &cifs_dfs_automount_list); mnt_set_expiry(newmnt, &cifs_dfs_automount_list);
schedule_delayed_work(&cifs_dfs_automount_task, schedule_delayed_work(&cifs_dfs_automount_task,
cifs_dfs_mountpoint_expiry_timeout); cifs_dfs_mountpoint_expiry_timeout);
cFYI(1, "leaving %s [ok]" , __func__); cifs_dbg(FYI, "leaving %s [ok]\n" , __func__);
return newmnt; return newmnt;
} }
......
...@@ -37,12 +37,11 @@ cifs_spnego_key_instantiate(struct key *key, struct key_preparsed_payload *prep) ...@@ -37,12 +37,11 @@ cifs_spnego_key_instantiate(struct key *key, struct key_preparsed_payload *prep)
int ret; int ret;
ret = -ENOMEM; ret = -ENOMEM;
payload = kmalloc(prep->datalen, GFP_KERNEL); payload = kmemdup(prep->data, prep->datalen, GFP_KERNEL);
if (!payload) if (!payload)
goto error; goto error;
/* attach the data */ /* attach the data */
memcpy(payload, prep->data, prep->datalen);
key->payload.data = payload; key->payload.data = payload;
ret = 0; ret = 0;
...@@ -164,7 +163,7 @@ cifs_get_spnego_key(struct cifs_ses *sesInfo) ...@@ -164,7 +163,7 @@ cifs_get_spnego_key(struct cifs_ses *sesInfo)
dp = description + strlen(description); dp = description + strlen(description);
sprintf(dp, ";pid=0x%x", current->pid); sprintf(dp, ";pid=0x%x", current->pid);
cFYI(1, "key description = %s", description); cifs_dbg(FYI, "key description = %s\n", description);
spnego_key = request_key(&cifs_spnego_key_type, description, ""); spnego_key = request_key(&cifs_spnego_key_type, description, "");
#ifdef CONFIG_CIFS_DEBUG2 #ifdef CONFIG_CIFS_DEBUG2
......
...@@ -227,8 +227,8 @@ cifs_strtoUTF16(__le16 *to, const char *from, int len, ...@@ -227,8 +227,8 @@ cifs_strtoUTF16(__le16 *to, const char *from, int len,
for (i = 0; len && *from; i++, from += charlen, len -= charlen) { for (i = 0; len && *from; i++, from += charlen, len -= charlen) {
charlen = codepage->char2uni(from, len, &wchar_to); charlen = codepage->char2uni(from, len, &wchar_to);
if (charlen < 1) { if (charlen < 1) {
cERROR(1, "strtoUTF16: char2uni of 0x%x returned %d", cifs_dbg(VFS, "strtoUTF16: char2uni of 0x%x returned %d\n",
*from, charlen); *from, charlen);
/* A question mark */ /* A question mark */
wchar_to = 0x003f; wchar_to = 0x003f;
charlen = 1; charlen = 1;
......
...@@ -63,11 +63,10 @@ cifs_idmap_key_instantiate(struct key *key, struct key_preparsed_payload *prep) ...@@ -63,11 +63,10 @@ cifs_idmap_key_instantiate(struct key *key, struct key_preparsed_payload *prep)
key->datalen = prep->datalen; key->datalen = prep->datalen;
return 0; return 0;
} }
payload = kmalloc(prep->datalen, GFP_KERNEL); payload = kmemdup(prep->data, prep->datalen, GFP_KERNEL);
if (!payload) if (!payload)
return -ENOMEM; return -ENOMEM;
memcpy(payload, prep->data, prep->datalen);
key->payload.data = payload; key->payload.data = payload;
key->datalen = prep->datalen; key->datalen = prep->datalen;
return 0; return 0;
...@@ -219,13 +218,13 @@ id_to_sid(unsigned int cid, uint sidtype, struct cifs_sid *ssid) ...@@ -219,13 +218,13 @@ id_to_sid(unsigned int cid, uint sidtype, struct cifs_sid *ssid)
sidkey = request_key(&cifs_idmap_key_type, desc, ""); sidkey = request_key(&cifs_idmap_key_type, desc, "");
if (IS_ERR(sidkey)) { if (IS_ERR(sidkey)) {
rc = -EINVAL; rc = -EINVAL;
cFYI(1, "%s: Can't map %cid %u to a SID", __func__, cifs_dbg(FYI, "%s: Can't map %cid %u to a SID\n",
sidtype == SIDOWNER ? 'u' : 'g', cid); __func__, sidtype == SIDOWNER ? 'u' : 'g', cid);
goto out_revert_creds; goto out_revert_creds;
} else if (sidkey->datalen < CIFS_SID_BASE_SIZE) { } else if (sidkey->datalen < CIFS_SID_BASE_SIZE) {
rc = -EIO; rc = -EIO;
cFYI(1, "%s: Downcall contained malformed key " cifs_dbg(FYI, "%s: Downcall contained malformed key (datalen=%hu)\n",
"(datalen=%hu)", __func__, sidkey->datalen); __func__, sidkey->datalen);
goto invalidate_key; goto invalidate_key;
} }
...@@ -241,8 +240,8 @@ id_to_sid(unsigned int cid, uint sidtype, struct cifs_sid *ssid) ...@@ -241,8 +240,8 @@ id_to_sid(unsigned int cid, uint sidtype, struct cifs_sid *ssid)
ksid_size = CIFS_SID_BASE_SIZE + (ksid->num_subauth * sizeof(__le32)); ksid_size = CIFS_SID_BASE_SIZE + (ksid->num_subauth * sizeof(__le32));
if (ksid_size > sidkey->datalen) { if (ksid_size > sidkey->datalen) {
rc = -EIO; rc = -EIO;
cFYI(1, "%s: Downcall contained malformed key (datalen=%hu, " cifs_dbg(FYI, "%s: Downcall contained malformed key (datalen=%hu, ksid_size=%u)\n",
"ksid_size=%u)", __func__, sidkey->datalen, ksid_size); __func__, sidkey->datalen, ksid_size);
goto invalidate_key; goto invalidate_key;
} }
...@@ -274,8 +273,8 @@ sid_to_id(struct cifs_sb_info *cifs_sb, struct cifs_sid *psid, ...@@ -274,8 +273,8 @@ sid_to_id(struct cifs_sb_info *cifs_sb, struct cifs_sid *psid,
* Just return an error. * Just return an error.
*/ */
if (unlikely(psid->num_subauth > SID_MAX_SUB_AUTHORITIES)) { if (unlikely(psid->num_subauth > SID_MAX_SUB_AUTHORITIES)) {
cFYI(1, "%s: %u subauthorities is too many!", __func__, cifs_dbg(FYI, "%s: %u subauthorities is too many!\n",
psid->num_subauth); __func__, psid->num_subauth);
return -EIO; return -EIO;
} }
...@@ -287,8 +286,8 @@ sid_to_id(struct cifs_sb_info *cifs_sb, struct cifs_sid *psid, ...@@ -287,8 +286,8 @@ sid_to_id(struct cifs_sb_info *cifs_sb, struct cifs_sid *psid,
sidkey = request_key(&cifs_idmap_key_type, sidstr, ""); sidkey = request_key(&cifs_idmap_key_type, sidstr, "");
if (IS_ERR(sidkey)) { if (IS_ERR(sidkey)) {
rc = -EINVAL; rc = -EINVAL;
cFYI(1, "%s: Can't map SID %s to a %cid", __func__, sidstr, cifs_dbg(FYI, "%s: Can't map SID %s to a %cid\n",
sidtype == SIDOWNER ? 'u' : 'g'); __func__, sidstr, sidtype == SIDOWNER ? 'u' : 'g');
goto out_revert_creds; goto out_revert_creds;
} }
...@@ -300,8 +299,8 @@ sid_to_id(struct cifs_sb_info *cifs_sb, struct cifs_sid *psid, ...@@ -300,8 +299,8 @@ sid_to_id(struct cifs_sb_info *cifs_sb, struct cifs_sid *psid,
BUILD_BUG_ON(sizeof(uid_t) != sizeof(gid_t)); BUILD_BUG_ON(sizeof(uid_t) != sizeof(gid_t));
if (sidkey->datalen != sizeof(uid_t)) { if (sidkey->datalen != sizeof(uid_t)) {
rc = -EIO; rc = -EIO;
cFYI(1, "%s: Downcall contained malformed key " cifs_dbg(FYI, "%s: Downcall contained malformed key (datalen=%hu)\n",
"(datalen=%hu)", __func__, sidkey->datalen); __func__, sidkey->datalen);
key_invalidate(sidkey); key_invalidate(sidkey);
goto out_key_put; goto out_key_put;
} }
...@@ -346,7 +345,8 @@ init_cifs_idmap(void) ...@@ -346,7 +345,8 @@ init_cifs_idmap(void)
struct key *keyring; struct key *keyring;
int ret; int ret;
cFYI(1, "Registering the %s key type", cifs_idmap_key_type.name); cifs_dbg(FYI, "Registering the %s key type\n",
cifs_idmap_key_type.name);
/* create an override credential set with a special thread keyring in /* create an override credential set with a special thread keyring in
* which requests are cached * which requests are cached
...@@ -379,7 +379,7 @@ init_cifs_idmap(void) ...@@ -379,7 +379,7 @@ init_cifs_idmap(void)
cred->jit_keyring = KEY_REQKEY_DEFL_THREAD_KEYRING; cred->jit_keyring = KEY_REQKEY_DEFL_THREAD_KEYRING;
root_cred = cred; root_cred = cred;
cFYI(1, "cifs idmap keyring: %d", key_serial(keyring)); cifs_dbg(FYI, "cifs idmap keyring: %d\n", key_serial(keyring));
return 0; return 0;
failed_put_key: failed_put_key:
...@@ -395,7 +395,7 @@ exit_cifs_idmap(void) ...@@ -395,7 +395,7 @@ exit_cifs_idmap(void)
key_revoke(root_cred->thread_keyring); key_revoke(root_cred->thread_keyring);
unregister_key_type(&cifs_idmap_key_type); unregister_key_type(&cifs_idmap_key_type);
put_cred(root_cred); put_cred(root_cred);
cFYI(1, "Unregistered %s key type", cifs_idmap_key_type.name); cifs_dbg(FYI, "Unregistered %s key type\n", cifs_idmap_key_type.name);
} }
/* copy ntsd, owner sid, and group sid from a security descriptor to another */ /* copy ntsd, owner sid, and group sid from a security descriptor to another */
...@@ -462,14 +462,14 @@ static void access_flags_to_mode(__le32 ace_flags, int type, umode_t *pmode, ...@@ -462,14 +462,14 @@ static void access_flags_to_mode(__le32 ace_flags, int type, umode_t *pmode,
*pbits_to_set &= ~S_IXUGO; *pbits_to_set &= ~S_IXUGO;
return; return;
} else if (type != ACCESS_ALLOWED) { } else if (type != ACCESS_ALLOWED) {
cERROR(1, "unknown access control type %d", type); cifs_dbg(VFS, "unknown access control type %d\n", type);
return; return;
} }
/* else ACCESS_ALLOWED type */ /* else ACCESS_ALLOWED type */
if (flags & GENERIC_ALL) { if (flags & GENERIC_ALL) {
*pmode |= (S_IRWXUGO & (*pbits_to_set)); *pmode |= (S_IRWXUGO & (*pbits_to_set));
cFYI(DBG2, "all perms"); cifs_dbg(NOISY, "all perms\n");
return; return;
} }
if ((flags & GENERIC_WRITE) || if ((flags & GENERIC_WRITE) ||
...@@ -482,7 +482,7 @@ static void access_flags_to_mode(__le32 ace_flags, int type, umode_t *pmode, ...@@ -482,7 +482,7 @@ static void access_flags_to_mode(__le32 ace_flags, int type, umode_t *pmode,
((flags & FILE_EXEC_RIGHTS) == FILE_EXEC_RIGHTS)) ((flags & FILE_EXEC_RIGHTS) == FILE_EXEC_RIGHTS))
*pmode |= (S_IXUGO & (*pbits_to_set)); *pmode |= (S_IXUGO & (*pbits_to_set));
cFYI(DBG2, "access flags 0x%x mode now 0x%x", flags, *pmode); cifs_dbg(NOISY, "access flags 0x%x mode now 0x%x\n", flags, *pmode);
return; return;
} }
...@@ -511,7 +511,8 @@ static void mode_to_access_flags(umode_t mode, umode_t bits_to_use, ...@@ -511,7 +511,8 @@ static void mode_to_access_flags(umode_t mode, umode_t bits_to_use,
if (mode & S_IXUGO) if (mode & S_IXUGO)
*pace_flags |= SET_FILE_EXEC_RIGHTS; *pace_flags |= SET_FILE_EXEC_RIGHTS;
cFYI(DBG2, "mode: 0x%x, access flags now 0x%x", mode, *pace_flags); cifs_dbg(NOISY, "mode: 0x%x, access flags now 0x%x\n",
mode, *pace_flags);
return; return;
} }
...@@ -551,24 +552,24 @@ static void dump_ace(struct cifs_ace *pace, char *end_of_acl) ...@@ -551,24 +552,24 @@ static void dump_ace(struct cifs_ace *pace, char *end_of_acl)
/* validate that we do not go past end of acl */ /* validate that we do not go past end of acl */
if (le16_to_cpu(pace->size) < 16) { if (le16_to_cpu(pace->size) < 16) {
cERROR(1, "ACE too small %d", le16_to_cpu(pace->size)); cifs_dbg(VFS, "ACE too small %d\n", le16_to_cpu(pace->size));
return; return;
} }
if (end_of_acl < (char *)pace + le16_to_cpu(pace->size)) { if (end_of_acl < (char *)pace + le16_to_cpu(pace->size)) {
cERROR(1, "ACL too small to parse ACE"); cifs_dbg(VFS, "ACL too small to parse ACE\n");
return; return;
} }
num_subauth = pace->sid.num_subauth; num_subauth = pace->sid.num_subauth;
if (num_subauth) { if (num_subauth) {
int i; int i;
cFYI(1, "ACE revision %d num_auth %d type %d flags %d size %d", cifs_dbg(FYI, "ACE revision %d num_auth %d type %d flags %d size %d\n",
pace->sid.revision, pace->sid.num_subauth, pace->type, 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) { for (i = 0; i < num_subauth; ++i) {
cFYI(1, "ACE sub_auth[%d]: 0x%x", i, cifs_dbg(FYI, "ACE sub_auth[%d]: 0x%x\n",
le32_to_cpu(pace->sid.sub_auth[i])); i, le32_to_cpu(pace->sid.sub_auth[i]));
} }
/* BB add length check to make sure that we do not have huge /* BB add length check to make sure that we do not have huge
...@@ -601,13 +602,13 @@ static void parse_dacl(struct cifs_acl *pdacl, char *end_of_acl, ...@@ -601,13 +602,13 @@ static void parse_dacl(struct cifs_acl *pdacl, char *end_of_acl,
/* validate that we do not go past end of acl */ /* validate that we do not go past end of acl */
if (end_of_acl < (char *)pdacl + le16_to_cpu(pdacl->size)) { if (end_of_acl < (char *)pdacl + le16_to_cpu(pdacl->size)) {
cERROR(1, "ACL too small to parse DACL"); cifs_dbg(VFS, "ACL too small to parse DACL\n");
return; return;
} }
cFYI(DBG2, "DACL revision %d size %d num aces %d", cifs_dbg(NOISY, "DACL revision %d size %d num aces %d\n",
le16_to_cpu(pdacl->revision), le16_to_cpu(pdacl->size), 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. /* reset rwx permissions for user/group/other.
Also, if num_aces is 0 i.e. DACL has no ACEs, Also, if num_aces is 0 i.e. DACL has no ACEs,
...@@ -627,10 +628,8 @@ static void parse_dacl(struct cifs_acl *pdacl, char *end_of_acl, ...@@ -627,10 +628,8 @@ static void parse_dacl(struct cifs_acl *pdacl, char *end_of_acl,
return; return;
ppace = kmalloc(num_aces * sizeof(struct cifs_ace *), ppace = kmalloc(num_aces * sizeof(struct cifs_ace *),
GFP_KERNEL); GFP_KERNEL);
if (!ppace) { if (!ppace)
cERROR(1, "DACL memory allocation error");
return; return;
}
for (i = 0; i < num_aces; ++i) { for (i = 0; i < num_aces; ++i) {
ppace[i] = (struct cifs_ace *) (acl_base + acl_size); ppace[i] = (struct cifs_ace *) (acl_base + acl_size);
...@@ -703,25 +702,25 @@ static int parse_sid(struct cifs_sid *psid, char *end_of_acl) ...@@ -703,25 +702,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 /* 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 */ bytes long (assuming no sub-auths - e.g. the null SID */
if (end_of_acl < (char *)psid + 8) { if (end_of_acl < (char *)psid + 8) {
cERROR(1, "ACL too small to parse SID %p", psid); cifs_dbg(VFS, "ACL too small to parse SID %p\n", psid);
return -EINVAL; return -EINVAL;
} }
#ifdef CONFIG_CIFS_DEBUG2 #ifdef CONFIG_CIFS_DEBUG2
if (psid->num_subauth) { if (psid->num_subauth) {
int i; int i;
cFYI(1, "SID revision %d num_auth %d", cifs_dbg(FYI, "SID revision %d num_auth %d\n",
psid->revision, psid->num_subauth); psid->revision, psid->num_subauth);
for (i = 0; i < psid->num_subauth; i++) { for (i = 0; i < psid->num_subauth; i++) {
cFYI(1, "SID sub_auth[%d]: 0x%x ", i, cifs_dbg(FYI, "SID sub_auth[%d]: 0x%x\n",
le32_to_cpu(psid->sub_auth[i])); i, le32_to_cpu(psid->sub_auth[i]));
} }
/* BB add length check to make sure that we do not have huge /* BB add length check to make sure that we do not have huge
num auths and therefore go off the end */ num auths and therefore go off the end */
cFYI(1, "RID 0x%x", cifs_dbg(FYI, "RID 0x%x\n",
le32_to_cpu(psid->sub_auth[psid->num_subauth-1])); le32_to_cpu(psid->sub_auth[psid->num_subauth-1]));
} }
#endif #endif
...@@ -748,31 +747,33 @@ static int parse_sec_desc(struct cifs_sb_info *cifs_sb, ...@@ -748,31 +747,33 @@ static int parse_sec_desc(struct cifs_sb_info *cifs_sb,
le32_to_cpu(pntsd->gsidoffset)); le32_to_cpu(pntsd->gsidoffset));
dacloffset = le32_to_cpu(pntsd->dacloffset); dacloffset = le32_to_cpu(pntsd->dacloffset);
dacl_ptr = (struct cifs_acl *)((char *)pntsd + dacloffset); dacl_ptr = (struct cifs_acl *)((char *)pntsd + dacloffset);
cFYI(DBG2, "revision %d type 0x%x ooffset 0x%x goffset 0x%x " cifs_dbg(NOISY, "revision %d type 0x%x ooffset 0x%x goffset 0x%x sacloffset 0x%x dacloffset 0x%x\n",
"sacloffset 0x%x dacloffset 0x%x",
pntsd->revision, pntsd->type, le32_to_cpu(pntsd->osidoffset), pntsd->revision, pntsd->type, le32_to_cpu(pntsd->osidoffset),
le32_to_cpu(pntsd->gsidoffset), 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); */ /* cifs_dump_mem("owner_sid: ", owner_sid_ptr, 64); */
rc = parse_sid(owner_sid_ptr, end_of_acl); rc = parse_sid(owner_sid_ptr, end_of_acl);
if (rc) { if (rc) {
cFYI(1, "%s: Error %d parsing Owner SID", __func__, rc); cifs_dbg(FYI, "%s: Error %d parsing Owner SID\n", __func__, rc);
return rc; return rc;
} }
rc = sid_to_id(cifs_sb, owner_sid_ptr, fattr, SIDOWNER); rc = sid_to_id(cifs_sb, owner_sid_ptr, fattr, SIDOWNER);
if (rc) { if (rc) {
cFYI(1, "%s: Error %d mapping Owner SID to uid", __func__, rc); cifs_dbg(FYI, "%s: Error %d mapping Owner SID to uid\n",
__func__, rc);
return rc; return rc;
} }
rc = parse_sid(group_sid_ptr, end_of_acl); rc = parse_sid(group_sid_ptr, end_of_acl);
if (rc) { if (rc) {
cFYI(1, "%s: Error %d mapping Owner SID to gid", __func__, rc); cifs_dbg(FYI, "%s: Error %d mapping Owner SID to gid\n",
__func__, rc);
return rc; return rc;
} }
rc = sid_to_id(cifs_sb, group_sid_ptr, fattr, SIDGROUP); rc = sid_to_id(cifs_sb, group_sid_ptr, fattr, SIDGROUP);
if (rc) { if (rc) {
cFYI(1, "%s: Error %d mapping Group SID to gid", __func__, rc); cifs_dbg(FYI, "%s: Error %d mapping Group SID to gid\n",
__func__, rc);
return rc; return rc;
} }
...@@ -780,7 +781,7 @@ static int parse_sec_desc(struct cifs_sb_info *cifs_sb, ...@@ -780,7 +781,7 @@ static int parse_sec_desc(struct cifs_sb_info *cifs_sb,
parse_dacl(dacl_ptr, end_of_acl, owner_sid_ptr, parse_dacl(dacl_ptr, end_of_acl, owner_sid_ptr,
group_sid_ptr, fattr); group_sid_ptr, fattr);
else else
cFYI(1, "no ACL"); /* BB grant all or default perms? */ cifs_dbg(FYI, "no ACL\n"); /* BB grant all or default perms? */
return rc; return rc;
} }
...@@ -830,8 +831,8 @@ static int build_sec_desc(struct cifs_ntsd *pntsd, struct cifs_ntsd *pnntsd, ...@@ -830,8 +831,8 @@ static int build_sec_desc(struct cifs_ntsd *pntsd, struct cifs_ntsd *pnntsd,
id = from_kuid(&init_user_ns, uid); id = from_kuid(&init_user_ns, uid);
rc = id_to_sid(id, SIDOWNER, nowner_sid_ptr); rc = id_to_sid(id, SIDOWNER, nowner_sid_ptr);
if (rc) { if (rc) {
cFYI(1, "%s: Mapping error %d for owner id %d", cifs_dbg(FYI, "%s: Mapping error %d for owner id %d\n",
__func__, rc, id); __func__, rc, id);
kfree(nowner_sid_ptr); kfree(nowner_sid_ptr);
return rc; return rc;
} }
...@@ -850,8 +851,8 @@ static int build_sec_desc(struct cifs_ntsd *pntsd, struct cifs_ntsd *pnntsd, ...@@ -850,8 +851,8 @@ static int build_sec_desc(struct cifs_ntsd *pntsd, struct cifs_ntsd *pnntsd,
id = from_kgid(&init_user_ns, gid); id = from_kgid(&init_user_ns, gid);
rc = id_to_sid(id, SIDGROUP, ngroup_sid_ptr); rc = id_to_sid(id, SIDGROUP, ngroup_sid_ptr);
if (rc) { if (rc) {
cFYI(1, "%s: Mapping error %d for group id %d", cifs_dbg(FYI, "%s: Mapping error %d for group id %d\n",
__func__, rc, id); __func__, rc, id);
kfree(ngroup_sid_ptr); kfree(ngroup_sid_ptr);
return rc; return rc;
} }
...@@ -881,7 +882,7 @@ static struct cifs_ntsd *get_cifs_acl_by_fid(struct cifs_sb_info *cifs_sb, ...@@ -881,7 +882,7 @@ static struct cifs_ntsd *get_cifs_acl_by_fid(struct cifs_sb_info *cifs_sb,
cifs_put_tlink(tlink); cifs_put_tlink(tlink);
cFYI(1, "%s: rc = %d ACL len %d", __func__, rc, *pacllen); cifs_dbg(FYI, "%s: rc = %d ACL len %d\n", __func__, rc, *pacllen);
if (rc) if (rc)
return ERR_PTR(rc); return ERR_PTR(rc);
return pntsd; return pntsd;
...@@ -918,7 +919,7 @@ static struct cifs_ntsd *get_cifs_acl_by_path(struct cifs_sb_info *cifs_sb, ...@@ -918,7 +919,7 @@ static struct cifs_ntsd *get_cifs_acl_by_path(struct cifs_sb_info *cifs_sb,
cifs_put_tlink(tlink); cifs_put_tlink(tlink);
free_xid(xid); free_xid(xid);
cFYI(1, "%s: rc = %d ACL len %d", __func__, rc, *pacllen); cifs_dbg(FYI, "%s: rc = %d ACL len %d\n", __func__, rc, *pacllen);
if (rc) if (rc)
return ERR_PTR(rc); return ERR_PTR(rc);
return pntsd; return pntsd;
...@@ -972,12 +973,12 @@ int set_cifs_acl(struct cifs_ntsd *pnntsd, __u32 acllen, ...@@ -972,12 +973,12 @@ int set_cifs_acl(struct cifs_ntsd *pnntsd, __u32 acllen,
create_options, &fid, &oplock, NULL, cifs_sb->local_nls, create_options, &fid, &oplock, NULL, cifs_sb->local_nls,
cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MAP_SPECIAL_CHR); cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MAP_SPECIAL_CHR);
if (rc) { if (rc) {
cERROR(1, "Unable to open file to set ACL"); cifs_dbg(VFS, "Unable to open file to set ACL\n");
goto out; goto out;
} }
rc = CIFSSMBSetCIFSACL(xid, tcon, fid, pnntsd, acllen, aclflag); rc = CIFSSMBSetCIFSACL(xid, tcon, fid, pnntsd, acllen, aclflag);
cFYI(DBG2, "SetCIFSACL rc = %d", rc); cifs_dbg(NOISY, "SetCIFSACL rc = %d\n", rc);
CIFSSMBClose(xid, tcon, fid); CIFSSMBClose(xid, tcon, fid);
out: out:
...@@ -995,7 +996,7 @@ cifs_acl_to_fattr(struct cifs_sb_info *cifs_sb, struct cifs_fattr *fattr, ...@@ -995,7 +996,7 @@ cifs_acl_to_fattr(struct cifs_sb_info *cifs_sb, struct cifs_fattr *fattr,
u32 acllen = 0; u32 acllen = 0;
int rc = 0; int rc = 0;
cFYI(DBG2, "converting ACL to mode for %s", path); cifs_dbg(NOISY, "converting ACL to mode for %s\n", path);
if (pfid) if (pfid)
pntsd = get_cifs_acl_by_fid(cifs_sb, *pfid, &acllen); pntsd = get_cifs_acl_by_fid(cifs_sb, *pfid, &acllen);
...@@ -1005,12 +1006,12 @@ cifs_acl_to_fattr(struct cifs_sb_info *cifs_sb, struct cifs_fattr *fattr, ...@@ -1005,12 +1006,12 @@ cifs_acl_to_fattr(struct cifs_sb_info *cifs_sb, struct cifs_fattr *fattr,
/* if we can retrieve the ACL, now parse Access Control Entries, ACEs */ /* if we can retrieve the ACL, now parse Access Control Entries, ACEs */
if (IS_ERR(pntsd)) { if (IS_ERR(pntsd)) {
rc = PTR_ERR(pntsd); rc = PTR_ERR(pntsd);
cERROR(1, "%s: error %d getting sec desc", __func__, rc); cifs_dbg(VFS, "%s: error %d getting sec desc\n", __func__, rc);
} else { } else {
rc = parse_sec_desc(cifs_sb, pntsd, acllen, fattr); rc = parse_sec_desc(cifs_sb, pntsd, acllen, fattr);
kfree(pntsd); kfree(pntsd);
if (rc) if (rc)
cERROR(1, "parse sec desc failed rc = %d", rc); cifs_dbg(VFS, "parse sec desc failed rc = %d\n", rc);
} }
return rc; return rc;
...@@ -1027,13 +1028,13 @@ id_mode_to_cifs_acl(struct inode *inode, const char *path, __u64 nmode, ...@@ -1027,13 +1028,13 @@ id_mode_to_cifs_acl(struct inode *inode, const char *path, __u64 nmode,
struct cifs_ntsd *pntsd = NULL; /* acl obtained from server */ struct cifs_ntsd *pntsd = NULL; /* acl obtained from server */
struct cifs_ntsd *pnntsd = NULL; /* modified acl to be sent to server */ struct cifs_ntsd *pnntsd = NULL; /* modified acl to be sent to server */
cFYI(DBG2, "set ACL from mode for %s", path); cifs_dbg(NOISY, "set ACL from mode for %s\n", path);
/* Get the security descriptor */ /* Get the security descriptor */
pntsd = get_cifs_acl(CIFS_SB(inode->i_sb), inode, path, &secdesclen); pntsd = get_cifs_acl(CIFS_SB(inode->i_sb), inode, path, &secdesclen);
if (IS_ERR(pntsd)) { if (IS_ERR(pntsd)) {
rc = PTR_ERR(pntsd); rc = PTR_ERR(pntsd);
cERROR(1, "%s: error %d getting sec desc", __func__, rc); cifs_dbg(VFS, "%s: error %d getting sec desc\n", __func__, rc);
goto out; goto out;
} }
...@@ -1046,7 +1047,6 @@ id_mode_to_cifs_acl(struct inode *inode, const char *path, __u64 nmode, ...@@ -1046,7 +1047,6 @@ id_mode_to_cifs_acl(struct inode *inode, const char *path, __u64 nmode,
secdesclen = max_t(u32, secdesclen, DEFAULT_SEC_DESC_LEN); secdesclen = max_t(u32, secdesclen, DEFAULT_SEC_DESC_LEN);
pnntsd = kmalloc(secdesclen, GFP_KERNEL); pnntsd = kmalloc(secdesclen, GFP_KERNEL);
if (!pnntsd) { if (!pnntsd) {
cERROR(1, "Unable to allocate security descriptor");
kfree(pntsd); kfree(pntsd);
return -ENOMEM; return -ENOMEM;
} }
...@@ -1054,12 +1054,12 @@ id_mode_to_cifs_acl(struct inode *inode, const char *path, __u64 nmode, ...@@ -1054,12 +1054,12 @@ id_mode_to_cifs_acl(struct inode *inode, const char *path, __u64 nmode,
rc = build_sec_desc(pntsd, pnntsd, secdesclen, nmode, uid, gid, rc = build_sec_desc(pntsd, pnntsd, secdesclen, nmode, uid, gid,
&aclflag); &aclflag);
cFYI(DBG2, "build_sec_desc rc: %d", rc); cifs_dbg(NOISY, "build_sec_desc rc: %d\n", rc);
if (!rc) { if (!rc) {
/* Set the security descriptor */ /* Set the security descriptor */
rc = set_cifs_acl(pnntsd, secdesclen, inode, path, aclflag); rc = set_cifs_acl(pnntsd, secdesclen, inode, path, aclflag);
cFYI(DBG2, "set_cifs_acl rc: %d", rc); cifs_dbg(NOISY, "set_cifs_acl rc: %d\n", rc);
} }
kfree(pnntsd); kfree(pnntsd);
......
...@@ -50,20 +50,20 @@ static int cifs_calc_signature(struct smb_rqst *rqst, ...@@ -50,20 +50,20 @@ static int cifs_calc_signature(struct smb_rqst *rqst,
return -EINVAL; return -EINVAL;
if (!server->secmech.sdescmd5) { if (!server->secmech.sdescmd5) {
cERROR(1, "%s: Can't generate signature", __func__); cifs_dbg(VFS, "%s: Can't generate signature\n", __func__);
return -1; return -1;
} }
rc = crypto_shash_init(&server->secmech.sdescmd5->shash); rc = crypto_shash_init(&server->secmech.sdescmd5->shash);
if (rc) { if (rc) {
cERROR(1, "%s: Could not init md5", __func__); cifs_dbg(VFS, "%s: Could not init md5\n", __func__);
return rc; return rc;
} }
rc = crypto_shash_update(&server->secmech.sdescmd5->shash, rc = crypto_shash_update(&server->secmech.sdescmd5->shash,
server->session_key.response, server->session_key.len); server->session_key.response, server->session_key.len);
if (rc) { if (rc) {
cERROR(1, "%s: Could not update with response", __func__); cifs_dbg(VFS, "%s: Could not update with response\n", __func__);
return rc; return rc;
} }
...@@ -71,7 +71,7 @@ static int cifs_calc_signature(struct smb_rqst *rqst, ...@@ -71,7 +71,7 @@ static int cifs_calc_signature(struct smb_rqst *rqst,
if (iov[i].iov_len == 0) if (iov[i].iov_len == 0)
continue; continue;
if (iov[i].iov_base == NULL) { if (iov[i].iov_base == NULL) {
cERROR(1, "null iovec entry"); cifs_dbg(VFS, "null iovec entry\n");
return -EIO; return -EIO;
} }
/* The first entry includes a length field (which does not get /* The first entry includes a length field (which does not get
...@@ -88,8 +88,8 @@ static int cifs_calc_signature(struct smb_rqst *rqst, ...@@ -88,8 +88,8 @@ static int cifs_calc_signature(struct smb_rqst *rqst,
iov[i].iov_base, iov[i].iov_len); iov[i].iov_base, iov[i].iov_len);
} }
if (rc) { if (rc) {
cERROR(1, "%s: Could not update with payload", cifs_dbg(VFS, "%s: Could not update with payload\n",
__func__); __func__);
return rc; return rc;
} }
} }
...@@ -106,7 +106,7 @@ static int cifs_calc_signature(struct smb_rqst *rqst, ...@@ -106,7 +106,7 @@ static int cifs_calc_signature(struct smb_rqst *rqst,
rc = crypto_shash_final(&server->secmech.sdescmd5->shash, signature); rc = crypto_shash_final(&server->secmech.sdescmd5->shash, signature);
if (rc) if (rc)
cERROR(1, "%s: Could not generate md5 hash", __func__); cifs_dbg(VFS, "%s: Could not generate md5 hash\n", __func__);
return rc; return rc;
} }
...@@ -135,8 +135,8 @@ int cifs_sign_rqst(struct smb_rqst *rqst, struct TCP_Server_Info *server, ...@@ -135,8 +135,8 @@ int cifs_sign_rqst(struct smb_rqst *rqst, struct TCP_Server_Info *server,
cpu_to_le32(server->sequence_number); cpu_to_le32(server->sequence_number);
cifs_pdu->Signature.Sequence.Reserved = 0; cifs_pdu->Signature.Sequence.Reserved = 0;
*pexpected_response_sequence_number = server->sequence_number++; *pexpected_response_sequence_number = ++server->sequence_number;
server->sequence_number++; ++server->sequence_number;
rc = cifs_calc_signature(rqst, server, smb_signature); rc = cifs_calc_signature(rqst, server, smb_signature);
if (rc) if (rc)
...@@ -196,8 +196,8 @@ int cifs_verify_signature(struct smb_rqst *rqst, ...@@ -196,8 +196,8 @@ int cifs_verify_signature(struct smb_rqst *rqst,
/* Do not need to verify session setups with signature "BSRSPYL " */ /* Do not need to verify session setups with signature "BSRSPYL " */
if (memcmp(cifs_pdu->Signature.SecuritySignature, "BSRSPYL ", 8) == 0) if (memcmp(cifs_pdu->Signature.SecuritySignature, "BSRSPYL ", 8) == 0)
cFYI(1, "dummy signature received for smb command 0x%x", cifs_dbg(FYI, "dummy signature received for smb command 0x%x\n",
cifs_pdu->Command); cifs_pdu->Command);
/* save off the origiginal signature so we can modify the smb and check /* save off the origiginal signature so we can modify the smb and check
its signature against what the server sent */ its signature against what the server sent */
...@@ -235,30 +235,30 @@ int setup_ntlm_response(struct cifs_ses *ses, const struct nls_table *nls_cp) ...@@ -235,30 +235,30 @@ int setup_ntlm_response(struct cifs_ses *ses, const struct nls_table *nls_cp)
return -EINVAL; return -EINVAL;
ses->auth_key.response = kmalloc(temp_len, GFP_KERNEL); ses->auth_key.response = kmalloc(temp_len, GFP_KERNEL);
if (!ses->auth_key.response) { if (!ses->auth_key.response)
cERROR(1, "NTLM can't allocate (%u bytes) memory", temp_len);
return -ENOMEM; return -ENOMEM;
}
ses->auth_key.len = temp_len; ses->auth_key.len = temp_len;
rc = SMBNTencrypt(ses->password, ses->server->cryptkey, rc = SMBNTencrypt(ses->password, ses->server->cryptkey,
ses->auth_key.response + CIFS_SESS_KEY_SIZE, nls_cp); ses->auth_key.response + CIFS_SESS_KEY_SIZE, nls_cp);
if (rc) { if (rc) {
cFYI(1, "%s Can't generate NTLM response, error: %d", cifs_dbg(FYI, "%s Can't generate NTLM response, error: %d\n",
__func__, rc); __func__, rc);
return rc; return rc;
} }
rc = E_md4hash(ses->password, temp_key, nls_cp); rc = E_md4hash(ses->password, temp_key, nls_cp);
if (rc) { if (rc) {
cFYI(1, "%s Can't generate NT hash, error: %d", __func__, rc); cifs_dbg(FYI, "%s Can't generate NT hash, error: %d\n",
__func__, rc);
return rc; return rc;
} }
rc = mdfour(ses->auth_key.response, temp_key, CIFS_SESS_KEY_SIZE); rc = mdfour(ses->auth_key.response, temp_key, CIFS_SESS_KEY_SIZE);
if (rc) if (rc)
cFYI(1, "%s Can't generate NTLM session key, error: %d", cifs_dbg(FYI, "%s Can't generate NTLM session key, error: %d\n",
__func__, rc); __func__, rc);
return rc; return rc;
} }
...@@ -334,7 +334,6 @@ build_avpair_blob(struct cifs_ses *ses, const struct nls_table *nls_cp) ...@@ -334,7 +334,6 @@ build_avpair_blob(struct cifs_ses *ses, const struct nls_table *nls_cp)
ses->auth_key.response = kzalloc(ses->auth_key.len, GFP_KERNEL); ses->auth_key.response = kzalloc(ses->auth_key.len, GFP_KERNEL);
if (!ses->auth_key.response) { if (!ses->auth_key.response) {
ses->auth_key.len = 0; ses->auth_key.len = 0;
cERROR(1, "Challenge target info allocation failure");
return -ENOMEM; return -ENOMEM;
} }
...@@ -420,7 +419,7 @@ static int calc_ntlmv2_hash(struct cifs_ses *ses, char *ntlmv2_hash, ...@@ -420,7 +419,7 @@ static int calc_ntlmv2_hash(struct cifs_ses *ses, char *ntlmv2_hash,
wchar_t *server; wchar_t *server;
if (!ses->server->secmech.sdeschmacmd5) { if (!ses->server->secmech.sdeschmacmd5) {
cERROR(1, "calc_ntlmv2_hash: can't generate ntlmv2 hash"); cifs_dbg(VFS, "%s: can't generate ntlmv2 hash\n", __func__);
return -1; return -1;
} }
...@@ -430,13 +429,13 @@ static int calc_ntlmv2_hash(struct cifs_ses *ses, char *ntlmv2_hash, ...@@ -430,13 +429,13 @@ static int calc_ntlmv2_hash(struct cifs_ses *ses, char *ntlmv2_hash,
rc = crypto_shash_setkey(ses->server->secmech.hmacmd5, nt_hash, rc = crypto_shash_setkey(ses->server->secmech.hmacmd5, nt_hash,
CIFS_NTHASH_SIZE); CIFS_NTHASH_SIZE);
if (rc) { if (rc) {
cERROR(1, "%s: Could not set NT Hash as a key", __func__); cifs_dbg(VFS, "%s: Could not set NT Hash as a key\n", __func__);
return rc; return rc;
} }
rc = crypto_shash_init(&ses->server->secmech.sdeschmacmd5->shash); rc = crypto_shash_init(&ses->server->secmech.sdeschmacmd5->shash);
if (rc) { if (rc) {
cERROR(1, "calc_ntlmv2_hash: could not init hmacmd5"); cifs_dbg(VFS, "%s: could not init hmacmd5\n", __func__);
return rc; return rc;
} }
...@@ -444,7 +443,6 @@ static int calc_ntlmv2_hash(struct cifs_ses *ses, char *ntlmv2_hash, ...@@ -444,7 +443,6 @@ static int calc_ntlmv2_hash(struct cifs_ses *ses, char *ntlmv2_hash,
len = ses->user_name ? strlen(ses->user_name) : 0; len = ses->user_name ? strlen(ses->user_name) : 0;
user = kmalloc(2 + (len * 2), GFP_KERNEL); user = kmalloc(2 + (len * 2), GFP_KERNEL);
if (user == NULL) { if (user == NULL) {
cERROR(1, "calc_ntlmv2_hash: user mem alloc failure");
rc = -ENOMEM; rc = -ENOMEM;
return rc; return rc;
} }
...@@ -460,7 +458,7 @@ static int calc_ntlmv2_hash(struct cifs_ses *ses, char *ntlmv2_hash, ...@@ -460,7 +458,7 @@ static int calc_ntlmv2_hash(struct cifs_ses *ses, char *ntlmv2_hash,
(char *)user, 2 * len); (char *)user, 2 * len);
kfree(user); kfree(user);
if (rc) { if (rc) {
cERROR(1, "%s: Could not update with user", __func__); cifs_dbg(VFS, "%s: Could not update with user\n", __func__);
return rc; return rc;
} }
...@@ -470,7 +468,6 @@ static int calc_ntlmv2_hash(struct cifs_ses *ses, char *ntlmv2_hash, ...@@ -470,7 +468,6 @@ static int calc_ntlmv2_hash(struct cifs_ses *ses, char *ntlmv2_hash,
domain = kmalloc(2 + (len * 2), GFP_KERNEL); domain = kmalloc(2 + (len * 2), GFP_KERNEL);
if (domain == NULL) { if (domain == NULL) {
cERROR(1, "calc_ntlmv2_hash: domain mem alloc failure");
rc = -ENOMEM; rc = -ENOMEM;
return rc; return rc;
} }
...@@ -481,8 +478,8 @@ static int calc_ntlmv2_hash(struct cifs_ses *ses, char *ntlmv2_hash, ...@@ -481,8 +478,8 @@ static int calc_ntlmv2_hash(struct cifs_ses *ses, char *ntlmv2_hash,
(char *)domain, 2 * len); (char *)domain, 2 * len);
kfree(domain); kfree(domain);
if (rc) { if (rc) {
cERROR(1, "%s: Could not update with domain", cifs_dbg(VFS, "%s: Could not update with domain\n",
__func__); __func__);
return rc; return rc;
} }
} else if (ses->serverName) { } else if (ses->serverName) {
...@@ -490,7 +487,6 @@ static int calc_ntlmv2_hash(struct cifs_ses *ses, char *ntlmv2_hash, ...@@ -490,7 +487,6 @@ static int calc_ntlmv2_hash(struct cifs_ses *ses, char *ntlmv2_hash,
server = kmalloc(2 + (len * 2), GFP_KERNEL); server = kmalloc(2 + (len * 2), GFP_KERNEL);
if (server == NULL) { if (server == NULL) {
cERROR(1, "calc_ntlmv2_hash: server mem alloc failure");
rc = -ENOMEM; rc = -ENOMEM;
return rc; return rc;
} }
...@@ -501,8 +497,8 @@ static int calc_ntlmv2_hash(struct cifs_ses *ses, char *ntlmv2_hash, ...@@ -501,8 +497,8 @@ static int calc_ntlmv2_hash(struct cifs_ses *ses, char *ntlmv2_hash,
(char *)server, 2 * len); (char *)server, 2 * len);
kfree(server); kfree(server);
if (rc) { if (rc) {
cERROR(1, "%s: Could not update with server", cifs_dbg(VFS, "%s: Could not update with server\n",
__func__); __func__);
return rc; return rc;
} }
} }
...@@ -510,7 +506,7 @@ static int calc_ntlmv2_hash(struct cifs_ses *ses, char *ntlmv2_hash, ...@@ -510,7 +506,7 @@ static int calc_ntlmv2_hash(struct cifs_ses *ses, char *ntlmv2_hash,
rc = crypto_shash_final(&ses->server->secmech.sdeschmacmd5->shash, rc = crypto_shash_final(&ses->server->secmech.sdeschmacmd5->shash,
ntlmv2_hash); ntlmv2_hash);
if (rc) if (rc)
cERROR(1, "%s: Could not generate md5 hash", __func__); cifs_dbg(VFS, "%s: Could not generate md5 hash\n", __func__);
return rc; return rc;
} }
...@@ -522,20 +518,21 @@ CalcNTLMv2_response(const struct cifs_ses *ses, char *ntlmv2_hash) ...@@ -522,20 +518,21 @@ CalcNTLMv2_response(const struct cifs_ses *ses, char *ntlmv2_hash)
unsigned int offset = CIFS_SESS_KEY_SIZE + 8; unsigned int offset = CIFS_SESS_KEY_SIZE + 8;
if (!ses->server->secmech.sdeschmacmd5) { if (!ses->server->secmech.sdeschmacmd5) {
cERROR(1, "calc_ntlmv2_hash: can't generate ntlmv2 hash"); cifs_dbg(VFS, "%s: can't generate ntlmv2 hash\n", __func__);
return -1; return -1;
} }
rc = crypto_shash_setkey(ses->server->secmech.hmacmd5, rc = crypto_shash_setkey(ses->server->secmech.hmacmd5,
ntlmv2_hash, CIFS_HMAC_MD5_HASH_SIZE); ntlmv2_hash, CIFS_HMAC_MD5_HASH_SIZE);
if (rc) { if (rc) {
cERROR(1, "%s: Could not set NTLMV2 Hash as a key", __func__); cifs_dbg(VFS, "%s: Could not set NTLMV2 Hash as a key\n",
__func__);
return rc; return rc;
} }
rc = crypto_shash_init(&ses->server->secmech.sdeschmacmd5->shash); rc = crypto_shash_init(&ses->server->secmech.sdeschmacmd5->shash);
if (rc) { if (rc) {
cERROR(1, "CalcNTLMv2_response: could not init hmacmd5"); cifs_dbg(VFS, "%s: could not init hmacmd5\n", __func__);
return rc; return rc;
} }
...@@ -548,14 +545,14 @@ CalcNTLMv2_response(const struct cifs_ses *ses, char *ntlmv2_hash) ...@@ -548,14 +545,14 @@ CalcNTLMv2_response(const struct cifs_ses *ses, char *ntlmv2_hash)
rc = crypto_shash_update(&ses->server->secmech.sdeschmacmd5->shash, rc = crypto_shash_update(&ses->server->secmech.sdeschmacmd5->shash,
ses->auth_key.response + offset, ses->auth_key.len - offset); ses->auth_key.response + offset, ses->auth_key.len - offset);
if (rc) { if (rc) {
cERROR(1, "%s: Could not update with response", __func__); cifs_dbg(VFS, "%s: Could not update with response\n", __func__);
return rc; return rc;
} }
rc = crypto_shash_final(&ses->server->secmech.sdeschmacmd5->shash, rc = crypto_shash_final(&ses->server->secmech.sdeschmacmd5->shash,
ses->auth_key.response + CIFS_SESS_KEY_SIZE); ses->auth_key.response + CIFS_SESS_KEY_SIZE);
if (rc) if (rc)
cERROR(1, "%s: Could not generate md5 hash", __func__); cifs_dbg(VFS, "%s: Could not generate md5 hash\n", __func__);
return rc; return rc;
} }
...@@ -575,14 +572,15 @@ setup_ntlmv2_rsp(struct cifs_ses *ses, const struct nls_table *nls_cp) ...@@ -575,14 +572,15 @@ setup_ntlmv2_rsp(struct cifs_ses *ses, const struct nls_table *nls_cp)
if (!ses->domainName) { if (!ses->domainName) {
rc = find_domain_name(ses, nls_cp); rc = find_domain_name(ses, nls_cp);
if (rc) { if (rc) {
cERROR(1, "error %d finding domain name", rc); cifs_dbg(VFS, "error %d finding domain name\n",
rc);
goto setup_ntlmv2_rsp_ret; goto setup_ntlmv2_rsp_ret;
} }
} }
} else { } else {
rc = build_avpair_blob(ses, nls_cp); rc = build_avpair_blob(ses, nls_cp);
if (rc) { if (rc) {
cERROR(1, "error %d building av pair blob", rc); cifs_dbg(VFS, "error %d building av pair blob\n", rc);
goto setup_ntlmv2_rsp_ret; goto setup_ntlmv2_rsp_ret;
} }
} }
...@@ -595,7 +593,6 @@ setup_ntlmv2_rsp(struct cifs_ses *ses, const struct nls_table *nls_cp) ...@@ -595,7 +593,6 @@ setup_ntlmv2_rsp(struct cifs_ses *ses, const struct nls_table *nls_cp)
if (!ses->auth_key.response) { if (!ses->auth_key.response) {
rc = ENOMEM; rc = ENOMEM;
ses->auth_key.len = 0; ses->auth_key.len = 0;
cERROR(1, "%s: Can't allocate auth blob", __func__);
goto setup_ntlmv2_rsp_ret; goto setup_ntlmv2_rsp_ret;
} }
ses->auth_key.len += baselen; ses->auth_key.len += baselen;
...@@ -613,14 +610,14 @@ setup_ntlmv2_rsp(struct cifs_ses *ses, const struct nls_table *nls_cp) ...@@ -613,14 +610,14 @@ setup_ntlmv2_rsp(struct cifs_ses *ses, const struct nls_table *nls_cp)
/* calculate ntlmv2_hash */ /* calculate ntlmv2_hash */
rc = calc_ntlmv2_hash(ses, ntlmv2_hash, nls_cp); rc = calc_ntlmv2_hash(ses, ntlmv2_hash, nls_cp);
if (rc) { if (rc) {
cERROR(1, "could not get v2 hash rc %d", rc); cifs_dbg(VFS, "could not get v2 hash rc %d\n", rc);
goto setup_ntlmv2_rsp_ret; goto setup_ntlmv2_rsp_ret;
} }
/* calculate first part of the client response (CR1) */ /* calculate first part of the client response (CR1) */
rc = CalcNTLMv2_response(ses, ntlmv2_hash); rc = CalcNTLMv2_response(ses, ntlmv2_hash);
if (rc) { if (rc) {
cERROR(1, "Could not calculate CR1 rc: %d", rc); cifs_dbg(VFS, "Could not calculate CR1 rc: %d\n", rc);
goto setup_ntlmv2_rsp_ret; goto setup_ntlmv2_rsp_ret;
} }
...@@ -628,13 +625,14 @@ setup_ntlmv2_rsp(struct cifs_ses *ses, const struct nls_table *nls_cp) ...@@ -628,13 +625,14 @@ setup_ntlmv2_rsp(struct cifs_ses *ses, const struct nls_table *nls_cp)
rc = crypto_shash_setkey(ses->server->secmech.hmacmd5, rc = crypto_shash_setkey(ses->server->secmech.hmacmd5,
ntlmv2_hash, CIFS_HMAC_MD5_HASH_SIZE); ntlmv2_hash, CIFS_HMAC_MD5_HASH_SIZE);
if (rc) { if (rc) {
cERROR(1, "%s: Could not set NTLMV2 Hash as a key", __func__); cifs_dbg(VFS, "%s: Could not set NTLMV2 Hash as a key\n",
__func__);
goto setup_ntlmv2_rsp_ret; goto setup_ntlmv2_rsp_ret;
} }
rc = crypto_shash_init(&ses->server->secmech.sdeschmacmd5->shash); rc = crypto_shash_init(&ses->server->secmech.sdeschmacmd5->shash);
if (rc) { if (rc) {
cERROR(1, "%s: Could not init hmacmd5", __func__); cifs_dbg(VFS, "%s: Could not init hmacmd5\n", __func__);
goto setup_ntlmv2_rsp_ret; goto setup_ntlmv2_rsp_ret;
} }
...@@ -642,14 +640,14 @@ setup_ntlmv2_rsp(struct cifs_ses *ses, const struct nls_table *nls_cp) ...@@ -642,14 +640,14 @@ setup_ntlmv2_rsp(struct cifs_ses *ses, const struct nls_table *nls_cp)
ses->auth_key.response + CIFS_SESS_KEY_SIZE, ses->auth_key.response + CIFS_SESS_KEY_SIZE,
CIFS_HMAC_MD5_HASH_SIZE); CIFS_HMAC_MD5_HASH_SIZE);
if (rc) { if (rc) {
cERROR(1, "%s: Could not update with response", __func__); cifs_dbg(VFS, "%s: Could not update with response\n", __func__);
goto setup_ntlmv2_rsp_ret; goto setup_ntlmv2_rsp_ret;
} }
rc = crypto_shash_final(&ses->server->secmech.sdeschmacmd5->shash, rc = crypto_shash_final(&ses->server->secmech.sdeschmacmd5->shash,
ses->auth_key.response); ses->auth_key.response);
if (rc) if (rc)
cERROR(1, "%s: Could not generate md5 hash", __func__); cifs_dbg(VFS, "%s: Could not generate md5 hash\n", __func__);
setup_ntlmv2_rsp_ret: setup_ntlmv2_rsp_ret:
kfree(tiblob); kfree(tiblob);
...@@ -671,7 +669,7 @@ calc_seckey(struct cifs_ses *ses) ...@@ -671,7 +669,7 @@ calc_seckey(struct cifs_ses *ses)
tfm_arc4 = crypto_alloc_blkcipher("ecb(arc4)", 0, CRYPTO_ALG_ASYNC); tfm_arc4 = crypto_alloc_blkcipher("ecb(arc4)", 0, CRYPTO_ALG_ASYNC);
if (IS_ERR(tfm_arc4)) { if (IS_ERR(tfm_arc4)) {
rc = PTR_ERR(tfm_arc4); rc = PTR_ERR(tfm_arc4);
cERROR(1, "could not allocate crypto API arc4"); cifs_dbg(VFS, "could not allocate crypto API arc4\n");
return rc; return rc;
} }
...@@ -680,7 +678,8 @@ calc_seckey(struct cifs_ses *ses) ...@@ -680,7 +678,8 @@ calc_seckey(struct cifs_ses *ses)
rc = crypto_blkcipher_setkey(tfm_arc4, ses->auth_key.response, rc = crypto_blkcipher_setkey(tfm_arc4, ses->auth_key.response,
CIFS_SESS_KEY_SIZE); CIFS_SESS_KEY_SIZE);
if (rc) { if (rc) {
cERROR(1, "%s: Could not set response as a key", __func__); cifs_dbg(VFS, "%s: Could not set response as a key\n",
__func__);
return rc; return rc;
} }
...@@ -689,7 +688,7 @@ calc_seckey(struct cifs_ses *ses) ...@@ -689,7 +688,7 @@ calc_seckey(struct cifs_ses *ses)
rc = crypto_blkcipher_encrypt(&desc, &sgout, &sgin, CIFS_CPHTXT_SIZE); rc = crypto_blkcipher_encrypt(&desc, &sgout, &sgin, CIFS_CPHTXT_SIZE);
if (rc) { if (rc) {
cERROR(1, "could not encrypt session key rc: %d", rc); cifs_dbg(VFS, "could not encrypt session key rc: %d\n", rc);
crypto_free_blkcipher(tfm_arc4); crypto_free_blkcipher(tfm_arc4);
return rc; return rc;
} }
...@@ -731,20 +730,20 @@ cifs_crypto_shash_allocate(struct TCP_Server_Info *server) ...@@ -731,20 +730,20 @@ cifs_crypto_shash_allocate(struct TCP_Server_Info *server)
server->secmech.hmacmd5 = crypto_alloc_shash("hmac(md5)", 0, 0); server->secmech.hmacmd5 = crypto_alloc_shash("hmac(md5)", 0, 0);
if (IS_ERR(server->secmech.hmacmd5)) { if (IS_ERR(server->secmech.hmacmd5)) {
cERROR(1, "could not allocate crypto hmacmd5"); cifs_dbg(VFS, "could not allocate crypto hmacmd5\n");
return PTR_ERR(server->secmech.hmacmd5); return PTR_ERR(server->secmech.hmacmd5);
} }
server->secmech.md5 = crypto_alloc_shash("md5", 0, 0); server->secmech.md5 = crypto_alloc_shash("md5", 0, 0);
if (IS_ERR(server->secmech.md5)) { if (IS_ERR(server->secmech.md5)) {
cERROR(1, "could not allocate crypto md5"); cifs_dbg(VFS, "could not allocate crypto md5\n");
rc = PTR_ERR(server->secmech.md5); rc = PTR_ERR(server->secmech.md5);
goto crypto_allocate_md5_fail; goto crypto_allocate_md5_fail;
} }
server->secmech.hmacsha256 = crypto_alloc_shash("hmac(sha256)", 0, 0); server->secmech.hmacsha256 = crypto_alloc_shash("hmac(sha256)", 0, 0);
if (IS_ERR(server->secmech.hmacsha256)) { if (IS_ERR(server->secmech.hmacsha256)) {
cERROR(1, "could not allocate crypto hmacsha256\n"); cifs_dbg(VFS, "could not allocate crypto hmacsha256\n");
rc = PTR_ERR(server->secmech.hmacsha256); rc = PTR_ERR(server->secmech.hmacsha256);
goto crypto_allocate_hmacsha256_fail; goto crypto_allocate_hmacsha256_fail;
} }
...@@ -753,7 +752,6 @@ cifs_crypto_shash_allocate(struct TCP_Server_Info *server) ...@@ -753,7 +752,6 @@ cifs_crypto_shash_allocate(struct TCP_Server_Info *server)
crypto_shash_descsize(server->secmech.hmacmd5); crypto_shash_descsize(server->secmech.hmacmd5);
server->secmech.sdeschmacmd5 = kmalloc(size, GFP_KERNEL); server->secmech.sdeschmacmd5 = kmalloc(size, GFP_KERNEL);
if (!server->secmech.sdeschmacmd5) { if (!server->secmech.sdeschmacmd5) {
cERROR(1, "cifs_crypto_shash_allocate: can't alloc hmacmd5");
rc = -ENOMEM; rc = -ENOMEM;
goto crypto_allocate_hmacmd5_sdesc_fail; goto crypto_allocate_hmacmd5_sdesc_fail;
} }
...@@ -764,7 +762,6 @@ cifs_crypto_shash_allocate(struct TCP_Server_Info *server) ...@@ -764,7 +762,6 @@ cifs_crypto_shash_allocate(struct TCP_Server_Info *server)
crypto_shash_descsize(server->secmech.md5); crypto_shash_descsize(server->secmech.md5);
server->secmech.sdescmd5 = kmalloc(size, GFP_KERNEL); server->secmech.sdescmd5 = kmalloc(size, GFP_KERNEL);
if (!server->secmech.sdescmd5) { if (!server->secmech.sdescmd5) {
cERROR(1, "cifs_crypto_shash_allocate: can't alloc md5");
rc = -ENOMEM; rc = -ENOMEM;
goto crypto_allocate_md5_sdesc_fail; goto crypto_allocate_md5_sdesc_fail;
} }
...@@ -775,7 +772,6 @@ cifs_crypto_shash_allocate(struct TCP_Server_Info *server) ...@@ -775,7 +772,6 @@ cifs_crypto_shash_allocate(struct TCP_Server_Info *server)
crypto_shash_descsize(server->secmech.hmacsha256); crypto_shash_descsize(server->secmech.hmacsha256);
server->secmech.sdeschmacsha256 = kmalloc(size, GFP_KERNEL); server->secmech.sdeschmacsha256 = kmalloc(size, GFP_KERNEL);
if (!server->secmech.sdeschmacsha256) { if (!server->secmech.sdeschmacsha256) {
cERROR(1, "%s: Can't alloc hmacsha256\n", __func__);
rc = -ENOMEM; rc = -ENOMEM;
goto crypto_allocate_hmacsha256_sdesc_fail; goto crypto_allocate_hmacsha256_sdesc_fail;
} }
......
...@@ -161,7 +161,7 @@ cifs_read_super(struct super_block *sb) ...@@ -161,7 +161,7 @@ cifs_read_super(struct super_block *sb)
#ifdef CONFIG_CIFS_NFSD_EXPORT #ifdef CONFIG_CIFS_NFSD_EXPORT
if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_SERVER_INUM) { if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_SERVER_INUM) {
cFYI(1, "export ops supported"); cifs_dbg(FYI, "export ops supported\n");
sb->s_export_op = &cifs_export_ops; sb->s_export_op = &cifs_export_ops;
} }
#endif /* CONFIG_CIFS_NFSD_EXPORT */ #endif /* CONFIG_CIFS_NFSD_EXPORT */
...@@ -169,7 +169,7 @@ cifs_read_super(struct super_block *sb) ...@@ -169,7 +169,7 @@ cifs_read_super(struct super_block *sb)
return 0; return 0;
out_no_root: out_no_root:
cERROR(1, "cifs_read_super: get root inode failed"); cifs_dbg(VFS, "%s: get root inode failed\n", __func__);
return rc; return rc;
} }
...@@ -502,7 +502,7 @@ static void cifs_umount_begin(struct super_block *sb) ...@@ -502,7 +502,7 @@ static void cifs_umount_begin(struct super_block *sb)
/* cancel_brl_requests(tcon); */ /* BB mark all brl mids as exiting */ /* cancel_brl_requests(tcon); */ /* BB mark all brl mids as exiting */
/* cancel_notify_requests(tcon); */ /* cancel_notify_requests(tcon); */
if (tcon->ses && tcon->ses->server) { if (tcon->ses && tcon->ses->server) {
cFYI(1, "wake up tasks now - umount begin not complete"); cifs_dbg(FYI, "wake up tasks now - umount begin not complete\n");
wake_up_all(&tcon->ses->server->request_q); wake_up_all(&tcon->ses->server->request_q);
wake_up_all(&tcon->ses->server->response_q); wake_up_all(&tcon->ses->server->response_q);
msleep(1); /* yield */ msleep(1); /* yield */
...@@ -573,7 +573,7 @@ cifs_get_root(struct smb_vol *vol, struct super_block *sb) ...@@ -573,7 +573,7 @@ cifs_get_root(struct smb_vol *vol, struct super_block *sb)
if (full_path == NULL) if (full_path == NULL)
return ERR_PTR(-ENOMEM); return ERR_PTR(-ENOMEM);
cFYI(1, "Get root dentry for %s", full_path); cifs_dbg(FYI, "Get root dentry for %s\n", full_path);
sep = CIFS_DIR_SEP(cifs_sb); sep = CIFS_DIR_SEP(cifs_sb);
dentry = dget(sb->s_root); dentry = dget(sb->s_root);
...@@ -632,7 +632,7 @@ cifs_do_mount(struct file_system_type *fs_type, ...@@ -632,7 +632,7 @@ cifs_do_mount(struct file_system_type *fs_type,
struct cifs_mnt_data mnt_data; struct cifs_mnt_data mnt_data;
struct dentry *root; struct dentry *root;
cFYI(1, "Devname: %s flags: %d ", dev_name, flags); cifs_dbg(FYI, "Devname: %s flags: %d\n", dev_name, flags);
volume_info = cifs_get_volume_info((char *)data, dev_name); volume_info = cifs_get_volume_info((char *)data, dev_name);
if (IS_ERR(volume_info)) if (IS_ERR(volume_info))
...@@ -655,7 +655,8 @@ cifs_do_mount(struct file_system_type *fs_type, ...@@ -655,7 +655,8 @@ cifs_do_mount(struct file_system_type *fs_type,
rc = cifs_mount(cifs_sb, volume_info); rc = cifs_mount(cifs_sb, volume_info);
if (rc) { if (rc) {
if (!(flags & MS_SILENT)) if (!(flags & MS_SILENT))
cERROR(1, "cifs_mount failed w/return code = %d", rc); cifs_dbg(VFS, "cifs_mount failed w/return code = %d\n",
rc);
root = ERR_PTR(rc); root = ERR_PTR(rc);
goto out_mountdata; goto out_mountdata;
} }
...@@ -675,7 +676,7 @@ cifs_do_mount(struct file_system_type *fs_type, ...@@ -675,7 +676,7 @@ cifs_do_mount(struct file_system_type *fs_type,
} }
if (sb->s_root) { if (sb->s_root) {
cFYI(1, "Use existing superblock"); cifs_dbg(FYI, "Use existing superblock\n");
cifs_umount(cifs_sb); cifs_umount(cifs_sb);
} else { } else {
rc = cifs_read_super(sb); rc = cifs_read_super(sb);
...@@ -691,7 +692,7 @@ cifs_do_mount(struct file_system_type *fs_type, ...@@ -691,7 +692,7 @@ cifs_do_mount(struct file_system_type *fs_type,
if (IS_ERR(root)) if (IS_ERR(root))
goto out_super; goto out_super;
cFYI(1, "dentry root is: %p", root); cifs_dbg(FYI, "dentry root is: %p\n", root);
goto out; goto out;
out_super: out_super:
...@@ -723,7 +724,8 @@ static ssize_t cifs_file_aio_write(struct kiocb *iocb, const struct iovec *iov, ...@@ -723,7 +724,8 @@ static ssize_t cifs_file_aio_write(struct kiocb *iocb, const struct iovec *iov,
rc = filemap_fdatawrite(inode->i_mapping); rc = filemap_fdatawrite(inode->i_mapping);
if (rc) if (rc)
cFYI(1, "cifs_file_aio_write: %d rc on %p inode", rc, inode); cifs_dbg(FYI, "cifs_file_aio_write: %d rc on %p inode\n",
rc, inode);
return written; return written;
} }
...@@ -1030,7 +1032,10 @@ cifs_init_request_bufs(void) ...@@ -1030,7 +1032,10 @@ cifs_init_request_bufs(void)
} else { } else {
CIFSMaxBufSize &= 0x1FE00; /* Round size to even 512 byte mult*/ CIFSMaxBufSize &= 0x1FE00; /* Round size to even 512 byte mult*/
} }
/* cERROR(1, "CIFSMaxBufSize %d 0x%x",CIFSMaxBufSize,CIFSMaxBufSize); */ /*
cifs_dbg(VFS, "CIFSMaxBufSize %d 0x%x\n",
CIFSMaxBufSize, CIFSMaxBufSize);
*/
cifs_req_cachep = kmem_cache_create("cifs_request", cifs_req_cachep = kmem_cache_create("cifs_request",
CIFSMaxBufSize + max_hdr_size, 0, CIFSMaxBufSize + max_hdr_size, 0,
SLAB_HWCACHE_ALIGN, NULL); SLAB_HWCACHE_ALIGN, NULL);
...@@ -1041,7 +1046,7 @@ cifs_init_request_bufs(void) ...@@ -1041,7 +1046,7 @@ cifs_init_request_bufs(void)
cifs_min_rcv = 1; cifs_min_rcv = 1;
else if (cifs_min_rcv > 64) { else if (cifs_min_rcv > 64) {
cifs_min_rcv = 64; cifs_min_rcv = 64;
cERROR(1, "cifs_min_rcv set to maximum (64)"); cifs_dbg(VFS, "cifs_min_rcv set to maximum (64)\n");
} }
cifs_req_poolp = mempool_create_slab_pool(cifs_min_rcv, cifs_req_poolp = mempool_create_slab_pool(cifs_min_rcv,
...@@ -1072,7 +1077,7 @@ cifs_init_request_bufs(void) ...@@ -1072,7 +1077,7 @@ cifs_init_request_bufs(void)
cifs_min_small = 2; cifs_min_small = 2;
else if (cifs_min_small > 256) { else if (cifs_min_small > 256) {
cifs_min_small = 256; cifs_min_small = 256;
cFYI(1, "cifs_min_small set to maximum (256)"); cifs_dbg(FYI, "cifs_min_small set to maximum (256)\n");
} }
cifs_sm_req_poolp = mempool_create_slab_pool(cifs_min_small, cifs_sm_req_poolp = mempool_create_slab_pool(cifs_min_small,
...@@ -1163,10 +1168,11 @@ init_cifs(void) ...@@ -1163,10 +1168,11 @@ init_cifs(void)
if (cifs_max_pending < 2) { if (cifs_max_pending < 2) {
cifs_max_pending = 2; cifs_max_pending = 2;
cFYI(1, "cifs_max_pending set to min of 2"); cifs_dbg(FYI, "cifs_max_pending set to min of 2\n");
} else if (cifs_max_pending > CIFS_MAX_REQ) { } else if (cifs_max_pending > CIFS_MAX_REQ) {
cifs_max_pending = CIFS_MAX_REQ; cifs_max_pending = CIFS_MAX_REQ;
cFYI(1, "cifs_max_pending set to max of %u", CIFS_MAX_REQ); cifs_dbg(FYI, "cifs_max_pending set to max of %u\n",
CIFS_MAX_REQ);
} }
cifsiod_wq = alloc_workqueue("cifsiod", WQ_FREEZABLE|WQ_MEM_RECLAIM, 0); cifsiod_wq = alloc_workqueue("cifsiod", WQ_FREEZABLE|WQ_MEM_RECLAIM, 0);
...@@ -1235,7 +1241,7 @@ init_cifs(void) ...@@ -1235,7 +1241,7 @@ init_cifs(void)
static void __exit static void __exit
exit_cifs(void) exit_cifs(void)
{ {
cFYI(DBG2, "exit_cifs"); cifs_dbg(NOISY, "exit_cifs\n");
unregister_filesystem(&cifs_fs_type); unregister_filesystem(&cifs_fs_type);
cifs_dfs_release_automount_timer(); cifs_dfs_release_automount_timer();
#ifdef CONFIG_CIFS_ACL #ifdef CONFIG_CIFS_ACL
......
...@@ -45,17 +45,17 @@ extern void _free_xid(unsigned int); ...@@ -45,17 +45,17 @@ extern void _free_xid(unsigned int);
#define get_xid() \ #define get_xid() \
({ \ ({ \
unsigned int __xid = _get_xid(); \ unsigned int __xid = _get_xid(); \
cFYI(1, "CIFS VFS: in %s as Xid: %u with uid: %d", \ cifs_dbg(FYI, "CIFS VFS: in %s as Xid: %u with uid: %d\n", \
__func__, __xid, \ __func__, __xid, \
from_kuid(&init_user_ns, current_fsuid())); \ from_kuid(&init_user_ns, current_fsuid())); \
__xid; \ __xid; \
}) })
#define free_xid(curr_xid) \ #define free_xid(curr_xid) \
do { \ do { \
_free_xid(curr_xid); \ _free_xid(curr_xid); \
cFYI(1, "CIFS VFS: leaving %s (xid = %u) rc = %d", \ cifs_dbg(FYI, "CIFS VFS: leaving %s (xid = %u) rc = %d\n", \
__func__, curr_xid, (int)rc); \ __func__, curr_xid, (int)rc); \
} while (0) } while (0)
extern int init_cifs_idmap(void); extern int init_cifs_idmap(void);
extern void exit_cifs_idmap(void); extern void exit_cifs_idmap(void);
......
此差异已折叠。
此差异已折叠。
...@@ -102,7 +102,7 @@ build_path_from_dentry(struct dentry *direntry) ...@@ -102,7 +102,7 @@ build_path_from_dentry(struct dentry *direntry)
namelen += (1 + temp->d_name.len); namelen += (1 + temp->d_name.len);
temp = temp->d_parent; temp = temp->d_parent;
if (temp == NULL) { if (temp == NULL) {
cERROR(1, "corrupt dentry"); cifs_dbg(VFS, "corrupt dentry\n");
rcu_read_unlock(); rcu_read_unlock();
return NULL; return NULL;
} }
...@@ -124,12 +124,12 @@ build_path_from_dentry(struct dentry *direntry) ...@@ -124,12 +124,12 @@ build_path_from_dentry(struct dentry *direntry)
full_path[namelen] = dirsep; full_path[namelen] = dirsep;
strncpy(full_path + namelen + 1, temp->d_name.name, strncpy(full_path + namelen + 1, temp->d_name.name,
temp->d_name.len); temp->d_name.len);
cFYI(0, "name: %s", full_path + namelen); cifs_dbg(FYI, "name: %s\n", full_path + namelen);
} }
spin_unlock(&temp->d_lock); spin_unlock(&temp->d_lock);
temp = temp->d_parent; temp = temp->d_parent;
if (temp == NULL) { if (temp == NULL) {
cERROR(1, "corrupt dentry"); cifs_dbg(VFS, "corrupt dentry\n");
rcu_read_unlock(); rcu_read_unlock();
kfree(full_path); kfree(full_path);
return NULL; return NULL;
...@@ -137,8 +137,8 @@ build_path_from_dentry(struct dentry *direntry) ...@@ -137,8 +137,8 @@ build_path_from_dentry(struct dentry *direntry)
} }
rcu_read_unlock(); rcu_read_unlock();
if (namelen != dfsplen || read_seqretry(&rename_lock, seq)) { if (namelen != dfsplen || read_seqretry(&rename_lock, seq)) {
cFYI(1, "did not end path lookup where expected. namelen=%d " cifs_dbg(FYI, "did not end path lookup where expected. namelen=%ddfsplen=%d\n",
"dfsplen=%d", namelen, dfsplen); namelen, dfsplen);
/* presumably this is only possible if racing with a rename /* presumably this is only possible if racing with a rename
of one of the parent directories (we can not lock the dentries of one of the parent directories (we can not lock the dentries
above us to prevent this, but retrying should be harmless) */ above us to prevent this, but retrying should be harmless) */
...@@ -178,7 +178,7 @@ check_name(struct dentry *direntry) ...@@ -178,7 +178,7 @@ check_name(struct dentry *direntry)
if (!(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_POSIX_PATHS)) { if (!(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_POSIX_PATHS)) {
for (i = 0; i < direntry->d_name.len; i++) { for (i = 0; i < direntry->d_name.len; i++) {
if (direntry->d_name.name[i] == '\\') { if (direntry->d_name.name[i] == '\\') {
cFYI(1, "Invalid file name"); cifs_dbg(FYI, "Invalid file name\n");
return -EINVAL; return -EINVAL;
} }
} }
...@@ -291,7 +291,7 @@ cifs_do_create(struct inode *inode, struct dentry *direntry, unsigned int xid, ...@@ -291,7 +291,7 @@ cifs_do_create(struct inode *inode, struct dentry *direntry, unsigned int xid,
else if ((oflags & O_CREAT) == O_CREAT) else if ((oflags & O_CREAT) == O_CREAT)
disposition = FILE_OPEN_IF; disposition = FILE_OPEN_IF;
else else
cFYI(1, "Create flag not set in create function"); cifs_dbg(FYI, "Create flag not set in create function\n");
/* /*
* BB add processing to set equivalent of mode - e.g. via CreateX with * BB add processing to set equivalent of mode - e.g. via CreateX with
...@@ -323,7 +323,7 @@ cifs_do_create(struct inode *inode, struct dentry *direntry, unsigned int xid, ...@@ -323,7 +323,7 @@ cifs_do_create(struct inode *inode, struct dentry *direntry, unsigned int xid,
desired_access, create_options, fid, oplock, desired_access, create_options, fid, oplock,
buf, cifs_sb); buf, cifs_sb);
if (rc) { if (rc) {
cFYI(1, "cifs_create returned 0x%x", rc); cifs_dbg(FYI, "cifs_create returned 0x%x\n", rc);
goto out; goto out;
} }
...@@ -389,7 +389,8 @@ cifs_do_create(struct inode *inode, struct dentry *direntry, unsigned int xid, ...@@ -389,7 +389,8 @@ cifs_do_create(struct inode *inode, struct dentry *direntry, unsigned int xid,
cifs_create_set_dentry: cifs_create_set_dentry:
if (rc != 0) { if (rc != 0) {
cFYI(1, "Create worked, get_inode_info failed rc = %d", rc); cifs_dbg(FYI, "Create worked, get_inode_info failed rc = %d\n",
rc);
if (server->ops->close) if (server->ops->close)
server->ops->close(xid, tcon, fid); server->ops->close(xid, tcon, fid);
goto out; goto out;
...@@ -452,12 +453,14 @@ cifs_atomic_open(struct inode *inode, struct dentry *direntry, ...@@ -452,12 +453,14 @@ cifs_atomic_open(struct inode *inode, struct dentry *direntry,
xid = get_xid(); xid = get_xid();
cFYI(1, "parent inode = 0x%p name is: %s and dentry = 0x%p", cifs_dbg(FYI, "parent inode = 0x%p name is: %s and dentry = 0x%p\n",
inode, direntry->d_name.name, direntry); inode, direntry->d_name.name, direntry);
tlink = cifs_sb_tlink(CIFS_SB(inode->i_sb)); tlink = cifs_sb_tlink(CIFS_SB(inode->i_sb));
if (IS_ERR(tlink)) if (IS_ERR(tlink)) {
rc = PTR_ERR(tlink);
goto out_free_xid; goto out_free_xid;
}
tcon = tlink_tcon(tlink); tcon = tlink_tcon(tlink);
server = tcon->ses->server; server = tcon->ses->server;
...@@ -518,8 +521,8 @@ int cifs_create(struct inode *inode, struct dentry *direntry, umode_t mode, ...@@ -518,8 +521,8 @@ int cifs_create(struct inode *inode, struct dentry *direntry, umode_t mode,
__u32 oplock; __u32 oplock;
int created = FILE_CREATED; int created = FILE_CREATED;
cFYI(1, "cifs_create parent inode = 0x%p name is: %s and dentry = 0x%p", cifs_dbg(FYI, "cifs_create parent inode = 0x%p name is: %s and dentry = 0x%p\n",
inode, direntry->d_name.name, direntry); inode, direntry->d_name.name, direntry);
tlink = cifs_sb_tlink(CIFS_SB(inode->i_sb)); tlink = cifs_sb_tlink(CIFS_SB(inode->i_sb));
rc = PTR_ERR(tlink); rc = PTR_ERR(tlink);
...@@ -613,7 +616,7 @@ int cifs_mknod(struct inode *inode, struct dentry *direntry, umode_t mode, ...@@ -613,7 +616,7 @@ int cifs_mknod(struct inode *inode, struct dentry *direntry, umode_t mode,
goto mknod_out; goto mknod_out;
cFYI(1, "sfu compat create special file"); cifs_dbg(FYI, "sfu compat create special file\n");
buf = kmalloc(sizeof(FILE_ALL_INFO), GFP_KERNEL); buf = kmalloc(sizeof(FILE_ALL_INFO), GFP_KERNEL);
if (buf == NULL) { if (buf == NULL) {
...@@ -688,8 +691,8 @@ cifs_lookup(struct inode *parent_dir_inode, struct dentry *direntry, ...@@ -688,8 +691,8 @@ cifs_lookup(struct inode *parent_dir_inode, struct dentry *direntry,
xid = get_xid(); xid = get_xid();
cFYI(1, "parent inode = 0x%p name is: %s and dentry = 0x%p", cifs_dbg(FYI, "parent inode = 0x%p name is: %s and dentry = 0x%p\n",
parent_dir_inode, direntry->d_name.name, direntry); parent_dir_inode, direntry->d_name.name, direntry);
/* check whether path exists */ /* check whether path exists */
...@@ -715,11 +718,12 @@ cifs_lookup(struct inode *parent_dir_inode, struct dentry *direntry, ...@@ -715,11 +718,12 @@ cifs_lookup(struct inode *parent_dir_inode, struct dentry *direntry,
} }
if (direntry->d_inode != NULL) { if (direntry->d_inode != NULL) {
cFYI(1, "non-NULL inode in lookup"); cifs_dbg(FYI, "non-NULL inode in lookup\n");
} else { } else {
cFYI(1, "NULL inode in lookup"); cifs_dbg(FYI, "NULL inode in lookup\n");
} }
cFYI(1, "Full path: %s inode = 0x%p", full_path, direntry->d_inode); cifs_dbg(FYI, "Full path: %s inode = 0x%p\n",
full_path, direntry->d_inode);
if (pTcon->unix_ext) { if (pTcon->unix_ext) {
rc = cifs_get_inode_info_unix(&newInode, full_path, rc = cifs_get_inode_info_unix(&newInode, full_path,
...@@ -742,7 +746,7 @@ cifs_lookup(struct inode *parent_dir_inode, struct dentry *direntry, ...@@ -742,7 +746,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 /* if it was once a directory (but how can we tell?) we could do
shrink_dcache_parent(direntry); */ shrink_dcache_parent(direntry); */
} else if (rc != -EACCES) { } else if (rc != -EACCES) {
cERROR(1, "Unexpected lookup error %d", rc); cifs_dbg(VFS, "Unexpected lookup error %d\n", rc);
/* We special case check for Access Denied - since that /* We special case check for Access Denied - since that
is a common return code */ is a common return code */
} }
...@@ -807,7 +811,7 @@ cifs_d_revalidate(struct dentry *direntry, unsigned int flags) ...@@ -807,7 +811,7 @@ cifs_d_revalidate(struct dentry *direntry, unsigned int flags)
{ {
int rc = 0; int rc = 0;
cFYI(1, "In cifs d_delete, name = %s", direntry->d_name.name); cifs_dbg(FYI, "In cifs d_delete, name = %s\n", direntry->d_name.name);
return rc; return rc;
} */ } */
......
...@@ -55,7 +55,7 @@ dns_resolve_server_name_to_ip(const char *unc, char **ip_addr) ...@@ -55,7 +55,7 @@ dns_resolve_server_name_to_ip(const char *unc, char **ip_addr)
len = strlen(unc); len = strlen(unc);
if (len < 3) { if (len < 3) {
cFYI(1, "%s: unc is too short: %s", __func__, unc); cifs_dbg(FYI, "%s: unc is too short: %s\n", __func__, unc);
return -EINVAL; return -EINVAL;
} }
...@@ -68,8 +68,8 @@ dns_resolve_server_name_to_ip(const char *unc, char **ip_addr) ...@@ -68,8 +68,8 @@ dns_resolve_server_name_to_ip(const char *unc, char **ip_addr)
if (sep) if (sep)
len = sep - hostname; len = sep - hostname;
else else
cFYI(1, "%s: probably server name is whole unc: %s", cifs_dbg(FYI, "%s: probably server name is whole unc: %s\n",
__func__, unc); __func__, unc);
/* Try to interpret hostname as an IPv4 or IPv6 address */ /* Try to interpret hostname as an IPv4 or IPv6 address */
rc = cifs_convert_address((struct sockaddr *)&ss, hostname, len); rc = cifs_convert_address((struct sockaddr *)&ss, hostname, len);
...@@ -79,11 +79,11 @@ dns_resolve_server_name_to_ip(const char *unc, char **ip_addr) ...@@ -79,11 +79,11 @@ dns_resolve_server_name_to_ip(const char *unc, char **ip_addr)
/* Perform the upcall */ /* Perform the upcall */
rc = dns_query(NULL, hostname, len, NULL, ip_addr, NULL); rc = dns_query(NULL, hostname, len, NULL, ip_addr, NULL);
if (rc < 0) if (rc < 0)
cFYI(1, "%s: unable to resolve: %*.*s", cifs_dbg(FYI, "%s: unable to resolve: %*.*s\n",
__func__, len, len, hostname); __func__, len, len, hostname);
else else
cFYI(1, "%s: resolved: %*.*s to %s", cifs_dbg(FYI, "%s: resolved: %*.*s to %s\n",
__func__, len, len, hostname, *ip_addr); __func__, len, len, hostname, *ip_addr);
return rc; return rc;
name_is_IP_address: name_is_IP_address:
...@@ -92,7 +92,8 @@ dns_resolve_server_name_to_ip(const char *unc, char **ip_addr) ...@@ -92,7 +92,8 @@ dns_resolve_server_name_to_ip(const char *unc, char **ip_addr)
return -ENOMEM; return -ENOMEM;
memcpy(name, hostname, len); memcpy(name, hostname, len);
name[len] = 0; name[len] = 0;
cFYI(1, "%s: unc is IP, skipping dns upcall: %s", __func__, name); cifs_dbg(FYI, "%s: unc is IP, skipping dns upcall: %s\n",
__func__, name);
*ip_addr = name; *ip_addr = name;
return 0; return 0;
} }
...@@ -49,7 +49,7 @@ ...@@ -49,7 +49,7 @@
static struct dentry *cifs_get_parent(struct dentry *dentry) static struct dentry *cifs_get_parent(struct dentry *dentry)
{ {
/* BB need to add code here eventually to enable export via NFSD */ /* BB need to add code here eventually to enable export via NFSD */
cFYI(1, "get parent for %p", dentry); cifs_dbg(FYI, "get parent for %p\n", dentry);
return ERR_PTR(-EACCES); return ERR_PTR(-EACCES);
} }
......
...@@ -78,9 +78,8 @@ static u32 cifs_posix_convert_flags(unsigned int flags) ...@@ -78,9 +78,8 @@ static u32 cifs_posix_convert_flags(unsigned int flags)
if (flags & O_EXCL) if (flags & O_EXCL)
posix_flags |= SMB_O_EXCL; posix_flags |= SMB_O_EXCL;
} else if (flags & O_EXCL) } else if (flags & O_EXCL)
cFYI(1, "Application %s pid %d has incorrectly set O_EXCL flag" cifs_dbg(FYI, "Application %s pid %d has incorrectly set O_EXCL flag but not O_CREAT on file open. Ignoring O_EXCL\n",
"but not O_CREAT on file open. Ignoring O_EXCL", current->comm, current->tgid);
current->comm, current->tgid);
if (flags & O_TRUNC) if (flags & O_TRUNC)
posix_flags |= SMB_O_TRUNC; posix_flags |= SMB_O_TRUNC;
...@@ -123,7 +122,7 @@ int cifs_posix_open(char *full_path, struct inode **pinode, ...@@ -123,7 +122,7 @@ int cifs_posix_open(char *full_path, struct inode **pinode,
struct tcon_link *tlink; struct tcon_link *tlink;
struct cifs_tcon *tcon; struct cifs_tcon *tcon;
cFYI(1, "posix open %s", full_path); cifs_dbg(FYI, "posix open %s\n", full_path);
presp_data = kzalloc(sizeof(FILE_UNIX_BASIC_INFO), GFP_KERNEL); presp_data = kzalloc(sizeof(FILE_UNIX_BASIC_INFO), GFP_KERNEL);
if (presp_data == NULL) if (presp_data == NULL)
...@@ -308,7 +307,7 @@ cifs_new_fileinfo(struct cifs_fid *fid, struct file *file, ...@@ -308,7 +307,7 @@ cifs_new_fileinfo(struct cifs_fid *fid, struct file *file,
*/ */
if (oplock == server->vals->oplock_read && if (oplock == server->vals->oplock_read &&
cifs_has_mand_locks(cinode)) { cifs_has_mand_locks(cinode)) {
cFYI(1, "Reset oplock val from read to None due to mand locks"); cifs_dbg(FYI, "Reset oplock val from read to None due to mand locks\n");
oplock = 0; oplock = 0;
} }
...@@ -374,8 +373,8 @@ void cifsFileInfo_put(struct cifsFileInfo *cifs_file) ...@@ -374,8 +373,8 @@ void cifsFileInfo_put(struct cifsFileInfo *cifs_file)
list_del(&cifs_file->tlist); list_del(&cifs_file->tlist);
if (list_empty(&cifsi->openFileList)) { if (list_empty(&cifsi->openFileList)) {
cFYI(1, "closing last open instance for inode %p", cifs_dbg(FYI, "closing last open instance for inode %p\n",
cifs_file->dentry->d_inode); cifs_file->dentry->d_inode);
/* /*
* In strict cache mode we need invalidate mapping on the last * In strict cache mode we need invalidate mapping on the last
* close because it may cause a error when we open this file * close because it may cause a error when we open this file
...@@ -454,7 +453,7 @@ int cifs_open(struct inode *inode, struct file *file) ...@@ -454,7 +453,7 @@ int cifs_open(struct inode *inode, struct file *file)
goto out; goto out;
} }
cFYI(1, "inode = 0x%p file flags are 0x%x for %s", cifs_dbg(FYI, "inode = 0x%p file flags are 0x%x for %s\n",
inode, file->f_flags, full_path); inode, file->f_flags, full_path);
if (server->oplocks) if (server->oplocks)
...@@ -470,16 +469,13 @@ int cifs_open(struct inode *inode, struct file *file) ...@@ -470,16 +469,13 @@ int cifs_open(struct inode *inode, struct file *file)
cifs_sb->mnt_file_mode /* ignored */, cifs_sb->mnt_file_mode /* ignored */,
file->f_flags, &oplock, &fid.netfid, xid); file->f_flags, &oplock, &fid.netfid, xid);
if (rc == 0) { if (rc == 0) {
cFYI(1, "posix open succeeded"); cifs_dbg(FYI, "posix open succeeded\n");
posix_open_ok = true; posix_open_ok = true;
} else if ((rc == -EINVAL) || (rc == -EOPNOTSUPP)) { } else if ((rc == -EINVAL) || (rc == -EOPNOTSUPP)) {
if (tcon->ses->serverNOS) if (tcon->ses->serverNOS)
cERROR(1, "server %s of type %s returned" cifs_dbg(VFS, "server %s of type %s returned unexpected error on SMB posix open, disabling posix open support. Check if server update available.\n",
" unexpected error on SMB posix open" tcon->ses->serverName,
", disabling posix open support." tcon->ses->serverNOS);
" Check if server update available.",
tcon->ses->serverName,
tcon->ses->serverNOS);
tcon->broken_posix_open = true; tcon->broken_posix_open = true;
} else if ((rc != -EIO) && (rc != -EREMOTE) && } else if ((rc != -EIO) && (rc != -EREMOTE) &&
(rc != -EOPNOTSUPP)) /* path not found or net err */ (rc != -EOPNOTSUPP)) /* path not found or net err */
...@@ -621,8 +617,8 @@ cifs_reopen_file(struct cifsFileInfo *cfile, bool can_flush) ...@@ -621,8 +617,8 @@ cifs_reopen_file(struct cifsFileInfo *cfile, bool can_flush)
return rc; return rc;
} }
cFYI(1, "inode = 0x%p file flags 0x%x for %s", inode, cfile->f_flags, cifs_dbg(FYI, "inode = 0x%p file flags 0x%x for %s\n",
full_path); inode, cfile->f_flags, full_path);
if (tcon->ses->server->oplocks) if (tcon->ses->server->oplocks)
oplock = REQ_OPLOCK; oplock = REQ_OPLOCK;
...@@ -643,7 +639,7 @@ cifs_reopen_file(struct cifsFileInfo *cfile, bool can_flush) ...@@ -643,7 +639,7 @@ cifs_reopen_file(struct cifsFileInfo *cfile, bool can_flush)
cifs_sb->mnt_file_mode /* ignored */, cifs_sb->mnt_file_mode /* ignored */,
oflags, &oplock, &fid.netfid, xid); oflags, &oplock, &fid.netfid, xid);
if (rc == 0) { if (rc == 0) {
cFYI(1, "posix reopen succeeded"); cifs_dbg(FYI, "posix reopen succeeded\n");
goto reopen_success; goto reopen_success;
} }
/* /*
...@@ -672,8 +668,8 @@ cifs_reopen_file(struct cifsFileInfo *cfile, bool can_flush) ...@@ -672,8 +668,8 @@ cifs_reopen_file(struct cifsFileInfo *cfile, bool can_flush)
NULL, cifs_sb); NULL, cifs_sb);
if (rc) { if (rc) {
mutex_unlock(&cfile->fh_mutex); mutex_unlock(&cfile->fh_mutex);
cFYI(1, "cifs_reopen returned 0x%x", rc); cifs_dbg(FYI, "cifs_reopen returned 0x%x\n", rc);
cFYI(1, "oplock: %d", oplock); cifs_dbg(FYI, "oplock: %d\n", oplock);
goto reopen_error_exit; goto reopen_error_exit;
} }
...@@ -729,7 +725,7 @@ int cifs_closedir(struct inode *inode, struct file *file) ...@@ -729,7 +725,7 @@ int cifs_closedir(struct inode *inode, struct file *file)
struct TCP_Server_Info *server; struct TCP_Server_Info *server;
char *buf; char *buf;
cFYI(1, "Closedir inode = 0x%p", inode); cifs_dbg(FYI, "Closedir inode = 0x%p\n", inode);
if (cfile == NULL) if (cfile == NULL)
return rc; return rc;
...@@ -738,7 +734,7 @@ int cifs_closedir(struct inode *inode, struct file *file) ...@@ -738,7 +734,7 @@ int cifs_closedir(struct inode *inode, struct file *file)
tcon = tlink_tcon(cfile->tlink); tcon = tlink_tcon(cfile->tlink);
server = tcon->ses->server; server = tcon->ses->server;
cFYI(1, "Freeing private data in close dir"); cifs_dbg(FYI, "Freeing private data in close dir\n");
spin_lock(&cifs_file_list_lock); spin_lock(&cifs_file_list_lock);
if (!cfile->srch_inf.endOfSearch && !cfile->invalidHandle) { if (!cfile->srch_inf.endOfSearch && !cfile->invalidHandle) {
cfile->invalidHandle = true; cfile->invalidHandle = true;
...@@ -747,7 +743,7 @@ int cifs_closedir(struct inode *inode, struct file *file) ...@@ -747,7 +743,7 @@ int cifs_closedir(struct inode *inode, struct file *file)
rc = server->ops->close_dir(xid, tcon, &cfile->fid); rc = server->ops->close_dir(xid, tcon, &cfile->fid);
else else
rc = -ENOSYS; rc = -ENOSYS;
cFYI(1, "Closing uncompleted readdir with rc %d", rc); cifs_dbg(FYI, "Closing uncompleted readdir with rc %d\n", rc);
/* not much we can do if it fails anyway, ignore rc */ /* not much we can do if it fails anyway, ignore rc */
rc = 0; rc = 0;
} else } else
...@@ -755,7 +751,7 @@ int cifs_closedir(struct inode *inode, struct file *file) ...@@ -755,7 +751,7 @@ int cifs_closedir(struct inode *inode, struct file *file)
buf = cfile->srch_inf.ntwrk_buf_start; buf = cfile->srch_inf.ntwrk_buf_start;
if (buf) { if (buf) {
cFYI(1, "closedir free smb buf in srch struct"); cifs_dbg(FYI, "closedir free smb buf in srch struct\n");
cfile->srch_inf.ntwrk_buf_start = NULL; cfile->srch_inf.ntwrk_buf_start = NULL;
if (cfile->srch_inf.smallBuf) if (cfile->srch_inf.smallBuf)
cifs_small_buf_release(buf); cifs_small_buf_release(buf);
...@@ -1140,7 +1136,7 @@ cifs_push_posix_locks(struct cifsFileInfo *cfile) ...@@ -1140,7 +1136,7 @@ cifs_push_posix_locks(struct cifsFileInfo *cfile)
* The list ended. We don't have enough allocated * The list ended. We don't have enough allocated
* structures - something is really wrong. * structures - something is really wrong.
*/ */
cERROR(1, "Can't push all brlocks!"); cifs_dbg(VFS, "Can't push all brlocks!\n");
break; break;
} }
length = 1 + flock->fl_end - flock->fl_start; length = 1 + flock->fl_end - flock->fl_start;
...@@ -1213,47 +1209,46 @@ cifs_read_flock(struct file_lock *flock, __u32 *type, int *lock, int *unlock, ...@@ -1213,47 +1209,46 @@ cifs_read_flock(struct file_lock *flock, __u32 *type, int *lock, int *unlock,
bool *wait_flag, struct TCP_Server_Info *server) bool *wait_flag, struct TCP_Server_Info *server)
{ {
if (flock->fl_flags & FL_POSIX) if (flock->fl_flags & FL_POSIX)
cFYI(1, "Posix"); cifs_dbg(FYI, "Posix\n");
if (flock->fl_flags & FL_FLOCK) if (flock->fl_flags & FL_FLOCK)
cFYI(1, "Flock"); cifs_dbg(FYI, "Flock\n");
if (flock->fl_flags & FL_SLEEP) { if (flock->fl_flags & FL_SLEEP) {
cFYI(1, "Blocking lock"); cifs_dbg(FYI, "Blocking lock\n");
*wait_flag = true; *wait_flag = true;
} }
if (flock->fl_flags & FL_ACCESS) if (flock->fl_flags & FL_ACCESS)
cFYI(1, "Process suspended by mandatory locking - " cifs_dbg(FYI, "Process suspended by mandatory locking - not implemented yet\n");
"not implemented yet");
if (flock->fl_flags & FL_LEASE) if (flock->fl_flags & FL_LEASE)
cFYI(1, "Lease on file - not implemented yet"); cifs_dbg(FYI, "Lease on file - not implemented yet\n");
if (flock->fl_flags & if (flock->fl_flags &
(~(FL_POSIX | FL_FLOCK | FL_SLEEP | (~(FL_POSIX | FL_FLOCK | FL_SLEEP |
FL_ACCESS | FL_LEASE | FL_CLOSE))) FL_ACCESS | FL_LEASE | FL_CLOSE)))
cFYI(1, "Unknown lock flags 0x%x", flock->fl_flags); cifs_dbg(FYI, "Unknown lock flags 0x%x\n", flock->fl_flags);
*type = server->vals->large_lock_type; *type = server->vals->large_lock_type;
if (flock->fl_type == F_WRLCK) { if (flock->fl_type == F_WRLCK) {
cFYI(1, "F_WRLCK "); cifs_dbg(FYI, "F_WRLCK\n");
*type |= server->vals->exclusive_lock_type; *type |= server->vals->exclusive_lock_type;
*lock = 1; *lock = 1;
} else if (flock->fl_type == F_UNLCK) { } else if (flock->fl_type == F_UNLCK) {
cFYI(1, "F_UNLCK"); cifs_dbg(FYI, "F_UNLCK\n");
*type |= server->vals->unlock_lock_type; *type |= server->vals->unlock_lock_type;
*unlock = 1; *unlock = 1;
/* Check if unlock includes more than one lock range */ /* Check if unlock includes more than one lock range */
} else if (flock->fl_type == F_RDLCK) { } else if (flock->fl_type == F_RDLCK) {
cFYI(1, "F_RDLCK"); cifs_dbg(FYI, "F_RDLCK\n");
*type |= server->vals->shared_lock_type; *type |= server->vals->shared_lock_type;
*lock = 1; *lock = 1;
} else if (flock->fl_type == F_EXLCK) { } else if (flock->fl_type == F_EXLCK) {
cFYI(1, "F_EXLCK"); cifs_dbg(FYI, "F_EXLCK\n");
*type |= server->vals->exclusive_lock_type; *type |= server->vals->exclusive_lock_type;
*lock = 1; *lock = 1;
} else if (flock->fl_type == F_SHLCK) { } else if (flock->fl_type == F_SHLCK) {
cFYI(1, "F_SHLCK"); cifs_dbg(FYI, "F_SHLCK\n");
*type |= server->vals->shared_lock_type; *type |= server->vals->shared_lock_type;
*lock = 1; *lock = 1;
} else } else
cFYI(1, "Unknown type of lock"); cifs_dbg(FYI, "Unknown type of lock\n");
} }
static int static int
...@@ -1296,8 +1291,8 @@ cifs_getlk(struct file *file, struct file_lock *flock, __u32 type, ...@@ -1296,8 +1291,8 @@ cifs_getlk(struct file *file, struct file_lock *flock, __u32 type,
type, 0, 1, false); type, 0, 1, false);
flock->fl_type = F_UNLCK; flock->fl_type = F_UNLCK;
if (rc != 0) if (rc != 0)
cERROR(1, "Error unlocking previously locked " cifs_dbg(VFS, "Error unlocking previously locked range %d during test of lock\n",
"range %d during test of lock", rc); rc);
return 0; return 0;
} }
...@@ -1316,8 +1311,8 @@ cifs_getlk(struct file *file, struct file_lock *flock, __u32 type, ...@@ -1316,8 +1311,8 @@ cifs_getlk(struct file *file, struct file_lock *flock, __u32 type,
type | server->vals->shared_lock_type, 0, 1, false); type | server->vals->shared_lock_type, 0, 1, false);
flock->fl_type = F_RDLCK; flock->fl_type = F_RDLCK;
if (rc != 0) if (rc != 0)
cERROR(1, "Error unlocking previously locked " cifs_dbg(VFS, "Error unlocking previously locked range %d during test of lock\n",
"range %d during test of lock", rc); rc);
} else } else
flock->fl_type = F_WRLCK; flock->fl_type = F_WRLCK;
...@@ -1508,8 +1503,8 @@ cifs_setlk(struct file *file, struct file_lock *flock, __u32 type, ...@@ -1508,8 +1503,8 @@ cifs_setlk(struct file *file, struct file_lock *flock, __u32 type,
if (!CIFS_I(inode)->clientCanCacheAll && if (!CIFS_I(inode)->clientCanCacheAll &&
CIFS_I(inode)->clientCanCacheRead) { CIFS_I(inode)->clientCanCacheRead) {
cifs_invalidate_mapping(inode); cifs_invalidate_mapping(inode);
cFYI(1, "Set no oplock for inode=%p due to mand locks", cifs_dbg(FYI, "Set no oplock for inode=%p due to mand locks\n",
inode); inode);
CIFS_I(inode)->clientCanCacheRead = false; CIFS_I(inode)->clientCanCacheRead = false;
} }
...@@ -1546,9 +1541,9 @@ int cifs_lock(struct file *file, int cmd, struct file_lock *flock) ...@@ -1546,9 +1541,9 @@ int cifs_lock(struct file *file, int cmd, struct file_lock *flock)
rc = -EACCES; rc = -EACCES;
xid = get_xid(); xid = get_xid();
cFYI(1, "Lock parm: 0x%x flockflags: 0x%x flocktype: 0x%x start: %lld " cifs_dbg(FYI, "Lock parm: 0x%x flockflags: 0x%x flocktype: 0x%x start: %lld end: %lld\n",
"end: %lld", cmd, flock->fl_flags, flock->fl_type, cmd, flock->fl_flags, flock->fl_type,
flock->fl_start, flock->fl_end); flock->fl_start, flock->fl_end);
cfile = (struct cifsFileInfo *)file->private_data; cfile = (struct cifsFileInfo *)file->private_data;
tcon = tlink_tcon(cfile->tlink); tcon = tlink_tcon(cfile->tlink);
...@@ -1620,8 +1615,8 @@ cifs_write(struct cifsFileInfo *open_file, __u32 pid, const char *write_data, ...@@ -1620,8 +1615,8 @@ cifs_write(struct cifsFileInfo *open_file, __u32 pid, const char *write_data,
cifs_sb = CIFS_SB(dentry->d_sb); cifs_sb = CIFS_SB(dentry->d_sb);
cFYI(1, "write %zd bytes to offset %lld of %s", write_size, cifs_dbg(FYI, "write %zd bytes to offset %lld of %s\n",
*offset, dentry->d_name.name); write_size, *offset, dentry->d_name.name);
tcon = tlink_tcon(open_file->tlink); tcon = tlink_tcon(open_file->tlink);
server = tcon->ses->server; server = tcon->ses->server;
...@@ -1736,7 +1731,7 @@ struct cifsFileInfo *find_writable_file(struct cifsInodeInfo *cifs_inode, ...@@ -1736,7 +1731,7 @@ struct cifsFileInfo *find_writable_file(struct cifsInodeInfo *cifs_inode,
it being zero) during stress testcases so we need to check for it */ it being zero) during stress testcases so we need to check for it */
if (cifs_inode == NULL) { if (cifs_inode == NULL) {
cERROR(1, "Null inode passed to cifs_writeable_file"); cifs_dbg(VFS, "Null inode passed to cifs_writeable_file\n");
dump_stack(); dump_stack();
return NULL; return NULL;
} }
...@@ -1848,7 +1843,7 @@ static int cifs_partialpagewrite(struct page *page, unsigned from, unsigned to) ...@@ -1848,7 +1843,7 @@ static int cifs_partialpagewrite(struct page *page, unsigned from, unsigned to)
else if (bytes_written < 0) else if (bytes_written < 0)
rc = bytes_written; rc = bytes_written;
} else { } else {
cFYI(1, "No writeable filehandles for inode"); cifs_dbg(FYI, "No writeable filehandles for inode\n");
rc = -EIO; rc = -EIO;
} }
...@@ -2015,7 +2010,7 @@ static int cifs_writepages(struct address_space *mapping, ...@@ -2015,7 +2010,7 @@ static int cifs_writepages(struct address_space *mapping,
wdata->cfile = find_writable_file(CIFS_I(mapping->host), wdata->cfile = find_writable_file(CIFS_I(mapping->host),
false); false);
if (!wdata->cfile) { if (!wdata->cfile) {
cERROR(1, "No writable handles for inode"); cifs_dbg(VFS, "No writable handles for inode\n");
rc = -EBADF; rc = -EBADF;
break; break;
} }
...@@ -2076,7 +2071,7 @@ cifs_writepage_locked(struct page *page, struct writeback_control *wbc) ...@@ -2076,7 +2071,7 @@ cifs_writepage_locked(struct page *page, struct writeback_control *wbc)
/* BB add check for wbc flags */ /* BB add check for wbc flags */
page_cache_get(page); page_cache_get(page);
if (!PageUptodate(page)) if (!PageUptodate(page))
cFYI(1, "ppw - page not up to date"); cifs_dbg(FYI, "ppw - page not up to date\n");
/* /*
* Set the "writeback" flag, and clear "dirty" in the radix tree. * Set the "writeback" flag, and clear "dirty" in the radix tree.
...@@ -2127,7 +2122,7 @@ static int cifs_write_end(struct file *file, struct address_space *mapping, ...@@ -2127,7 +2122,7 @@ static int cifs_write_end(struct file *file, struct address_space *mapping,
else else
pid = current->tgid; pid = current->tgid;
cFYI(1, "write_end for page %p from pos %lld with %d bytes", cifs_dbg(FYI, "write_end for page %p from pos %lld with %d bytes\n",
page, pos, copied); page, pos, copied);
if (PageChecked(page)) { if (PageChecked(page)) {
...@@ -2191,13 +2186,13 @@ int cifs_strict_fsync(struct file *file, loff_t start, loff_t end, ...@@ -2191,13 +2186,13 @@ int cifs_strict_fsync(struct file *file, loff_t start, loff_t end,
xid = get_xid(); xid = get_xid();
cFYI(1, "Sync file - name: %s datasync: 0x%x", cifs_dbg(FYI, "Sync file - name: %s datasync: 0x%x\n",
file->f_path.dentry->d_name.name, datasync); file->f_path.dentry->d_name.name, datasync);
if (!CIFS_I(inode)->clientCanCacheRead) { if (!CIFS_I(inode)->clientCanCacheRead) {
rc = cifs_invalidate_mapping(inode); rc = cifs_invalidate_mapping(inode);
if (rc) { if (rc) {
cFYI(1, "rc: %d during invalidate phase", rc); cifs_dbg(FYI, "rc: %d during invalidate phase\n", rc);
rc = 0; /* don't care about it in fsync */ rc = 0; /* don't care about it in fsync */
} }
} }
...@@ -2233,8 +2228,8 @@ int cifs_fsync(struct file *file, loff_t start, loff_t end, int datasync) ...@@ -2233,8 +2228,8 @@ int cifs_fsync(struct file *file, loff_t start, loff_t end, int datasync)
xid = get_xid(); xid = get_xid();
cFYI(1, "Sync file - name: %s datasync: 0x%x", cifs_dbg(FYI, "Sync file - name: %s datasync: 0x%x\n",
file->f_path.dentry->d_name.name, datasync); file->f_path.dentry->d_name.name, datasync);
tcon = tlink_tcon(smbfile->tlink); tcon = tlink_tcon(smbfile->tlink);
if (!(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NOSSYNC)) { if (!(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NOSSYNC)) {
...@@ -2262,7 +2257,7 @@ int cifs_flush(struct file *file, fl_owner_t id) ...@@ -2262,7 +2257,7 @@ int cifs_flush(struct file *file, fl_owner_t id)
if (file->f_mode & FMODE_WRITE) if (file->f_mode & FMODE_WRITE)
rc = filemap_write_and_wait(inode->i_mapping); rc = filemap_write_and_wait(inode->i_mapping);
cFYI(1, "Flush inode %p file %p rc %d", inode, file, rc); cifs_dbg(FYI, "Flush inode %p file %p rc %d\n", inode, file, rc);
return rc; return rc;
} }
...@@ -2579,8 +2574,8 @@ cifs_strict_writev(struct kiocb *iocb, const struct iovec *iov, ...@@ -2579,8 +2574,8 @@ cifs_strict_writev(struct kiocb *iocb, const struct iovec *iov,
* an old data. * an old data.
*/ */
cifs_invalidate_mapping(inode); cifs_invalidate_mapping(inode);
cFYI(1, "Set no oplock for inode=%p after a write operation", cifs_dbg(FYI, "Set no oplock for inode=%p after a write operation\n",
inode); inode);
cinode->clientCanCacheRead = false; cinode->clientCanCacheRead = false;
} }
return written; return written;
...@@ -2756,15 +2751,15 @@ cifs_uncached_read_into_pages(struct TCP_Server_Info *server, ...@@ -2756,15 +2751,15 @@ cifs_uncached_read_into_pages(struct TCP_Server_Info *server,
/* enough data to fill the page */ /* enough data to fill the page */
iov.iov_base = kmap(page); iov.iov_base = kmap(page);
iov.iov_len = PAGE_SIZE; iov.iov_len = PAGE_SIZE;
cFYI(1, "%u: iov_base=%p iov_len=%zu", cifs_dbg(FYI, "%u: iov_base=%p iov_len=%zu\n",
i, iov.iov_base, iov.iov_len); i, iov.iov_base, iov.iov_len);
len -= PAGE_SIZE; len -= PAGE_SIZE;
} else if (len > 0) { } else if (len > 0) {
/* enough for partial page, fill and zero the rest */ /* enough for partial page, fill and zero the rest */
iov.iov_base = kmap(page); iov.iov_base = kmap(page);
iov.iov_len = len; iov.iov_len = len;
cFYI(1, "%u: iov_base=%p iov_len=%zu", cifs_dbg(FYI, "%u: iov_base=%p iov_len=%zu\n",
i, iov.iov_base, iov.iov_len); i, iov.iov_base, iov.iov_len);
memset(iov.iov_base + len, '\0', PAGE_SIZE - len); memset(iov.iov_base + len, '\0', PAGE_SIZE - len);
rdata->tailsz = len; rdata->tailsz = len;
len = 0; len = 0;
...@@ -2824,7 +2819,7 @@ cifs_iovec_read(struct file *file, const struct iovec *iov, ...@@ -2824,7 +2819,7 @@ cifs_iovec_read(struct file *file, const struct iovec *iov,
pid = current->tgid; pid = current->tgid;
if ((file->f_flags & O_ACCMODE) == O_WRONLY) if ((file->f_flags & O_ACCMODE) == O_WRONLY)
cFYI(1, "attempting read on write only file instance"); cifs_dbg(FYI, "attempting read on write only file instance\n");
do { do {
cur_len = min_t(const size_t, len - total_read, cifs_sb->rsize); cur_len = min_t(const size_t, len - total_read, cifs_sb->rsize);
...@@ -3003,7 +2998,7 @@ cifs_read(struct file *file, char *read_data, size_t read_size, loff_t *offset) ...@@ -3003,7 +2998,7 @@ cifs_read(struct file *file, char *read_data, size_t read_size, loff_t *offset)
pid = current->tgid; pid = current->tgid;
if ((file->f_flags & O_ACCMODE) == O_WRONLY) if ((file->f_flags & O_ACCMODE) == O_WRONLY)
cFYI(1, "attempting read on write only file instance"); cifs_dbg(FYI, "attempting read on write only file instance\n");
for (total_read = 0, cur_offset = read_data; read_size > total_read; for (total_read = 0, cur_offset = read_data; read_size > total_read;
total_read += bytes_read, cur_offset += bytes_read) { total_read += bytes_read, cur_offset += bytes_read) {
...@@ -3094,7 +3089,8 @@ int cifs_file_mmap(struct file *file, struct vm_area_struct *vma) ...@@ -3094,7 +3089,8 @@ int cifs_file_mmap(struct file *file, struct vm_area_struct *vma)
xid = get_xid(); xid = get_xid();
rc = cifs_revalidate_file(file); rc = cifs_revalidate_file(file);
if (rc) { if (rc) {
cFYI(1, "Validation prior to mmap failed, error=%d", rc); cifs_dbg(FYI, "Validation prior to mmap failed, error=%d\n",
rc);
free_xid(xid); free_xid(xid);
return rc; return rc;
} }
...@@ -3147,7 +3143,7 @@ cifs_readpages_read_into_pages(struct TCP_Server_Info *server, ...@@ -3147,7 +3143,7 @@ cifs_readpages_read_into_pages(struct TCP_Server_Info *server,
/* determine the eof that the server (probably) has */ /* determine the eof that the server (probably) has */
eof = CIFS_I(rdata->mapping->host)->server_eof; eof = CIFS_I(rdata->mapping->host)->server_eof;
eof_index = eof ? (eof - 1) >> PAGE_CACHE_SHIFT : 0; eof_index = eof ? (eof - 1) >> PAGE_CACHE_SHIFT : 0;
cFYI(1, "eof=%llu eof_index=%lu", eof, eof_index); cifs_dbg(FYI, "eof=%llu eof_index=%lu\n", eof, eof_index);
rdata->tailsz = PAGE_CACHE_SIZE; rdata->tailsz = PAGE_CACHE_SIZE;
for (i = 0; i < nr_pages; i++) { for (i = 0; i < nr_pages; i++) {
...@@ -3157,15 +3153,15 @@ cifs_readpages_read_into_pages(struct TCP_Server_Info *server, ...@@ -3157,15 +3153,15 @@ cifs_readpages_read_into_pages(struct TCP_Server_Info *server,
/* enough data to fill the page */ /* enough data to fill the page */
iov.iov_base = kmap(page); iov.iov_base = kmap(page);
iov.iov_len = PAGE_CACHE_SIZE; iov.iov_len = PAGE_CACHE_SIZE;
cFYI(1, "%u: idx=%lu iov_base=%p iov_len=%zu", cifs_dbg(FYI, "%u: idx=%lu iov_base=%p iov_len=%zu\n",
i, page->index, iov.iov_base, iov.iov_len); i, page->index, iov.iov_base, iov.iov_len);
len -= PAGE_CACHE_SIZE; len -= PAGE_CACHE_SIZE;
} else if (len > 0) { } else if (len > 0) {
/* enough for partial page, fill and zero the rest */ /* enough for partial page, fill and zero the rest */
iov.iov_base = kmap(page); iov.iov_base = kmap(page);
iov.iov_len = len; iov.iov_len = len;
cFYI(1, "%u: idx=%lu iov_base=%p iov_len=%zu", cifs_dbg(FYI, "%u: idx=%lu iov_base=%p iov_len=%zu\n",
i, page->index, iov.iov_base, iov.iov_len); i, page->index, iov.iov_base, iov.iov_len);
memset(iov.iov_base + len, memset(iov.iov_base + len,
'\0', PAGE_CACHE_SIZE - len); '\0', PAGE_CACHE_SIZE - len);
rdata->tailsz = len; rdata->tailsz = len;
...@@ -3245,8 +3241,8 @@ static int cifs_readpages(struct file *file, struct address_space *mapping, ...@@ -3245,8 +3241,8 @@ static int cifs_readpages(struct file *file, struct address_space *mapping,
rc = 0; rc = 0;
INIT_LIST_HEAD(&tmplist); INIT_LIST_HEAD(&tmplist);
cFYI(1, "%s: file=%p mapping=%p num_pages=%u", __func__, file, cifs_dbg(FYI, "%s: file=%p mapping=%p num_pages=%u\n",
mapping, num_pages); __func__, file, mapping, num_pages);
/* /*
* Start with the page at end of list and move it to private * Start with the page at end of list and move it to private
...@@ -3376,7 +3372,7 @@ static int cifs_readpage_worker(struct file *file, struct page *page, ...@@ -3376,7 +3372,7 @@ static int cifs_readpage_worker(struct file *file, struct page *page,
if (rc < 0) if (rc < 0)
goto io_error; goto io_error;
else else
cFYI(1, "Bytes read %d", rc); cifs_dbg(FYI, "Bytes read %d\n", rc);
file_inode(file)->i_atime = file_inode(file)->i_atime =
current_fs_time(file_inode(file)->i_sb); current_fs_time(file_inode(file)->i_sb);
...@@ -3414,7 +3410,7 @@ static int cifs_readpage(struct file *file, struct page *page) ...@@ -3414,7 +3410,7 @@ static int cifs_readpage(struct file *file, struct page *page)
return rc; return rc;
} }
cFYI(1, "readpage %p at offset %d 0x%x", cifs_dbg(FYI, "readpage %p at offset %d 0x%x\n",
page, (int)offset, (int)offset); page, (int)offset, (int)offset);
rc = cifs_readpage_worker(file, page, &offset); rc = cifs_readpage_worker(file, page, &offset);
...@@ -3481,7 +3477,7 @@ static int cifs_write_begin(struct file *file, struct address_space *mapping, ...@@ -3481,7 +3477,7 @@ static int cifs_write_begin(struct file *file, struct address_space *mapping,
struct page *page; struct page *page;
int rc = 0; int rc = 0;
cFYI(1, "write_begin from %lld len %d", (long long)pos, len); cifs_dbg(FYI, "write_begin from %lld len %d\n", (long long)pos, len);
page = grab_cache_page_write_begin(mapping, index, flags); page = grab_cache_page_write_begin(mapping, index, flags);
if (!page) { if (!page) {
...@@ -3570,7 +3566,7 @@ static int cifs_launder_page(struct page *page) ...@@ -3570,7 +3566,7 @@ static int cifs_launder_page(struct page *page)
.range_end = range_end, .range_end = range_end,
}; };
cFYI(1, "Launder page: %p", page); cifs_dbg(FYI, "Launder page: %p\n", page);
if (clear_page_dirty_for_io(page)) if (clear_page_dirty_for_io(page))
rc = cifs_writepage_locked(page, &wbc); rc = cifs_writepage_locked(page, &wbc);
...@@ -3590,8 +3586,8 @@ void cifs_oplock_break(struct work_struct *work) ...@@ -3590,8 +3586,8 @@ void cifs_oplock_break(struct work_struct *work)
if (!cinode->clientCanCacheAll && cinode->clientCanCacheRead && if (!cinode->clientCanCacheAll && cinode->clientCanCacheRead &&
cifs_has_mand_locks(cinode)) { cifs_has_mand_locks(cinode)) {
cFYI(1, "Reset oplock to None for inode=%p due to mand locks", cifs_dbg(FYI, "Reset oplock to None for inode=%p due to mand locks\n",
inode); inode);
cinode->clientCanCacheRead = false; cinode->clientCanCacheRead = false;
} }
...@@ -3606,12 +3602,12 @@ void cifs_oplock_break(struct work_struct *work) ...@@ -3606,12 +3602,12 @@ void cifs_oplock_break(struct work_struct *work)
mapping_set_error(inode->i_mapping, rc); mapping_set_error(inode->i_mapping, rc);
cifs_invalidate_mapping(inode); cifs_invalidate_mapping(inode);
} }
cFYI(1, "Oplock flush inode %p rc %d", inode, rc); cifs_dbg(FYI, "Oplock flush inode %p rc %d\n", inode, rc);
} }
rc = cifs_push_locks(cfile); rc = cifs_push_locks(cfile);
if (rc) if (rc)
cERROR(1, "Push locks rc = %d", rc); cifs_dbg(VFS, "Push locks rc = %d\n", rc);
/* /*
* releasing stale oplock after recent reconnect of smb session using * releasing stale oplock after recent reconnect of smb session using
...@@ -3622,7 +3618,7 @@ void cifs_oplock_break(struct work_struct *work) ...@@ -3622,7 +3618,7 @@ void cifs_oplock_break(struct work_struct *work)
if (!cfile->oplock_break_cancelled) { if (!cfile->oplock_break_cancelled) {
rc = tcon->ses->server->ops->oplock_response(tcon, &cfile->fid, rc = tcon->ses->server->ops->oplock_response(tcon, &cfile->fid,
cinode); cinode);
cFYI(1, "Oplock release rc = %d", rc); cifs_dbg(FYI, "Oplock release rc = %d\n", rc);
} }
} }
......
...@@ -28,14 +28,14 @@ void cifs_fscache_get_client_cookie(struct TCP_Server_Info *server) ...@@ -28,14 +28,14 @@ void cifs_fscache_get_client_cookie(struct TCP_Server_Info *server)
server->fscache = server->fscache =
fscache_acquire_cookie(cifs_fscache_netfs.primary_index, fscache_acquire_cookie(cifs_fscache_netfs.primary_index,
&cifs_fscache_server_index_def, server); &cifs_fscache_server_index_def, server);
cFYI(1, "%s: (0x%p/0x%p)", __func__, server, cifs_dbg(FYI, "%s: (0x%p/0x%p)\n",
server->fscache); __func__, server, server->fscache);
} }
void cifs_fscache_release_client_cookie(struct TCP_Server_Info *server) void cifs_fscache_release_client_cookie(struct TCP_Server_Info *server)
{ {
cFYI(1, "%s: (0x%p/0x%p)", __func__, server, cifs_dbg(FYI, "%s: (0x%p/0x%p)\n",
server->fscache); __func__, server, server->fscache);
fscache_relinquish_cookie(server->fscache, 0); fscache_relinquish_cookie(server->fscache, 0);
server->fscache = NULL; server->fscache = NULL;
} }
...@@ -47,13 +47,13 @@ void cifs_fscache_get_super_cookie(struct cifs_tcon *tcon) ...@@ -47,13 +47,13 @@ void cifs_fscache_get_super_cookie(struct cifs_tcon *tcon)
tcon->fscache = tcon->fscache =
fscache_acquire_cookie(server->fscache, fscache_acquire_cookie(server->fscache,
&cifs_fscache_super_index_def, tcon); &cifs_fscache_super_index_def, tcon);
cFYI(1, "%s: (0x%p/0x%p)", __func__, server->fscache, cifs_dbg(FYI, "%s: (0x%p/0x%p)\n",
tcon->fscache); __func__, server->fscache, tcon->fscache);
} }
void cifs_fscache_release_super_cookie(struct cifs_tcon *tcon) void cifs_fscache_release_super_cookie(struct cifs_tcon *tcon)
{ {
cFYI(1, "%s: (0x%p)", __func__, tcon->fscache); cifs_dbg(FYI, "%s: (0x%p)\n", __func__, tcon->fscache);
fscache_relinquish_cookie(tcon->fscache, 0); fscache_relinquish_cookie(tcon->fscache, 0);
tcon->fscache = NULL; tcon->fscache = NULL;
} }
...@@ -70,8 +70,8 @@ static void cifs_fscache_enable_inode_cookie(struct inode *inode) ...@@ -70,8 +70,8 @@ static void cifs_fscache_enable_inode_cookie(struct inode *inode)
if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_FSCACHE) { if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_FSCACHE) {
cifsi->fscache = fscache_acquire_cookie(tcon->fscache, cifsi->fscache = fscache_acquire_cookie(tcon->fscache,
&cifs_fscache_inode_object_def, cifsi); &cifs_fscache_inode_object_def, cifsi);
cFYI(1, "%s: got FH cookie (0x%p/0x%p)", __func__, cifs_dbg(FYI, "%s: got FH cookie (0x%p/0x%p)\n",
tcon->fscache, cifsi->fscache); __func__, tcon->fscache, cifsi->fscache);
} }
} }
...@@ -80,7 +80,7 @@ void cifs_fscache_release_inode_cookie(struct inode *inode) ...@@ -80,7 +80,7 @@ void cifs_fscache_release_inode_cookie(struct inode *inode)
struct cifsInodeInfo *cifsi = CIFS_I(inode); struct cifsInodeInfo *cifsi = CIFS_I(inode);
if (cifsi->fscache) { if (cifsi->fscache) {
cFYI(1, "%s: (0x%p)", __func__, cifsi->fscache); cifs_dbg(FYI, "%s: (0x%p)\n", __func__, cifsi->fscache);
fscache_relinquish_cookie(cifsi->fscache, 0); fscache_relinquish_cookie(cifsi->fscache, 0);
cifsi->fscache = NULL; cifsi->fscache = NULL;
} }
...@@ -91,7 +91,7 @@ static void cifs_fscache_disable_inode_cookie(struct inode *inode) ...@@ -91,7 +91,7 @@ static void cifs_fscache_disable_inode_cookie(struct inode *inode)
struct cifsInodeInfo *cifsi = CIFS_I(inode); struct cifsInodeInfo *cifsi = CIFS_I(inode);
if (cifsi->fscache) { if (cifsi->fscache) {
cFYI(1, "%s: (0x%p)", __func__, cifsi->fscache); cifs_dbg(FYI, "%s: (0x%p)\n", __func__, cifsi->fscache);
fscache_uncache_all_inode_pages(cifsi->fscache, inode); fscache_uncache_all_inode_pages(cifsi->fscache, inode);
fscache_relinquish_cookie(cifsi->fscache, 1); fscache_relinquish_cookie(cifsi->fscache, 1);
cifsi->fscache = NULL; cifsi->fscache = NULL;
...@@ -120,8 +120,8 @@ void cifs_fscache_reset_inode_cookie(struct inode *inode) ...@@ -120,8 +120,8 @@ void cifs_fscache_reset_inode_cookie(struct inode *inode)
cifs_sb_master_tcon(cifs_sb)->fscache, cifs_sb_master_tcon(cifs_sb)->fscache,
&cifs_fscache_inode_object_def, &cifs_fscache_inode_object_def,
cifsi); cifsi);
cFYI(1, "%s: new cookie 0x%p oldcookie 0x%p", cifs_dbg(FYI, "%s: new cookie 0x%p oldcookie 0x%p\n",
__func__, cifsi->fscache, old); __func__, cifsi->fscache, old);
} }
} }
...@@ -131,8 +131,8 @@ int cifs_fscache_release_page(struct page *page, gfp_t gfp) ...@@ -131,8 +131,8 @@ int cifs_fscache_release_page(struct page *page, gfp_t gfp)
struct inode *inode = page->mapping->host; struct inode *inode = page->mapping->host;
struct cifsInodeInfo *cifsi = CIFS_I(inode); struct cifsInodeInfo *cifsi = CIFS_I(inode);
cFYI(1, "%s: (0x%p/0x%p)", __func__, page, cifs_dbg(FYI, "%s: (0x%p/0x%p)\n",
cifsi->fscache); __func__, page, cifsi->fscache);
if (!fscache_maybe_release_page(cifsi->fscache, page, gfp)) if (!fscache_maybe_release_page(cifsi->fscache, page, gfp))
return 0; return 0;
} }
...@@ -143,7 +143,7 @@ int cifs_fscache_release_page(struct page *page, gfp_t gfp) ...@@ -143,7 +143,7 @@ int cifs_fscache_release_page(struct page *page, gfp_t gfp)
static void cifs_readpage_from_fscache_complete(struct page *page, void *ctx, static void cifs_readpage_from_fscache_complete(struct page *page, void *ctx,
int error) int error)
{ {
cFYI(1, "%s: (0x%p/%d)", __func__, page, error); cifs_dbg(FYI, "%s: (0x%p/%d)\n", __func__, page, error);
if (!error) if (!error)
SetPageUptodate(page); SetPageUptodate(page);
unlock_page(page); unlock_page(page);
...@@ -156,8 +156,8 @@ int __cifs_readpage_from_fscache(struct inode *inode, struct page *page) ...@@ -156,8 +156,8 @@ int __cifs_readpage_from_fscache(struct inode *inode, struct page *page)
{ {
int ret; int ret;
cFYI(1, "%s: (fsc:%p, p:%p, i:0x%p", __func__, cifs_dbg(FYI, "%s: (fsc:%p, p:%p, i:0x%p\n",
CIFS_I(inode)->fscache, page, inode); __func__, CIFS_I(inode)->fscache, page, inode);
ret = fscache_read_or_alloc_page(CIFS_I(inode)->fscache, page, ret = fscache_read_or_alloc_page(CIFS_I(inode)->fscache, page,
cifs_readpage_from_fscache_complete, cifs_readpage_from_fscache_complete,
NULL, NULL,
...@@ -165,15 +165,15 @@ int __cifs_readpage_from_fscache(struct inode *inode, struct page *page) ...@@ -165,15 +165,15 @@ int __cifs_readpage_from_fscache(struct inode *inode, struct page *page)
switch (ret) { switch (ret) {
case 0: /* page found in fscache, read submitted */ case 0: /* page found in fscache, read submitted */
cFYI(1, "%s: submitted", __func__); cifs_dbg(FYI, "%s: submitted\n", __func__);
return ret; return ret;
case -ENOBUFS: /* page won't be cached */ case -ENOBUFS: /* page won't be cached */
case -ENODATA: /* page not in cache */ case -ENODATA: /* page not in cache */
cFYI(1, "%s: %d", __func__, ret); cifs_dbg(FYI, "%s: %d\n", __func__, ret);
return 1; return 1;
default: default:
cERROR(1, "unknown error ret = %d", ret); cifs_dbg(VFS, "unknown error ret = %d\n", ret);
} }
return ret; return ret;
} }
...@@ -188,8 +188,8 @@ int __cifs_readpages_from_fscache(struct inode *inode, ...@@ -188,8 +188,8 @@ int __cifs_readpages_from_fscache(struct inode *inode,
{ {
int ret; int ret;
cFYI(1, "%s: (0x%p/%u/0x%p)", __func__, cifs_dbg(FYI, "%s: (0x%p/%u/0x%p)\n",
CIFS_I(inode)->fscache, *nr_pages, inode); __func__, CIFS_I(inode)->fscache, *nr_pages, inode);
ret = fscache_read_or_alloc_pages(CIFS_I(inode)->fscache, mapping, ret = fscache_read_or_alloc_pages(CIFS_I(inode)->fscache, mapping,
pages, nr_pages, pages, nr_pages,
cifs_readpage_from_fscache_complete, cifs_readpage_from_fscache_complete,
...@@ -197,16 +197,16 @@ int __cifs_readpages_from_fscache(struct inode *inode, ...@@ -197,16 +197,16 @@ int __cifs_readpages_from_fscache(struct inode *inode,
mapping_gfp_mask(mapping)); mapping_gfp_mask(mapping));
switch (ret) { switch (ret) {
case 0: /* read submitted to the cache for all pages */ case 0: /* read submitted to the cache for all pages */
cFYI(1, "%s: submitted", __func__); cifs_dbg(FYI, "%s: submitted\n", __func__);
return ret; return ret;
case -ENOBUFS: /* some pages are not cached and can't be */ case -ENOBUFS: /* some pages are not cached and can't be */
case -ENODATA: /* some pages are not cached */ case -ENODATA: /* some pages are not cached */
cFYI(1, "%s: no page", __func__); cifs_dbg(FYI, "%s: no page\n", __func__);
return 1; return 1;
default: default:
cFYI(1, "unknown error ret = %d", ret); cifs_dbg(FYI, "unknown error ret = %d\n", ret);
} }
return ret; return ret;
...@@ -216,8 +216,8 @@ void __cifs_readpage_to_fscache(struct inode *inode, struct page *page) ...@@ -216,8 +216,8 @@ void __cifs_readpage_to_fscache(struct inode *inode, struct page *page)
{ {
int ret; int ret;
cFYI(1, "%s: (fsc: %p, p: %p, i: %p)", __func__, cifs_dbg(FYI, "%s: (fsc: %p, p: %p, i: %p)\n",
CIFS_I(inode)->fscache, page, inode); __func__, CIFS_I(inode)->fscache, page, inode);
ret = fscache_write_page(CIFS_I(inode)->fscache, page, GFP_KERNEL); ret = fscache_write_page(CIFS_I(inode)->fscache, page, GFP_KERNEL);
if (ret != 0) if (ret != 0)
fscache_uncache_page(CIFS_I(inode)->fscache, page); fscache_uncache_page(CIFS_I(inode)->fscache, page);
...@@ -228,7 +228,7 @@ void __cifs_fscache_invalidate_page(struct page *page, struct inode *inode) ...@@ -228,7 +228,7 @@ void __cifs_fscache_invalidate_page(struct page *page, struct inode *inode)
struct cifsInodeInfo *cifsi = CIFS_I(inode); struct cifsInodeInfo *cifsi = CIFS_I(inode);
struct fscache_cookie *cookie = cifsi->fscache; struct fscache_cookie *cookie = cifsi->fscache;
cFYI(1, "%s: (0x%p/0x%p)", __func__, page, cookie); cifs_dbg(FYI, "%s: (0x%p/0x%p)\n", __func__, page, cookie);
fscache_wait_on_page_write(cookie, page); fscache_wait_on_page_write(cookie, page);
fscache_uncache_page(cookie, page); fscache_uncache_page(cookie, page);
} }
......
此差异已折叠。
...@@ -44,7 +44,7 @@ long cifs_ioctl(struct file *filep, unsigned int command, unsigned long arg) ...@@ -44,7 +44,7 @@ long cifs_ioctl(struct file *filep, unsigned int command, unsigned long arg)
xid = get_xid(); xid = get_xid();
cFYI(1, "ioctl file %p cmd %u arg %lu", filep, command, arg); cifs_dbg(FYI, "ioctl file %p cmd %u arg %lu\n", filep, command, arg);
cifs_sb = CIFS_SB(inode->i_sb); cifs_sb = CIFS_SB(inode->i_sb);
...@@ -83,11 +83,11 @@ long cifs_ioctl(struct file *filep, unsigned int command, unsigned long arg) ...@@ -83,11 +83,11 @@ long cifs_ioctl(struct file *filep, unsigned int command, unsigned long arg)
* &ExtAttrMask); * &ExtAttrMask);
*/ */
} }
cFYI(1, "set flags not implemented yet"); cifs_dbg(FYI, "set flags not implemented yet\n");
break; break;
#endif /* CONFIG_CIFS_POSIX */ #endif /* CONFIG_CIFS_POSIX */
default: default:
cFYI(1, "unsupported ioctl"); cifs_dbg(FYI, "unsupported ioctl\n");
break; break;
} }
......
...@@ -56,14 +56,14 @@ symlink_hash(unsigned int link_len, const char *link_str, u8 *md5_hash) ...@@ -56,14 +56,14 @@ symlink_hash(unsigned int link_len, const char *link_str, u8 *md5_hash)
md5 = crypto_alloc_shash("md5", 0, 0); md5 = crypto_alloc_shash("md5", 0, 0);
if (IS_ERR(md5)) { if (IS_ERR(md5)) {
rc = PTR_ERR(md5); rc = PTR_ERR(md5);
cERROR(1, "%s: Crypto md5 allocation error %d", __func__, rc); cifs_dbg(VFS, "%s: Crypto md5 allocation error %d\n",
__func__, rc);
return rc; return rc;
} }
size = sizeof(struct shash_desc) + crypto_shash_descsize(md5); size = sizeof(struct shash_desc) + crypto_shash_descsize(md5);
sdescmd5 = kmalloc(size, GFP_KERNEL); sdescmd5 = kmalloc(size, GFP_KERNEL);
if (!sdescmd5) { if (!sdescmd5) {
rc = -ENOMEM; rc = -ENOMEM;
cERROR(1, "%s: Memory allocation failure", __func__);
goto symlink_hash_err; goto symlink_hash_err;
} }
sdescmd5->shash.tfm = md5; sdescmd5->shash.tfm = md5;
...@@ -71,17 +71,17 @@ symlink_hash(unsigned int link_len, const char *link_str, u8 *md5_hash) ...@@ -71,17 +71,17 @@ symlink_hash(unsigned int link_len, const char *link_str, u8 *md5_hash)
rc = crypto_shash_init(&sdescmd5->shash); rc = crypto_shash_init(&sdescmd5->shash);
if (rc) { if (rc) {
cERROR(1, "%s: Could not init md5 shash", __func__); cifs_dbg(VFS, "%s: Could not init md5 shash\n", __func__);
goto symlink_hash_err; goto symlink_hash_err;
} }
rc = crypto_shash_update(&sdescmd5->shash, link_str, link_len); rc = crypto_shash_update(&sdescmd5->shash, link_str, link_len);
if (rc) { if (rc) {
cERROR(1, "%s: Could not update with link_str", __func__); cifs_dbg(VFS, "%s: Could not update with link_str\n", __func__);
goto symlink_hash_err; goto symlink_hash_err;
} }
rc = crypto_shash_final(&sdescmd5->shash, md5_hash); rc = crypto_shash_final(&sdescmd5->shash, md5_hash);
if (rc) if (rc)
cERROR(1, "%s: Could not generate md5 hash", __func__); cifs_dbg(VFS, "%s: Could not generate md5 hash\n", __func__);
symlink_hash_err: symlink_hash_err:
crypto_free_shash(md5); crypto_free_shash(md5);
...@@ -115,7 +115,7 @@ CIFSParseMFSymlink(const u8 *buf, ...@@ -115,7 +115,7 @@ CIFSParseMFSymlink(const u8 *buf,
rc = symlink_hash(link_len, link_str, md5_hash); rc = symlink_hash(link_len, link_str, md5_hash);
if (rc) { if (rc) {
cFYI(1, "%s: MD5 hash failure: %d", __func__, rc); cifs_dbg(FYI, "%s: MD5 hash failure: %d\n", __func__, rc);
return rc; return rc;
} }
...@@ -154,7 +154,7 @@ CIFSFormatMFSymlink(u8 *buf, unsigned int buf_len, const char *link_str) ...@@ -154,7 +154,7 @@ CIFSFormatMFSymlink(u8 *buf, unsigned int buf_len, const char *link_str)
rc = symlink_hash(link_len, link_str, md5_hash); rc = symlink_hash(link_len, link_str, md5_hash);
if (rc) { if (rc) {
cFYI(1, "%s: MD5 hash failure: %d", __func__, rc); cifs_dbg(FYI, "%s: MD5 hash failure: %d\n", __func__, rc);
return rc; return rc;
} }
...@@ -521,7 +521,7 @@ cifs_follow_link(struct dentry *direntry, struct nameidata *nd) ...@@ -521,7 +521,7 @@ cifs_follow_link(struct dentry *direntry, struct nameidata *nd)
if (!full_path) if (!full_path)
goto out; goto out;
cFYI(1, "Full path: %s inode = 0x%p", full_path, inode); cifs_dbg(FYI, "Full path: %s inode = 0x%p\n", full_path, inode);
rc = -EACCES; rc = -EACCES;
/* /*
...@@ -578,8 +578,8 @@ cifs_symlink(struct inode *inode, struct dentry *direntry, const char *symname) ...@@ -578,8 +578,8 @@ cifs_symlink(struct inode *inode, struct dentry *direntry, const char *symname)
goto symlink_exit; goto symlink_exit;
} }
cFYI(1, "Full path: %s", full_path); cifs_dbg(FYI, "Full path: %s\n", full_path);
cFYI(1, "symname is %s", symname); cifs_dbg(FYI, "symname is %s\n", symname);
/* BB what if DFS and this volume is on different share? BB */ /* BB what if DFS and this volume is on different share? BB */
if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MF_SYMLINKS) if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MF_SYMLINKS)
...@@ -601,8 +601,8 @@ cifs_symlink(struct inode *inode, struct dentry *direntry, const char *symname) ...@@ -601,8 +601,8 @@ cifs_symlink(struct inode *inode, struct dentry *direntry, const char *symname)
inode->i_sb, xid, NULL); inode->i_sb, xid, NULL);
if (rc != 0) { if (rc != 0) {
cFYI(1, "Create symlink ok, getinodeinfo fail rc = %d", cifs_dbg(FYI, "Create symlink ok, getinodeinfo fail rc = %d\n",
rc); rc);
} else { } else {
d_instantiate(direntry, newinode); d_instantiate(direntry, newinode);
} }
......
此差异已折叠。
...@@ -150,8 +150,8 @@ cifs_inet_pton(const int address_family, const char *cp, int len, void *dst) ...@@ -150,8 +150,8 @@ cifs_inet_pton(const int address_family, const char *cp, int len, void *dst)
else if (address_family == AF_INET6) else if (address_family == AF_INET6)
ret = in6_pton(cp, len, dst , '\\', NULL); ret = in6_pton(cp, len, dst , '\\', NULL);
cFYI(DBG2, "address conversion returned %d for %*.*s", cifs_dbg(NOISY, "address conversion returned %d for %*.*s\n",
ret, len, len, cp); ret, len, len, cp);
if (ret > 0) if (ret > 0)
ret = 1; ret = 1;
return ret; return ret;
...@@ -887,7 +887,7 @@ map_smb_to_linux_error(char *buf, bool logErr) ...@@ -887,7 +887,7 @@ map_smb_to_linux_error(char *buf, bool logErr)
} }
/* else ERRHRD class errors or junk - return EIO */ /* else ERRHRD class errors or junk - return EIO */
cFYI(1, "Mapping smb error code 0x%x to POSIX err %d", cifs_dbg(FYI, "Mapping smb error code 0x%x to POSIX err %d\n",
le32_to_cpu(smb->Status.CifsError), rc); le32_to_cpu(smb->Status.CifsError), rc);
/* generic corrective action e.g. reconnect SMB session on /* generic corrective action e.g. reconnect SMB session on
...@@ -951,20 +951,20 @@ struct timespec cnvrtDosUnixTm(__le16 le_date, __le16 le_time, int offset) ...@@ -951,20 +951,20 @@ struct timespec cnvrtDosUnixTm(__le16 le_date, __le16 le_time, int offset)
SMB_TIME *st = (SMB_TIME *)&time; SMB_TIME *st = (SMB_TIME *)&time;
SMB_DATE *sd = (SMB_DATE *)&date; SMB_DATE *sd = (SMB_DATE *)&date;
cFYI(1, "date %d time %d", date, time); cifs_dbg(FYI, "date %d time %d\n", date, time);
sec = 2 * st->TwoSeconds; sec = 2 * st->TwoSeconds;
min = st->Minutes; min = st->Minutes;
if ((sec > 59) || (min > 59)) if ((sec > 59) || (min > 59))
cERROR(1, "illegal time min %d sec %d", min, sec); cifs_dbg(VFS, "illegal time min %d sec %d\n", min, sec);
sec += (min * 60); sec += (min * 60);
sec += 60 * 60 * st->Hours; sec += 60 * 60 * st->Hours;
if (st->Hours > 24) if (st->Hours > 24)
cERROR(1, "illegal hours %d", st->Hours); cifs_dbg(VFS, "illegal hours %d\n", st->Hours);
days = sd->Day; days = sd->Day;
month = sd->Month; month = sd->Month;
if ((days > 31) || (month > 12)) { if ((days > 31) || (month > 12)) {
cERROR(1, "illegal date, month %d day: %d", month, days); cifs_dbg(VFS, "illegal date, month %d day: %d\n", month, days);
if (month > 12) if (month > 12)
month = 12; month = 12;
} }
...@@ -990,7 +990,7 @@ struct timespec cnvrtDosUnixTm(__le16 le_date, __le16 le_time, int offset) ...@@ -990,7 +990,7 @@ struct timespec cnvrtDosUnixTm(__le16 le_date, __le16 le_time, int offset)
ts.tv_sec = sec + offset; ts.tv_sec = sec + offset;
/* cFYI(1, "sec after cnvrt dos to unix time %d",sec); */ /* cifs_dbg(FYI, "sec after cnvrt dos to unix time %d\n",sec); */
ts.tv_nsec = 0; ts.tv_nsec = 0;
return ts; return ts;
......
此差异已折叠。
此差异已折叠。
此差异已折叠。
...@@ -43,13 +43,13 @@ smb2_set_oplock_level(struct cifsInodeInfo *cinode, __u32 oplock) ...@@ -43,13 +43,13 @@ smb2_set_oplock_level(struct cifsInodeInfo *cinode, __u32 oplock)
if (oplock == SMB2_OPLOCK_LEVEL_EXCLUSIVE) { if (oplock == SMB2_OPLOCK_LEVEL_EXCLUSIVE) {
cinode->clientCanCacheAll = true; cinode->clientCanCacheAll = true;
cinode->clientCanCacheRead = true; cinode->clientCanCacheRead = true;
cFYI(1, "Exclusive Oplock granted on inode %p", cifs_dbg(FYI, "Exclusive Oplock granted on inode %p\n",
&cinode->vfs_inode); &cinode->vfs_inode);
} else if (oplock == SMB2_OPLOCK_LEVEL_II) { } else if (oplock == SMB2_OPLOCK_LEVEL_II) {
cinode->clientCanCacheAll = false; cinode->clientCanCacheAll = false;
cinode->clientCanCacheRead = true; cinode->clientCanCacheRead = true;
cFYI(1, "Level II Oplock granted on inode %p", cifs_dbg(FYI, "Level II Oplock granted on inode %p\n",
&cinode->vfs_inode); &cinode->vfs_inode);
} else { } else {
cinode->clientCanCacheAll = false; cinode->clientCanCacheAll = false;
cinode->clientCanCacheRead = false; cinode->clientCanCacheRead = false;
......
...@@ -92,7 +92,7 @@ smb2_open_op_close(const unsigned int xid, struct cifs_tcon *tcon, ...@@ -92,7 +92,7 @@ smb2_open_op_close(const unsigned int xid, struct cifs_tcon *tcon,
(FILE_BASIC_INFO *)data); (FILE_BASIC_INFO *)data);
break; break;
default: default:
cERROR(1, "Invalid command"); cifs_dbg(VFS, "Invalid command\n");
break; break;
} }
......
...@@ -2472,7 +2472,7 @@ map_smb2_to_linux_error(char *buf, bool log_err) ...@@ -2472,7 +2472,7 @@ map_smb2_to_linux_error(char *buf, bool log_err)
/* on error mapping not found - return EIO */ /* on error mapping not found - return EIO */
cFYI(1, "Mapping SMB2 status code %d to POSIX err %d", cifs_dbg(FYI, "Mapping SMB2 status code %d to POSIX err %d\n",
smb2err, rc); smb2err, rc);
return rc; return rc;
......
此差异已折叠。
...@@ -38,13 +38,13 @@ change_conf(struct TCP_Server_Info *server) ...@@ -38,13 +38,13 @@ change_conf(struct TCP_Server_Info *server)
case 1: case 1:
server->echoes = false; server->echoes = false;
server->oplocks = false; server->oplocks = false;
cERROR(1, "disabling echoes and oplocks"); cifs_dbg(VFS, "disabling echoes and oplocks\n");
break; break;
case 2: case 2:
server->echoes = true; server->echoes = true;
server->oplocks = false; server->oplocks = false;
server->echo_credits = 1; server->echo_credits = 1;
cFYI(1, "disabling oplocks"); cifs_dbg(FYI, "disabling oplocks\n");
break; break;
default: default:
server->echoes = true; server->echoes = true;
...@@ -147,10 +147,10 @@ smb2_dump_detail(void *buf) ...@@ -147,10 +147,10 @@ smb2_dump_detail(void *buf)
#ifdef CONFIG_CIFS_DEBUG2 #ifdef CONFIG_CIFS_DEBUG2
struct smb2_hdr *smb = (struct smb2_hdr *)buf; struct smb2_hdr *smb = (struct smb2_hdr *)buf;
cERROR(1, "Cmd: %d Err: 0x%x Flags: 0x%x Mid: %llu Pid: %d", cifs_dbg(VFS, "Cmd: %d Err: 0x%x Flags: 0x%x Mid: %llu Pid: %d\n",
smb->Command, smb->Status, smb->Flags, smb->MessageId, smb->Command, smb->Status, smb->Flags, smb->MessageId,
smb->ProcessId); smb->ProcessId);
cERROR(1, "smb buf %p len %u", smb, smb2_calc_size(smb)); cifs_dbg(VFS, "smb buf %p len %u\n", smb, smb2_calc_size(smb));
#endif #endif
} }
...@@ -436,7 +436,7 @@ smb2_query_dir_first(const unsigned int xid, struct cifs_tcon *tcon, ...@@ -436,7 +436,7 @@ smb2_query_dir_first(const unsigned int xid, struct cifs_tcon *tcon,
&oplock, NULL); &oplock, NULL);
kfree(utf16_path); kfree(utf16_path);
if (rc) { if (rc) {
cERROR(1, "open dir failed"); cifs_dbg(VFS, "open dir failed\n");
return rc; return rc;
} }
...@@ -448,7 +448,7 @@ smb2_query_dir_first(const unsigned int xid, struct cifs_tcon *tcon, ...@@ -448,7 +448,7 @@ smb2_query_dir_first(const unsigned int xid, struct cifs_tcon *tcon,
rc = SMB2_query_directory(xid, tcon, persistent_fid, volatile_fid, 0, rc = SMB2_query_directory(xid, tcon, persistent_fid, volatile_fid, 0,
srch_inf); srch_inf);
if (rc) { if (rc) {
cERROR(1, "query directory failed"); cifs_dbg(VFS, "query directory failed\n");
SMB2_close(xid, tcon, persistent_fid, volatile_fid); SMB2_close(xid, tcon, persistent_fid, volatile_fid);
} }
return rc; return rc;
......
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册