diff options
Diffstat (limited to 'fs/afs')
| -rw-r--r-- | fs/afs/cell.c | 3 | ||||
| -rw-r--r-- | fs/afs/file.c | 2 | ||||
| -rw-r--r-- | fs/afs/inode.c | 1 | ||||
| -rw-r--r-- | fs/afs/internal.h | 2 | ||||
| -rw-r--r-- | fs/afs/kafsasyncd.c | 9 | ||||
| -rw-r--r-- | fs/afs/mntpt.c | 2 | ||||
| -rw-r--r-- | fs/afs/proc.c | 2 | ||||
| -rw-r--r-- | fs/afs/server.c | 6 | ||||
| -rw-r--r-- | fs/afs/super.c | 2 | ||||
| -rw-r--r-- | fs/afs/super.h | 2 | ||||
| -rw-r--r-- | fs/afs/vlocation.c | 9 | ||||
| -rw-r--r-- | fs/afs/vnode.c | 3 | ||||
| -rw-r--r-- | fs/afs/volume.c | 3 | 
13 files changed, 19 insertions, 27 deletions
| diff --git a/fs/afs/cell.c b/fs/afs/cell.c index 009a9ae88d61..bfc1fd22d5b1 100644 --- a/fs/afs/cell.c +++ b/fs/afs/cell.c | |||
| @@ -413,8 +413,7 @@ int afs_server_find_by_peer(const struct rxrpc_peer *peer, | |||
| 413 | 413 | ||
| 414 | /* we found it in the graveyard - resurrect it */ | 414 | /* we found it in the graveyard - resurrect it */ | 
| 415 | found_dead_server: | 415 | found_dead_server: | 
| 416 | list_del(&server->link); | 416 | list_move_tail(&server->link, &cell->sv_list); | 
| 417 | list_add_tail(&server->link, &cell->sv_list); | ||
| 418 | afs_get_server(server); | 417 | afs_get_server(server); | 
| 419 | afs_kafstimod_del_timer(&server->timeout); | 418 | afs_kafstimod_del_timer(&server->timeout); | 
| 420 | spin_unlock(&cell->sv_gylock); | 419 | spin_unlock(&cell->sv_gylock); | 
| diff --git a/fs/afs/file.c b/fs/afs/file.c index 7bb716887e29..67d6634101fd 100644 --- a/fs/afs/file.c +++ b/fs/afs/file.c | |||
| @@ -35,7 +35,7 @@ struct inode_operations afs_file_inode_operations = { | |||
| 35 | .getattr = afs_inode_getattr, | 35 | .getattr = afs_inode_getattr, | 
| 36 | }; | 36 | }; | 
| 37 | 37 | ||
| 38 | struct address_space_operations afs_fs_aops = { | 38 | const struct address_space_operations afs_fs_aops = { | 
| 39 | .readpage = afs_file_readpage, | 39 | .readpage = afs_file_readpage, | 
| 40 | .sync_page = block_sync_page, | 40 | .sync_page = block_sync_page, | 
| 41 | .set_page_dirty = __set_page_dirty_nobuffers, | 41 | .set_page_dirty = __set_page_dirty_nobuffers, | 
| diff --git a/fs/afs/inode.c b/fs/afs/inode.c index 4ebb30a50ed5..6f37754906c2 100644 --- a/fs/afs/inode.c +++ b/fs/afs/inode.c | |||
| @@ -72,7 +72,6 @@ static int afs_inode_map_status(struct afs_vnode *vnode) | |||
| 72 | inode->i_ctime.tv_sec = vnode->status.mtime_server; | 72 | inode->i_ctime.tv_sec = vnode->status.mtime_server; | 
| 73 | inode->i_ctime.tv_nsec = 0; | 73 | inode->i_ctime.tv_nsec = 0; | 
| 74 | inode->i_atime = inode->i_mtime = inode->i_ctime; | 74 | inode->i_atime = inode->i_mtime = inode->i_ctime; | 
| 75 | inode->i_blksize = PAGE_CACHE_SIZE; | ||
| 76 | inode->i_blocks = 0; | 75 | inode->i_blocks = 0; | 
| 77 | inode->i_version = vnode->fid.unique; | 76 | inode->i_version = vnode->fid.unique; | 
| 78 | inode->i_mapping->a_ops = &afs_fs_aops; | 77 | inode->i_mapping->a_ops = &afs_fs_aops; | 
| diff --git a/fs/afs/internal.h b/fs/afs/internal.h index 72febdf9a35a..e88b3b65ae49 100644 --- a/fs/afs/internal.h +++ b/fs/afs/internal.h | |||
| @@ -69,7 +69,7 @@ extern const struct file_operations afs_dir_file_operations; | |||
| 69 | /* | 69 | /* | 
| 70 | * file.c | 70 | * file.c | 
| 71 | */ | 71 | */ | 
| 72 | extern struct address_space_operations afs_fs_aops; | 72 | extern const struct address_space_operations afs_fs_aops; | 
| 73 | extern struct inode_operations afs_file_inode_operations; | 73 | extern struct inode_operations afs_file_inode_operations; | 
| 74 | 74 | ||
| 75 | #ifdef AFS_CACHING_SUPPORT | 75 | #ifdef AFS_CACHING_SUPPORT | 
| diff --git a/fs/afs/kafsasyncd.c b/fs/afs/kafsasyncd.c index 7ac07d0d47b9..f09a794f248e 100644 --- a/fs/afs/kafsasyncd.c +++ b/fs/afs/kafsasyncd.c | |||
| @@ -136,8 +136,7 @@ static int kafsasyncd(void *arg) | |||
| 136 | if (!list_empty(&kafsasyncd_async_attnq)) { | 136 | if (!list_empty(&kafsasyncd_async_attnq)) { | 
| 137 | op = list_entry(kafsasyncd_async_attnq.next, | 137 | op = list_entry(kafsasyncd_async_attnq.next, | 
| 138 | struct afs_async_op, link); | 138 | struct afs_async_op, link); | 
| 139 | list_del(&op->link); | 139 | list_move_tail(&op->link, | 
| 140 | list_add_tail(&op->link, | ||
| 141 | &kafsasyncd_async_busyq); | 140 | &kafsasyncd_async_busyq); | 
| 142 | } | 141 | } | 
| 143 | 142 | ||
| @@ -204,8 +203,7 @@ void afs_kafsasyncd_begin_op(struct afs_async_op *op) | |||
| 204 | init_waitqueue_entry(&op->waiter, kafsasyncd_task); | 203 | init_waitqueue_entry(&op->waiter, kafsasyncd_task); | 
| 205 | add_wait_queue(&op->call->waitq, &op->waiter); | 204 | add_wait_queue(&op->call->waitq, &op->waiter); | 
| 206 | 205 | ||
| 207 | list_del(&op->link); | 206 | list_move_tail(&op->link, &kafsasyncd_async_busyq); | 
| 208 | list_add_tail(&op->link, &kafsasyncd_async_busyq); | ||
| 209 | 207 | ||
| 210 | spin_unlock(&kafsasyncd_async_lock); | 208 | spin_unlock(&kafsasyncd_async_lock); | 
| 211 | 209 | ||
| @@ -223,8 +221,7 @@ void afs_kafsasyncd_attend_op(struct afs_async_op *op) | |||
| 223 | 221 | ||
| 224 | spin_lock(&kafsasyncd_async_lock); | 222 | spin_lock(&kafsasyncd_async_lock); | 
| 225 | 223 | ||
| 226 | list_del(&op->link); | 224 | list_move_tail(&op->link, &kafsasyncd_async_attnq); | 
| 227 | list_add_tail(&op->link, &kafsasyncd_async_attnq); | ||
| 228 | 225 | ||
| 229 | spin_unlock(&kafsasyncd_async_lock); | 226 | spin_unlock(&kafsasyncd_async_lock); | 
| 230 | 227 | ||
| diff --git a/fs/afs/mntpt.c b/fs/afs/mntpt.c index b5cf9e1205ad..99785a79d043 100644 --- a/fs/afs/mntpt.c +++ b/fs/afs/mntpt.c | |||
| @@ -203,7 +203,7 @@ static struct vfsmount *afs_mntpt_do_automount(struct dentry *mntpt) | |||
| 203 | 203 | ||
| 204 | /* try and do the mount */ | 204 | /* try and do the mount */ | 
| 205 | kdebug("--- attempting mount %s -o %s ---", devname, options); | 205 | kdebug("--- attempting mount %s -o %s ---", devname, options); | 
| 206 | mnt = do_kern_mount("afs", 0, devname, options); | 206 | mnt = vfs_kern_mount(&afs_fs_type, 0, devname, options); | 
| 207 | kdebug("--- mount result %p ---", mnt); | 207 | kdebug("--- mount result %p ---", mnt); | 
| 208 | 208 | ||
| 209 | free_page((unsigned long) devname); | 209 | free_page((unsigned long) devname); | 
| diff --git a/fs/afs/proc.c b/fs/afs/proc.c index 101d21b6c037..86463ec9ccb4 100644 --- a/fs/afs/proc.c +++ b/fs/afs/proc.c | |||
| @@ -775,6 +775,7 @@ static int afs_proc_cell_servers_release(struct inode *inode, | |||
| 775 | * first item | 775 | * first item | 
| 776 | */ | 776 | */ | 
| 777 | static void *afs_proc_cell_servers_start(struct seq_file *m, loff_t *_pos) | 777 | static void *afs_proc_cell_servers_start(struct seq_file *m, loff_t *_pos) | 
| 778 | __acquires(m->private->sv_lock) | ||
| 778 | { | 779 | { | 
| 779 | struct list_head *_p; | 780 | struct list_head *_p; | 
| 780 | struct afs_cell *cell = m->private; | 781 | struct afs_cell *cell = m->private; | 
| @@ -823,6 +824,7 @@ static void *afs_proc_cell_servers_next(struct seq_file *p, void *v, | |||
| 823 | * clean up after reading from the cells list | 824 | * clean up after reading from the cells list | 
| 824 | */ | 825 | */ | 
| 825 | static void afs_proc_cell_servers_stop(struct seq_file *p, void *v) | 826 | static void afs_proc_cell_servers_stop(struct seq_file *p, void *v) | 
| 827 | __releases(p->private->sv_lock) | ||
| 826 | { | 828 | { | 
| 827 | struct afs_cell *cell = p->private; | 829 | struct afs_cell *cell = p->private; | 
| 828 | 830 | ||
| diff --git a/fs/afs/server.c b/fs/afs/server.c index 62b093aa41c6..22afaae1a4ce 100644 --- a/fs/afs/server.c +++ b/fs/afs/server.c | |||
| @@ -123,8 +123,7 @@ int afs_server_lookup(struct afs_cell *cell, const struct in_addr *addr, | |||
| 123 | resurrect_server: | 123 | resurrect_server: | 
| 124 | _debug("resurrecting server"); | 124 | _debug("resurrecting server"); | 
| 125 | 125 | ||
| 126 | list_del(&zombie->link); | 126 | list_move_tail(&zombie->link, &cell->sv_list); | 
| 127 | list_add_tail(&zombie->link, &cell->sv_list); | ||
| 128 | afs_get_server(zombie); | 127 | afs_get_server(zombie); | 
| 129 | afs_kafstimod_del_timer(&zombie->timeout); | 128 | afs_kafstimod_del_timer(&zombie->timeout); | 
| 130 | spin_unlock(&cell->sv_gylock); | 129 | spin_unlock(&cell->sv_gylock); | 
| @@ -168,8 +167,7 @@ void afs_put_server(struct afs_server *server) | |||
| 168 | } | 167 | } | 
| 169 | 168 | ||
| 170 | spin_lock(&cell->sv_gylock); | 169 | spin_lock(&cell->sv_gylock); | 
| 171 | list_del(&server->link); | 170 | list_move_tail(&server->link, &cell->sv_graveyard); | 
| 172 | list_add_tail(&server->link, &cell->sv_graveyard); | ||
| 173 | 171 | ||
| 174 | /* time out in 10 secs */ | 172 | /* time out in 10 secs */ | 
| 175 | afs_kafstimod_add_timer(&server->timeout, 10 * HZ); | 173 | afs_kafstimod_add_timer(&server->timeout, 10 * HZ); | 
| diff --git a/fs/afs/super.c b/fs/afs/super.c index 82468df0ba54..67d1f5c819ec 100644 --- a/fs/afs/super.c +++ b/fs/afs/super.c | |||
| @@ -48,7 +48,7 @@ static void afs_put_super(struct super_block *sb); | |||
| 48 | 48 | ||
| 49 | static void afs_destroy_inode(struct inode *inode); | 49 | static void afs_destroy_inode(struct inode *inode); | 
| 50 | 50 | ||
| 51 | static struct file_system_type afs_fs_type = { | 51 | struct file_system_type afs_fs_type = { | 
| 52 | .owner = THIS_MODULE, | 52 | .owner = THIS_MODULE, | 
| 53 | .name = "afs", | 53 | .name = "afs", | 
| 54 | .get_sb = afs_get_sb, | 54 | .get_sb = afs_get_sb, | 
| diff --git a/fs/afs/super.h b/fs/afs/super.h index ac11362f4e95..32de8cc6fae8 100644 --- a/fs/afs/super.h +++ b/fs/afs/super.h | |||
| @@ -38,6 +38,8 @@ static inline struct afs_super_info *AFS_FS_S(struct super_block *sb) | |||
| 38 | return sb->s_fs_info; | 38 | return sb->s_fs_info; | 
| 39 | } | 39 | } | 
| 40 | 40 | ||
| 41 | extern struct file_system_type afs_fs_type; | ||
| 42 | |||
| 41 | #endif /* __KERNEL__ */ | 43 | #endif /* __KERNEL__ */ | 
| 42 | 44 | ||
| 43 | #endif /* _LINUX_AFS_SUPER_H */ | 45 | #endif /* _LINUX_AFS_SUPER_H */ | 
| diff --git a/fs/afs/vlocation.c b/fs/afs/vlocation.c index eced20618ecc..782ee7c600ca 100644 --- a/fs/afs/vlocation.c +++ b/fs/afs/vlocation.c | |||
| @@ -281,11 +281,10 @@ int afs_vlocation_lookup(struct afs_cell *cell, | |||
| 281 | spin_unlock(&cell->vl_gylock); | 281 | spin_unlock(&cell->vl_gylock); | 
| 282 | 282 | ||
| 283 | /* not in the cell's in-memory lists - create a new record */ | 283 | /* not in the cell's in-memory lists - create a new record */ | 
| 284 | vlocation = kmalloc(sizeof(struct afs_vlocation), GFP_KERNEL); | 284 | vlocation = kzalloc(sizeof(struct afs_vlocation), GFP_KERNEL); | 
| 285 | if (!vlocation) | 285 | if (!vlocation) | 
| 286 | return -ENOMEM; | 286 | return -ENOMEM; | 
| 287 | 287 | ||
| 288 | memset(vlocation, 0, sizeof(struct afs_vlocation)); | ||
| 289 | atomic_set(&vlocation->usage, 1); | 288 | atomic_set(&vlocation->usage, 1); | 
| 290 | INIT_LIST_HEAD(&vlocation->link); | 289 | INIT_LIST_HEAD(&vlocation->link); | 
| 291 | rwlock_init(&vlocation->lock); | 290 | rwlock_init(&vlocation->lock); | 
| @@ -326,8 +325,7 @@ int afs_vlocation_lookup(struct afs_cell *cell, | |||
| 326 | /* found in the graveyard - resurrect */ | 325 | /* found in the graveyard - resurrect */ | 
| 327 | _debug("found in graveyard"); | 326 | _debug("found in graveyard"); | 
| 328 | atomic_inc(&vlocation->usage); | 327 | atomic_inc(&vlocation->usage); | 
| 329 | list_del(&vlocation->link); | 328 | list_move_tail(&vlocation->link, &cell->vl_list); | 
| 330 | list_add_tail(&vlocation->link, &cell->vl_list); | ||
| 331 | spin_unlock(&cell->vl_gylock); | 329 | spin_unlock(&cell->vl_gylock); | 
| 332 | 330 | ||
| 333 | afs_kafstimod_del_timer(&vlocation->timeout); | 331 | afs_kafstimod_del_timer(&vlocation->timeout); | 
| @@ -478,8 +476,7 @@ static void __afs_put_vlocation(struct afs_vlocation *vlocation) | |||
| 478 | } | 476 | } | 
| 479 | 477 | ||
| 480 | /* move to graveyard queue */ | 478 | /* move to graveyard queue */ | 
| 481 | list_del(&vlocation->link); | 479 | list_move_tail(&vlocation->link,&cell->vl_graveyard); | 
| 482 | list_add_tail(&vlocation->link,&cell->vl_graveyard); | ||
| 483 | 480 | ||
| 484 | /* remove from pending timeout queue (refcounted if actually being | 481 | /* remove from pending timeout queue (refcounted if actually being | 
| 485 | * updated) */ | 482 | * updated) */ | 
| diff --git a/fs/afs/vnode.c b/fs/afs/vnode.c index 9867fef3261d..cf62da5d7825 100644 --- a/fs/afs/vnode.c +++ b/fs/afs/vnode.c | |||
| @@ -104,8 +104,7 @@ static void afs_vnode_finalise_status_update(struct afs_vnode *vnode, | |||
| 104 | vnode->cb_expiry * HZ); | 104 | vnode->cb_expiry * HZ); | 
| 105 | 105 | ||
| 106 | spin_lock(&afs_cb_hash_lock); | 106 | spin_lock(&afs_cb_hash_lock); | 
| 107 | list_del(&vnode->cb_hash_link); | 107 | list_move_tail(&vnode->cb_hash_link, | 
| 108 | list_add_tail(&vnode->cb_hash_link, | ||
| 109 | &afs_cb_hash(server, &vnode->fid)); | 108 | &afs_cb_hash(server, &vnode->fid)); | 
| 110 | spin_unlock(&afs_cb_hash_lock); | 109 | spin_unlock(&afs_cb_hash_lock); | 
| 111 | 110 | ||
| diff --git a/fs/afs/volume.c b/fs/afs/volume.c index 0ff4b86476e3..768c6dbd323a 100644 --- a/fs/afs/volume.c +++ b/fs/afs/volume.c | |||
| @@ -186,11 +186,10 @@ int afs_volume_lookup(const char *name, struct afs_cell *cell, int rwpath, | |||
| 186 | _debug("creating new volume record"); | 186 | _debug("creating new volume record"); | 
| 187 | 187 | ||
| 188 | ret = -ENOMEM; | 188 | ret = -ENOMEM; | 
| 189 | volume = kmalloc(sizeof(struct afs_volume), GFP_KERNEL); | 189 | volume = kzalloc(sizeof(struct afs_volume), GFP_KERNEL); | 
| 190 | if (!volume) | 190 | if (!volume) | 
| 191 | goto error_up; | 191 | goto error_up; | 
| 192 | 192 | ||
| 193 | memset(volume, 0, sizeof(struct afs_volume)); | ||
| 194 | atomic_set(&volume->usage, 1); | 193 | atomic_set(&volume->usage, 1); | 
| 195 | volume->type = type; | 194 | volume->type = type; | 
| 196 | volume->type_force = force; | 195 | volume->type_force = force; | 
