diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2012-10-09 15:20:05 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2012-10-09 15:20:05 -0400 |
commit | db8c246937713e60b7628661ccc187eeb81f2bae (patch) | |
tree | 6351e8bca23eef40fce85396d1c6f6cfffbd4b66 /fs/jfs | |
parent | c5f66e99b7cb091e3d51ae8e8156892e8feb7fa3 (diff) | |
parent | 28f2b02bc581ffc835bc1691b18d03f62fcf0395 (diff) |
Merge branch 'fortglx/3.7/time' of git://git.linaro.org/people/jstultz/linux into timers/core
Diffstat (limited to 'fs/jfs')
-rw-r--r-- | fs/jfs/namei.c | 18 | ||||
-rw-r--r-- | fs/jfs/super.c | 5 |
2 files changed, 14 insertions, 9 deletions
diff --git a/fs/jfs/namei.c b/fs/jfs/namei.c index 07c91ca6017..3b91a7ad608 100644 --- a/fs/jfs/namei.c +++ b/fs/jfs/namei.c | |||
@@ -73,7 +73,7 @@ static inline void free_ea_wmap(struct inode *inode) | |||
73 | * | 73 | * |
74 | */ | 74 | */ |
75 | static int jfs_create(struct inode *dip, struct dentry *dentry, umode_t mode, | 75 | static int jfs_create(struct inode *dip, struct dentry *dentry, umode_t mode, |
76 | struct nameidata *nd) | 76 | bool excl) |
77 | { | 77 | { |
78 | int rc = 0; | 78 | int rc = 0; |
79 | tid_t tid; /* transaction id */ | 79 | tid_t tid; /* transaction id */ |
@@ -176,8 +176,8 @@ static int jfs_create(struct inode *dip, struct dentry *dentry, umode_t mode, | |||
176 | unlock_new_inode(ip); | 176 | unlock_new_inode(ip); |
177 | iput(ip); | 177 | iput(ip); |
178 | } else { | 178 | } else { |
179 | d_instantiate(dentry, ip); | ||
180 | unlock_new_inode(ip); | 179 | unlock_new_inode(ip); |
180 | d_instantiate(dentry, ip); | ||
181 | } | 181 | } |
182 | 182 | ||
183 | out2: | 183 | out2: |
@@ -309,8 +309,8 @@ static int jfs_mkdir(struct inode *dip, struct dentry *dentry, umode_t mode) | |||
309 | unlock_new_inode(ip); | 309 | unlock_new_inode(ip); |
310 | iput(ip); | 310 | iput(ip); |
311 | } else { | 311 | } else { |
312 | d_instantiate(dentry, ip); | ||
313 | unlock_new_inode(ip); | 312 | unlock_new_inode(ip); |
313 | d_instantiate(dentry, ip); | ||
314 | } | 314 | } |
315 | 315 | ||
316 | out2: | 316 | out2: |
@@ -1043,8 +1043,8 @@ static int jfs_symlink(struct inode *dip, struct dentry *dentry, | |||
1043 | unlock_new_inode(ip); | 1043 | unlock_new_inode(ip); |
1044 | iput(ip); | 1044 | iput(ip); |
1045 | } else { | 1045 | } else { |
1046 | d_instantiate(dentry, ip); | ||
1047 | unlock_new_inode(ip); | 1046 | unlock_new_inode(ip); |
1047 | d_instantiate(dentry, ip); | ||
1048 | } | 1048 | } |
1049 | 1049 | ||
1050 | out2: | 1050 | out2: |
@@ -1424,8 +1424,8 @@ static int jfs_mknod(struct inode *dir, struct dentry *dentry, | |||
1424 | unlock_new_inode(ip); | 1424 | unlock_new_inode(ip); |
1425 | iput(ip); | 1425 | iput(ip); |
1426 | } else { | 1426 | } else { |
1427 | d_instantiate(dentry, ip); | ||
1428 | unlock_new_inode(ip); | 1427 | unlock_new_inode(ip); |
1428 | d_instantiate(dentry, ip); | ||
1429 | } | 1429 | } |
1430 | 1430 | ||
1431 | out1: | 1431 | out1: |
@@ -1436,7 +1436,7 @@ static int jfs_mknod(struct inode *dir, struct dentry *dentry, | |||
1436 | return rc; | 1436 | return rc; |
1437 | } | 1437 | } |
1438 | 1438 | ||
1439 | static struct dentry *jfs_lookup(struct inode *dip, struct dentry *dentry, struct nameidata *nd) | 1439 | static struct dentry *jfs_lookup(struct inode *dip, struct dentry *dentry, unsigned int flags) |
1440 | { | 1440 | { |
1441 | struct btstack btstack; | 1441 | struct btstack btstack; |
1442 | ino_t inum; | 1442 | ino_t inum; |
@@ -1570,7 +1570,7 @@ out: | |||
1570 | return result; | 1570 | return result; |
1571 | } | 1571 | } |
1572 | 1572 | ||
1573 | static int jfs_ci_revalidate(struct dentry *dentry, struct nameidata *nd) | 1573 | static int jfs_ci_revalidate(struct dentry *dentry, unsigned int flags) |
1574 | { | 1574 | { |
1575 | /* | 1575 | /* |
1576 | * This is not negative dentry. Always valid. | 1576 | * This is not negative dentry. Always valid. |
@@ -1589,7 +1589,7 @@ static int jfs_ci_revalidate(struct dentry *dentry, struct nameidata *nd) | |||
1589 | * This may be nfsd (or something), anyway, we can't see the | 1589 | * This may be nfsd (or something), anyway, we can't see the |
1590 | * intent of this. So, since this can be for creation, drop it. | 1590 | * intent of this. So, since this can be for creation, drop it. |
1591 | */ | 1591 | */ |
1592 | if (!nd) | 1592 | if (!flags) |
1593 | return 0; | 1593 | return 0; |
1594 | 1594 | ||
1595 | /* | 1595 | /* |
@@ -1597,7 +1597,7 @@ static int jfs_ci_revalidate(struct dentry *dentry, struct nameidata *nd) | |||
1597 | * case sensitive name which is specified by user if this is | 1597 | * case sensitive name which is specified by user if this is |
1598 | * for creation. | 1598 | * for creation. |
1599 | */ | 1599 | */ |
1600 | if (nd->flags & (LOOKUP_CREATE | LOOKUP_RENAME_TARGET)) | 1600 | if (flags & (LOOKUP_CREATE | LOOKUP_RENAME_TARGET)) |
1601 | return 0; | 1601 | return 0; |
1602 | return 1; | 1602 | return 1; |
1603 | } | 1603 | } |
diff --git a/fs/jfs/super.c b/fs/jfs/super.c index 4a82950f412..c55c7452d28 100644 --- a/fs/jfs/super.c +++ b/fs/jfs/super.c | |||
@@ -601,6 +601,11 @@ static int jfs_sync_fs(struct super_block *sb, int wait) | |||
601 | 601 | ||
602 | /* log == NULL indicates read-only mount */ | 602 | /* log == NULL indicates read-only mount */ |
603 | if (log) { | 603 | if (log) { |
604 | /* | ||
605 | * Write quota structures to quota file, sync_blockdev() will | ||
606 | * write them to disk later | ||
607 | */ | ||
608 | dquot_writeback_dquots(sb, -1); | ||
604 | jfs_flush_journal(log, wait); | 609 | jfs_flush_journal(log, wait); |
605 | jfs_syncpt(log, 0); | 610 | jfs_syncpt(log, 0); |
606 | } | 611 | } |