diff options
Diffstat (limited to 'fs/smbfs/inode.c')
-rw-r--r-- | fs/smbfs/inode.c | 68 |
1 files changed, 29 insertions, 39 deletions
diff --git a/fs/smbfs/inode.c b/fs/smbfs/inode.c index caa8cc533..d7cb992b8 100644 --- a/fs/smbfs/inode.c +++ b/fs/smbfs/inode.c @@ -4,6 +4,7 @@ * Copyright (C) 1995, 1996 by Paal-Kr. Engstad and Volker Lendecke * Copyright (C) 1997 by Volker Lendecke * + * Please add a note about your changes to smbfs in the ChangeLog file. */ #include <linux/module.h> @@ -27,8 +28,7 @@ #include <asm/system.h> #include <asm/uaccess.h> -#define SMBFS_PARANOIA 1 -/* #define SMBFS_DEBUG_VERBOSE 1 */ +#include "smb_debug.h" static void smb_delete_inode(struct inode *); static void smb_put_super(struct super_block *); @@ -66,7 +66,7 @@ smb_iget(struct super_block *sb, struct smb_fattr *fattr) { struct inode *result; - pr_debug("smb_iget: %p\n", fattr); + DEBUG1("smb_iget: %p\n", fattr); result = get_empty_inode(); if (!result) @@ -154,9 +154,7 @@ smb_set_inode_attr(struct inode *inode, struct smb_fattr *fattr) void smb_invalidate_inodes(struct smb_sb_info *server) { -#ifdef SMBFS_DEBUG_VERBOSE -printk("smb_invalidate_inodes\n"); -#endif + VERBOSE("\n"); shrink_dcache_sb(SB_of(server)); invalidate_inodes(SB_of(server)); } @@ -191,11 +189,10 @@ smb_refresh_inode(struct dentry *dentry) * To limit damage, mark the inode as bad so that * subsequent lookup validations will fail. */ -#ifdef SMBFS_PARANOIA -printk("smb_refresh_inode: %s/%s changed mode, %07o to %07o\n", -dentry->d_parent->d_name.name, dentry->d_name.name, -inode->i_mode, fattr.f_mode); -#endif + PARANOIA("%s/%s changed mode, %07o to %07o\n", + DENTRY_PATH(dentry), + inode->i_mode, fattr.f_mode); + fattr.f_mode = inode->i_mode; /* save mode */ make_bad_inode(inode); inode->i_mode = fattr.f_mode; /* restore mode */ @@ -226,7 +223,7 @@ smb_revalidate_inode(struct dentry *dentry) time_t last_time; int error = 0; - pr_debug("smb_revalidate_inode\n"); + DEBUG1("smb_revalidate_inode\n"); /* * If this is a file opened with write permissions, * the inode will be up-to-date. @@ -243,10 +240,8 @@ smb_revalidate_inode(struct dentry *dentry) */ if (time_before(jiffies, inode->u.smbfs_i.oldmtime + HZ/10)) { -#ifdef SMBFS_DEBUG_VERBOSE -printk("smb_revalidate_inode: up-to-date, jiffies=%lu, oldtime=%lu\n", -jiffies, inode->u.smbfs_i.oldmtime); -#endif + VERBOSE("up-to-date, jiffies=%lu, oldtime=%lu\n", + jiffies, inode->u.smbfs_i.oldmtime); goto out; } @@ -258,11 +253,10 @@ jiffies, inode->u.smbfs_i.oldmtime); error = smb_refresh_inode(dentry); if (error || inode->i_mtime != last_time) { -#ifdef SMBFS_DEBUG_VERBOSE -printk("smb_revalidate: %s/%s changed, old=%ld, new=%ld\n", -dentry->d_parent->d_name.name, dentry->d_name.name, -(long) last_time, (long) inode->i_mtime); -#endif + VERBOSE("%s/%s changed, old=%ld, new=%ld\n", + DENTRY_PATH(dentry), + (long) last_time, (long) inode->i_mtime); + if (!S_ISDIR(inode->i_mode)) invalidate_inode_pages(inode); else @@ -280,11 +274,10 @@ out: static void smb_delete_inode(struct inode *ino) { - pr_debug("smb_delete_inode\n"); + DEBUG1("\n"); lock_kernel(); if (smb_close(ino)) - printk("smb_delete_inode: could not close inode %ld\n", - ino->i_ino); + PARANOIA("could not close inode %ld\n", ino->i_ino); unlock_kernel(); clear_inode(ino); } @@ -348,7 +341,8 @@ smb_read_super(struct super_block *sb, void *raw_data, int silent) if (!mnt) goto out_no_mount; *mnt = *((struct smb_mount_data *) raw_data); - /* ** temp ** pass config flags in file mode */ + /* FIXME: passes config flags in high bits of file mode. Should be a + separate flags field. (but smbmount includes kernel headers ...) */ mnt->version = (mnt->file_mode >> 9); mnt->file_mode &= (S_IRWXU | S_IRWXG | S_IRWXO); mnt->file_mode |= S_IFREG; @@ -357,6 +351,7 @@ smb_read_super(struct super_block *sb, void *raw_data, int silent) sb->u.smbfs_sb.mnt = mnt; /* * Display the enabled options + * Note: smb_proc_getattr uses these in 2.4 (but was changed in 2.2) */ if (mnt->version & SMB_FIX_OLDATTR) printk("SMBFS: Using core getattr (Win 95 speedup)\n"); @@ -391,7 +386,7 @@ out_wrong_data: printk(KERN_ERR "SMBFS: need mount version %d\n", SMB_MOUNT_VERSION); goto out_fail; out_no_data: - printk("smb_read_super: missing data argument\n"); + printk(KERN_ERR "smb_read_super: missing data argument\n"); out_fail: return NULL; } @@ -434,11 +429,9 @@ smb_notify_change(struct dentry *dentry, struct iattr *attr) if ((attr->ia_valid & ATTR_SIZE) != 0) { -#ifdef SMBFS_DEBUG_VERBOSE -printk("smb_notify_change: changing %s/%s, old size=%ld, new size=%ld\n", -dentry->d_parent->d_name.name, dentry->d_name.name, -(long) inode->i_size, (long) attr->ia_size); -#endif + VERBOSE("changing %s/%s, old size=%ld, new size=%ld\n", + DENTRY_PATH(dentry), + (long) inode->i_size, (long) attr->ia_size); error = smb_open(dentry, O_WRONLY); if (error) goto out; @@ -484,10 +477,8 @@ dentry->d_parent->d_name.name, dentry->d_name.name, */ if ((attr->ia_valid & ATTR_MODE) != 0) { -#ifdef SMBFS_DEBUG_VERBOSE -printk("smb_notify_change: %s/%s mode change, old=%x, new=%lx\n", -dentry->d_parent->d_name.name, dentry->d_name.name, fattr.f_mode,attr->ia_mode); -#endif + VERBOSE("%s/%s mode change, old=%x, new=%x\n", + DENTRY_PATH(dentry), fattr.f_mode, attr->ia_mode); changed = 0; if (attr->ia_mode & S_IWUSR) { @@ -496,8 +487,7 @@ dentry->d_parent->d_name.name, dentry->d_name.name, fattr.f_mode,attr->ia_mode); fattr.attr &= ~aRONLY; changed = 1; } - } else - { + } else { if (!(fattr.attr & aRONLY)) { fattr.attr |= aRONLY; @@ -530,7 +520,7 @@ static DECLARE_FSTYPE( smb_fs_type, "smbfs", smb_read_super, 0); static int __init init_smb_fs(void) { - pr_debug("smbfs: init_module called\n"); + DEBUG1("registering ...\n"); #ifdef DEBUG_SMB_MALLOC smb_malloced = 0; @@ -543,7 +533,7 @@ static int __init init_smb_fs(void) static void __exit exit_smb_fs(void) { - pr_debug("smbfs: cleanup_module called\n"); + DEBUG1("unregistering ...\n"); unregister_filesystem(&smb_fs_type); #ifdef DEBUG_SMB_MALLOC printk(KERN_DEBUG "smb_malloced: %d\n", smb_malloced); |