diff options
Diffstat (limited to 'fs/jfs')
-rw-r--r-- | fs/jfs/inode.c | 3 | ||||
-rw-r--r-- | fs/jfs/jfs_imap.c | 2 | ||||
-rw-r--r-- | fs/jfs/jfs_logmgr.c | 3 |
3 files changed, 5 insertions, 3 deletions
diff --git a/fs/jfs/inode.c b/fs/jfs/inode.c index b7dc47ba675e..730f24e282a6 100644 --- a/fs/jfs/inode.c +++ b/fs/jfs/inode.c | |||
@@ -23,6 +23,7 @@ | |||
23 | #include <linux/pagemap.h> | 23 | #include <linux/pagemap.h> |
24 | #include <linux/quotaops.h> | 24 | #include <linux/quotaops.h> |
25 | #include <linux/writeback.h> | 25 | #include <linux/writeback.h> |
26 | #include <linux/aio.h> | ||
26 | #include "jfs_incore.h" | 27 | #include "jfs_incore.h" |
27 | #include "jfs_inode.h" | 28 | #include "jfs_inode.h" |
28 | #include "jfs_filsys.h" | 29 | #include "jfs_filsys.h" |
@@ -125,7 +126,7 @@ int jfs_write_inode(struct inode *inode, struct writeback_control *wbc) | |||
125 | { | 126 | { |
126 | int wait = wbc->sync_mode == WB_SYNC_ALL; | 127 | int wait = wbc->sync_mode == WB_SYNC_ALL; |
127 | 128 | ||
128 | if (test_cflag(COMMIT_Nolink, inode)) | 129 | if (inode->i_nlink == 0) |
129 | return 0; | 130 | return 0; |
130 | /* | 131 | /* |
131 | * If COMMIT_DIRTY is not set, the inode isn't really dirty. | 132 | * If COMMIT_DIRTY is not set, the inode isn't really dirty. |
diff --git a/fs/jfs/jfs_imap.c b/fs/jfs/jfs_imap.c index 6ba4006e011b..f7e042b63ddb 100644 --- a/fs/jfs/jfs_imap.c +++ b/fs/jfs/jfs_imap.c | |||
@@ -1493,7 +1493,7 @@ int diAlloc(struct inode *pip, bool dir, struct inode *ip) | |||
1493 | /* mask any prior bits for the starting words of the | 1493 | /* mask any prior bits for the starting words of the |
1494 | * summary map. | 1494 | * summary map. |
1495 | */ | 1495 | */ |
1496 | mask = ONES << (EXTSPERSUM - bitno); | 1496 | mask = (bitno == 0) ? 0 : (ONES << (EXTSPERSUM - bitno)); |
1497 | inosmap = le32_to_cpu(iagp->inosmap[sword]) | mask; | 1497 | inosmap = le32_to_cpu(iagp->inosmap[sword]) | mask; |
1498 | extsmap = le32_to_cpu(iagp->extsmap[sword]) | mask; | 1498 | extsmap = le32_to_cpu(iagp->extsmap[sword]) | mask; |
1499 | 1499 | ||
diff --git a/fs/jfs/jfs_logmgr.c b/fs/jfs/jfs_logmgr.c index 8ae5e350da43..c57499dca89c 100644 --- a/fs/jfs/jfs_logmgr.c +++ b/fs/jfs/jfs_logmgr.c | |||
@@ -1058,7 +1058,8 @@ static int lmLogSync(struct jfs_log * log, int hard_sync) | |||
1058 | */ | 1058 | */ |
1059 | void jfs_syncpt(struct jfs_log *log, int hard_sync) | 1059 | void jfs_syncpt(struct jfs_log *log, int hard_sync) |
1060 | { LOG_LOCK(log); | 1060 | { LOG_LOCK(log); |
1061 | lmLogSync(log, hard_sync); | 1061 | if (!test_bit(log_QUIESCE, &log->flag)) |
1062 | lmLogSync(log, hard_sync); | ||
1062 | LOG_UNLOCK(log); | 1063 | LOG_UNLOCK(log); |
1063 | } | 1064 | } |
1064 | 1065 | ||