diff --git a/fs/fat/dir.c b/fs/fat/dir.c index 69c439f..eadaef1 100644 --- a/fs/fat/dir.c +++ b/fs/fat/dir.c @@ -704,6 +704,8 @@ static int fat_dir_ioctl(struct inode * struct dirent __user *d1; int ret, short_only, both; + printk("==> fat_dir_ioctl(%x,%lx)\n", cmd, arg); + switch (cmd) { case VFAT_IOCTL_READDIR_SHORT: short_only = 1; @@ -714,7 +716,9 @@ static int fat_dir_ioctl(struct inode * both = 1; break; default: - return fat_generic_ioctl(inode, filp, cmd, arg); + printk("call fat_generic_ioctl()\n"); + ret = fat_generic_ioctl(inode, filp, cmd, arg); + goto out; } d1 = (struct dirent __user *)arg; @@ -739,6 +743,8 @@ static int fat_dir_ioctl(struct inode * mutex_unlock(&inode->i_mutex); if (ret >= 0) ret = buf.result; +out: + printk("<== fat_dir_ioctl() = %d\n", ret); return ret; } @@ -769,6 +775,8 @@ static long fat_compat_dir_ioctl(struct mm_segment_t oldfs = get_fs(); struct dirent d[2]; + printk("==> fat_compat_dir_ioctl(%x,%lx)\n", cmd, arg); + switch (cmd) { case VFAT_IOCTL_READDIR_BOTH32: cmd = VFAT_IOCTL_READDIR_BOTH; @@ -790,6 +798,7 @@ static long fat_compat_dir_ioctl(struct ret |= fat_compat_put_dirent32(&d[0], p); ret |= fat_compat_put_dirent32(&d[1], p + 1); } + printk("<== fat_compat_dir_ioctl() = %d\n", ret); return ret; } #endif /* CONFIG_COMPAT */