diff options
author | Evgeniy Dushistov <dushistov@mail.ru> | 2006-06-25 08:47:18 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-06-25 13:01:01 -0400 |
commit | 2061df0f89201c0abeb4c17d343309c9fae5b861 (patch) | |
tree | a641b77e6197e6416dc043452db347dbfbb4bd3e /fs/ufs/util.h | |
parent | a9adb8dbcd7a337620862106f8c17aeb5e7278c7 (diff) |
[PATCH] ufs: ufs_trunc_indirect: infinite cycle
Currently, ufs write support have two sets of problems: work with files and
work with directories.
This series of patches should solve the first problem.
This patch is similar to http://lkml.org/lkml/2006/1/17/61 this patch
complements it.
The situation the same: in ufs_trunc_(not direct), we read block, check if
count of links to it is equal to one, if so we finish cycle, if not
continue. Because of "count of links" always >=2 this operation cause
infinite cycle and hang up the kernel.
Signed-off-by: Evgeniy Dushistov <dushistov@mail.ru>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs/ufs/util.h')
-rw-r--r-- | fs/ufs/util.h | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/fs/ufs/util.h b/fs/ufs/util.h index 48d6d9bcc157..e10362d8f456 100644 --- a/fs/ufs/util.h +++ b/fs/ufs/util.h | |||
@@ -238,7 +238,6 @@ extern void ubh_mark_buffer_dirty (struct ufs_buffer_head *); | |||
238 | extern void ubh_mark_buffer_uptodate (struct ufs_buffer_head *, int); | 238 | extern void ubh_mark_buffer_uptodate (struct ufs_buffer_head *, int); |
239 | extern void ubh_ll_rw_block (int, unsigned, struct ufs_buffer_head **); | 239 | extern void ubh_ll_rw_block (int, unsigned, struct ufs_buffer_head **); |
240 | extern void ubh_wait_on_buffer (struct ufs_buffer_head *); | 240 | extern void ubh_wait_on_buffer (struct ufs_buffer_head *); |
241 | extern unsigned ubh_max_bcount (struct ufs_buffer_head *); | ||
242 | extern void ubh_bforget (struct ufs_buffer_head *); | 241 | extern void ubh_bforget (struct ufs_buffer_head *); |
243 | extern int ubh_buffer_dirty (struct ufs_buffer_head *); | 242 | extern int ubh_buffer_dirty (struct ufs_buffer_head *); |
244 | #define ubh_ubhcpymem(mem,ubh,size) _ubh_ubhcpymem_(uspi,mem,ubh,size) | 243 | #define ubh_ubhcpymem(mem,ubh,size) _ubh_ubhcpymem_(uspi,mem,ubh,size) |