diff options
author | Dave Jones <davej@redhat.com> | 2006-12-12 17:41:41 -0500 |
---|---|---|
committer | Dave Jones <davej@redhat.com> | 2006-12-12 17:41:41 -0500 |
commit | c4366889dda8110247be59ca41fddb82951a8c26 (patch) | |
tree | 705c1a996bed8fd48ce94ff33ec9fd00f9b94875 /fs/fat | |
parent | db2fb9db5735cc532fd4fc55e94b9a3c3750378e (diff) | |
parent | e1036502e5263851259d147771226161e5ccc85a (diff) |
Merge ../linus
Conflicts:
drivers/cpufreq/cpufreq.c
Diffstat (limited to 'fs/fat')
-rw-r--r-- | fs/fat/cache.c | 6 | ||||
-rw-r--r-- | fs/fat/dir.c | 6 | ||||
-rw-r--r-- | fs/fat/file.c | 15 | ||||
-rw-r--r-- | fs/fat/inode.c | 6 |
4 files changed, 22 insertions, 11 deletions
diff --git a/fs/fat/cache.c b/fs/fat/cache.c index 82cc4f59e3..05c2941c74 100644 --- a/fs/fat/cache.c +++ b/fs/fat/cache.c | |||
@@ -34,9 +34,9 @@ static inline int fat_max_cache(struct inode *inode) | |||
34 | return FAT_MAX_CACHE; | 34 | return FAT_MAX_CACHE; |
35 | } | 35 | } |
36 | 36 | ||
37 | static kmem_cache_t *fat_cache_cachep; | 37 | static struct kmem_cache *fat_cache_cachep; |
38 | 38 | ||
39 | static void init_once(void *foo, kmem_cache_t *cachep, unsigned long flags) | 39 | static void init_once(void *foo, struct kmem_cache *cachep, unsigned long flags) |
40 | { | 40 | { |
41 | struct fat_cache *cache = (struct fat_cache *)foo; | 41 | struct fat_cache *cache = (struct fat_cache *)foo; |
42 | 42 | ||
@@ -63,7 +63,7 @@ void fat_cache_destroy(void) | |||
63 | 63 | ||
64 | static inline struct fat_cache *fat_cache_alloc(struct inode *inode) | 64 | static inline struct fat_cache *fat_cache_alloc(struct inode *inode) |
65 | { | 65 | { |
66 | return kmem_cache_alloc(fat_cache_cachep, SLAB_KERNEL); | 66 | return kmem_cache_alloc(fat_cache_cachep, GFP_KERNEL); |
67 | } | 67 | } |
68 | 68 | ||
69 | static inline void fat_cache_free(struct fat_cache *cache) | 69 | static inline void fat_cache_free(struct fat_cache *cache) |
diff --git a/fs/fat/dir.c b/fs/fat/dir.c index 69c439f443..c16af246d2 100644 --- a/fs/fat/dir.c +++ b/fs/fat/dir.c | |||
@@ -579,7 +579,7 @@ parse_record: | |||
579 | if (!memcmp(de->name, MSDOS_DOT, MSDOS_NAME)) | 579 | if (!memcmp(de->name, MSDOS_DOT, MSDOS_NAME)) |
580 | inum = inode->i_ino; | 580 | inum = inode->i_ino; |
581 | else if (!memcmp(de->name, MSDOS_DOTDOT, MSDOS_NAME)) { | 581 | else if (!memcmp(de->name, MSDOS_DOTDOT, MSDOS_NAME)) { |
582 | inum = parent_ino(filp->f_dentry); | 582 | inum = parent_ino(filp->f_path.dentry); |
583 | } else { | 583 | } else { |
584 | loff_t i_pos = fat_make_i_pos(sb, bh, de); | 584 | loff_t i_pos = fat_make_i_pos(sb, bh, de); |
585 | struct inode *tmp = fat_iget(sb, i_pos); | 585 | struct inode *tmp = fat_iget(sb, i_pos); |
@@ -643,7 +643,7 @@ out: | |||
643 | 643 | ||
644 | static int fat_readdir(struct file *filp, void *dirent, filldir_t filldir) | 644 | static int fat_readdir(struct file *filp, void *dirent, filldir_t filldir) |
645 | { | 645 | { |
646 | struct inode *inode = filp->f_dentry->d_inode; | 646 | struct inode *inode = filp->f_path.dentry->d_inode; |
647 | return __fat_readdir(inode, filp, dirent, filldir, 0, 0); | 647 | return __fat_readdir(inode, filp, dirent, filldir, 0, 0); |
648 | } | 648 | } |
649 | 649 | ||
@@ -782,7 +782,7 @@ static long fat_compat_dir_ioctl(struct file *file, unsigned cmd, | |||
782 | 782 | ||
783 | set_fs(KERNEL_DS); | 783 | set_fs(KERNEL_DS); |
784 | lock_kernel(); | 784 | lock_kernel(); |
785 | ret = fat_dir_ioctl(file->f_dentry->d_inode, file, | 785 | ret = fat_dir_ioctl(file->f_path.dentry->d_inode, file, |
786 | cmd, (unsigned long) &d); | 786 | cmd, (unsigned long) &d); |
787 | unlock_kernel(); | 787 | unlock_kernel(); |
788 | set_fs(oldfs); | 788 | set_fs(oldfs); |
diff --git a/fs/fat/file.c b/fs/fat/file.c index f4b8f8b3fb..c1237b70c1 100644 --- a/fs/fat/file.c +++ b/fs/fat/file.c | |||
@@ -13,6 +13,7 @@ | |||
13 | #include <linux/smp_lock.h> | 13 | #include <linux/smp_lock.h> |
14 | #include <linux/buffer_head.h> | 14 | #include <linux/buffer_head.h> |
15 | #include <linux/writeback.h> | 15 | #include <linux/writeback.h> |
16 | #include <linux/backing-dev.h> | ||
16 | #include <linux/blkdev.h> | 17 | #include <linux/blkdev.h> |
17 | 18 | ||
18 | int fat_generic_ioctl(struct inode *inode, struct file *filp, | 19 | int fat_generic_ioctl(struct inode *inode, struct file *filp, |
@@ -91,7 +92,7 @@ int fat_generic_ioctl(struct inode *inode, struct file *filp, | |||
91 | } | 92 | } |
92 | 93 | ||
93 | /* This MUST be done before doing anything irreversible... */ | 94 | /* This MUST be done before doing anything irreversible... */ |
94 | err = notify_change(filp->f_dentry, &ia); | 95 | err = notify_change(filp->f_path.dentry, &ia); |
95 | if (err) | 96 | if (err) |
96 | goto up; | 97 | goto up; |
97 | 98 | ||
@@ -118,7 +119,7 @@ static int fat_file_release(struct inode *inode, struct file *filp) | |||
118 | if ((filp->f_mode & FMODE_WRITE) && | 119 | if ((filp->f_mode & FMODE_WRITE) && |
119 | MSDOS_SB(inode->i_sb)->options.flush) { | 120 | MSDOS_SB(inode->i_sb)->options.flush) { |
120 | fat_flush_inodes(inode->i_sb, inode, NULL); | 121 | fat_flush_inodes(inode->i_sb, inode, NULL); |
121 | blk_congestion_wait(WRITE, HZ/10); | 122 | congestion_wait(WRITE, HZ/10); |
122 | } | 123 | } |
123 | return 0; | 124 | return 0; |
124 | } | 125 | } |
@@ -302,7 +303,17 @@ void fat_truncate(struct inode *inode) | |||
302 | fat_flush_inodes(inode->i_sb, inode, NULL); | 303 | fat_flush_inodes(inode->i_sb, inode, NULL); |
303 | } | 304 | } |
304 | 305 | ||
306 | int fat_getattr(struct vfsmount *mnt, struct dentry *dentry, struct kstat *stat) | ||
307 | { | ||
308 | struct inode *inode = dentry->d_inode; | ||
309 | generic_fillattr(inode, stat); | ||
310 | stat->blksize = MSDOS_SB(inode->i_sb)->cluster_size; | ||
311 | return 0; | ||
312 | } | ||
313 | EXPORT_SYMBOL_GPL(fat_getattr); | ||
314 | |||
305 | struct inode_operations fat_file_inode_operations = { | 315 | struct inode_operations fat_file_inode_operations = { |
306 | .truncate = fat_truncate, | 316 | .truncate = fat_truncate, |
307 | .setattr = fat_notify_change, | 317 | .setattr = fat_notify_change, |
318 | .getattr = fat_getattr, | ||
308 | }; | 319 | }; |
diff --git a/fs/fat/inode.c b/fs/fat/inode.c index 78945b53b0..a9e4688582 100644 --- a/fs/fat/inode.c +++ b/fs/fat/inode.c | |||
@@ -477,12 +477,12 @@ static void fat_put_super(struct super_block *sb) | |||
477 | kfree(sbi); | 477 | kfree(sbi); |
478 | } | 478 | } |
479 | 479 | ||
480 | static kmem_cache_t *fat_inode_cachep; | 480 | static struct kmem_cache *fat_inode_cachep; |
481 | 481 | ||
482 | static struct inode *fat_alloc_inode(struct super_block *sb) | 482 | static struct inode *fat_alloc_inode(struct super_block *sb) |
483 | { | 483 | { |
484 | struct msdos_inode_info *ei; | 484 | struct msdos_inode_info *ei; |
485 | ei = kmem_cache_alloc(fat_inode_cachep, SLAB_KERNEL); | 485 | ei = kmem_cache_alloc(fat_inode_cachep, GFP_KERNEL); |
486 | if (!ei) | 486 | if (!ei) |
487 | return NULL; | 487 | return NULL; |
488 | return &ei->vfs_inode; | 488 | return &ei->vfs_inode; |
@@ -493,7 +493,7 @@ static void fat_destroy_inode(struct inode *inode) | |||
493 | kmem_cache_free(fat_inode_cachep, MSDOS_I(inode)); | 493 | kmem_cache_free(fat_inode_cachep, MSDOS_I(inode)); |
494 | } | 494 | } |
495 | 495 | ||
496 | static void init_once(void * foo, kmem_cache_t * cachep, unsigned long flags) | 496 | static void init_once(void * foo, struct kmem_cache * cachep, unsigned long flags) |
497 | { | 497 | { |
498 | struct msdos_inode_info *ei = (struct msdos_inode_info *)foo; | 498 | struct msdos_inode_info *ei = (struct msdos_inode_info *)foo; |
499 | 499 | ||