diff options
author | Ingo Molnar <mingo@elte.hu> | 2009-04-05 19:41:22 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-04-05 19:41:22 -0400 |
commit | 9efe21cb82b5dbe3b0b2ae4de4eccc64ecb94e95 (patch) | |
tree | 7ff8833745d2f268f897f6fa4a27263b4a572245 /fs/affs | |
parent | de18836e447c2dc30120c0919b8db8ddc0401cc4 (diff) | |
parent | 0221c81b1b8eb0cbb6b30a0ced52ead32d2b4e4c (diff) |
Merge branch 'linus' into irq/threaded
Conflicts:
include/linux/irq.h
kernel/irq/handle.c
Diffstat (limited to 'fs/affs')
-rw-r--r-- | fs/affs/affs.h | 3 | ||||
-rw-r--r-- | fs/affs/amigaffs.c | 8 | ||||
-rw-r--r-- | fs/affs/namei.c | 4 | ||||
-rw-r--r-- | fs/affs/super.c | 4 |
4 files changed, 13 insertions, 6 deletions
diff --git a/fs/affs/affs.h b/fs/affs/affs.h index e9ec915f7553..1a2d5e3c7f4e 100644 --- a/fs/affs/affs.h +++ b/fs/affs/affs.h | |||
@@ -199,8 +199,7 @@ extern const struct address_space_operations affs_symlink_aops; | |||
199 | extern const struct address_space_operations affs_aops; | 199 | extern const struct address_space_operations affs_aops; |
200 | extern const struct address_space_operations affs_aops_ofs; | 200 | extern const struct address_space_operations affs_aops_ofs; |
201 | 201 | ||
202 | extern struct dentry_operations affs_dentry_operations; | 202 | extern const struct dentry_operations affs_dentry_operations; |
203 | extern struct dentry_operations affs_dentry_operations_intl; | ||
204 | 203 | ||
205 | static inline void | 204 | static inline void |
206 | affs_set_blocksize(struct super_block *sb, int size) | 205 | affs_set_blocksize(struct super_block *sb, int size) |
diff --git a/fs/affs/amigaffs.c b/fs/affs/amigaffs.c index 805573005de6..7d0f0a30f7a3 100644 --- a/fs/affs/amigaffs.c +++ b/fs/affs/amigaffs.c | |||
@@ -179,14 +179,18 @@ affs_remove_link(struct dentry *dentry) | |||
179 | affs_lock_dir(dir); | 179 | affs_lock_dir(dir); |
180 | affs_fix_dcache(dentry, link_ino); | 180 | affs_fix_dcache(dentry, link_ino); |
181 | retval = affs_remove_hash(dir, link_bh); | 181 | retval = affs_remove_hash(dir, link_bh); |
182 | if (retval) | 182 | if (retval) { |
183 | affs_unlock_dir(dir); | ||
183 | goto done; | 184 | goto done; |
185 | } | ||
184 | mark_buffer_dirty_inode(link_bh, inode); | 186 | mark_buffer_dirty_inode(link_bh, inode); |
185 | 187 | ||
186 | memcpy(AFFS_TAIL(sb, bh)->name, AFFS_TAIL(sb, link_bh)->name, 32); | 188 | memcpy(AFFS_TAIL(sb, bh)->name, AFFS_TAIL(sb, link_bh)->name, 32); |
187 | retval = affs_insert_hash(dir, bh); | 189 | retval = affs_insert_hash(dir, bh); |
188 | if (retval) | 190 | if (retval) { |
191 | affs_unlock_dir(dir); | ||
189 | goto done; | 192 | goto done; |
193 | } | ||
190 | mark_buffer_dirty_inode(bh, inode); | 194 | mark_buffer_dirty_inode(bh, inode); |
191 | 195 | ||
192 | affs_unlock_dir(dir); | 196 | affs_unlock_dir(dir); |
diff --git a/fs/affs/namei.c b/fs/affs/namei.c index cfcf1b6cf82b..960d336ec694 100644 --- a/fs/affs/namei.c +++ b/fs/affs/namei.c | |||
@@ -19,12 +19,12 @@ static int affs_intl_toupper(int ch); | |||
19 | static int affs_intl_hash_dentry(struct dentry *, struct qstr *); | 19 | static int affs_intl_hash_dentry(struct dentry *, struct qstr *); |
20 | static int affs_intl_compare_dentry(struct dentry *, struct qstr *, struct qstr *); | 20 | static int affs_intl_compare_dentry(struct dentry *, struct qstr *, struct qstr *); |
21 | 21 | ||
22 | struct dentry_operations affs_dentry_operations = { | 22 | const struct dentry_operations affs_dentry_operations = { |
23 | .d_hash = affs_hash_dentry, | 23 | .d_hash = affs_hash_dentry, |
24 | .d_compare = affs_compare_dentry, | 24 | .d_compare = affs_compare_dentry, |
25 | }; | 25 | }; |
26 | 26 | ||
27 | static struct dentry_operations affs_intl_dentry_operations = { | 27 | static const struct dentry_operations affs_intl_dentry_operations = { |
28 | .d_hash = affs_intl_hash_dentry, | 28 | .d_hash = affs_intl_hash_dentry, |
29 | .d_compare = affs_intl_compare_dentry, | 29 | .d_compare = affs_intl_compare_dentry, |
30 | }; | 30 | }; |
diff --git a/fs/affs/super.c b/fs/affs/super.c index a19d64b582aa..5ce695e707fe 100644 --- a/fs/affs/super.c +++ b/fs/affs/super.c | |||
@@ -533,6 +533,7 @@ affs_statfs(struct dentry *dentry, struct kstatfs *buf) | |||
533 | { | 533 | { |
534 | struct super_block *sb = dentry->d_sb; | 534 | struct super_block *sb = dentry->d_sb; |
535 | int free; | 535 | int free; |
536 | u64 id = huge_encode_dev(sb->s_bdev->bd_dev); | ||
536 | 537 | ||
537 | pr_debug("AFFS: statfs() partsize=%d, reserved=%d\n",AFFS_SB(sb)->s_partition_size, | 538 | pr_debug("AFFS: statfs() partsize=%d, reserved=%d\n",AFFS_SB(sb)->s_partition_size, |
538 | AFFS_SB(sb)->s_reserved); | 539 | AFFS_SB(sb)->s_reserved); |
@@ -543,6 +544,9 @@ affs_statfs(struct dentry *dentry, struct kstatfs *buf) | |||
543 | buf->f_blocks = AFFS_SB(sb)->s_partition_size - AFFS_SB(sb)->s_reserved; | 544 | buf->f_blocks = AFFS_SB(sb)->s_partition_size - AFFS_SB(sb)->s_reserved; |
544 | buf->f_bfree = free; | 545 | buf->f_bfree = free; |
545 | buf->f_bavail = free; | 546 | buf->f_bavail = free; |
547 | buf->f_fsid.val[0] = (u32)id; | ||
548 | buf->f_fsid.val[1] = (u32)(id >> 32); | ||
549 | buf->f_namelen = 30; | ||
546 | return 0; | 550 | return 0; |
547 | } | 551 | } |
548 | 552 | ||