Merge branch 'akpm' (patches from Andrew)
Merge third patchbomb from Andrew Morton: - various misc things - a couple of lib/ optimisations - provide DIV_ROUND_CLOSEST_ULL() - checkpatch updates - rtc tree - befs, nilfs2, hfs, hfsplus, fatfs, adfs, affs, bfs - ptrace fixes - fork() fixes - seccomp cleanups - more mmap_sem hold time reductions from Davidlohr * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (138 commits) proc: show locks in /proc/pid/fdinfo/X docs: add missing and new /proc/PID/status file entries, fix typos drivers/rtc/rtc-at91rm9200.c: make IO endian agnostic Documentation/spi/spidev_test.c: fix warning drivers/rtc/rtc-s5m.c: allow usage on device type different than main MFD type .gitignore: ignore *.tar MAINTAINERS: add Mediatek SoC mailing list tomoyo: reduce mmap_sem hold for mm->exe_file powerpc/oprofile: reduce mmap_sem hold for exe_file oprofile: reduce mmap_sem hold for mm->exe_file mips: ip32: add platform data hooks to use DS1685 driver lib/Kconfig: fix up HAVE_ARCH_BITREVERSE help text x86: switch to using asm-generic for seccomp.h sparc: switch to using asm-generic for seccomp.h powerpc: switch to using asm-generic for seccomp.h parisc: switch to using asm-generic for seccomp.h mips: switch to using asm-generic for seccomp.h microblaze: use asm-generic for seccomp.h arm: use asm-generic for seccomp.h seccomp: allow COMPAT sigreturn overrides ...
This commit is contained in:
@@ -106,7 +106,7 @@ int nilfs_get_block(struct inode *inode, sector_t blkoff,
|
||||
err = nilfs_transaction_begin(inode->i_sb, &ti, 1);
|
||||
if (unlikely(err))
|
||||
goto out;
|
||||
err = nilfs_bmap_insert(ii->i_bmap, (unsigned long)blkoff,
|
||||
err = nilfs_bmap_insert(ii->i_bmap, blkoff,
|
||||
(unsigned long)bh_result);
|
||||
if (unlikely(err != 0)) {
|
||||
if (err == -EEXIST) {
|
||||
@@ -441,21 +441,20 @@ struct inode *nilfs_new_inode(struct inode *dir, umode_t mode)
|
||||
void nilfs_set_inode_flags(struct inode *inode)
|
||||
{
|
||||
unsigned int flags = NILFS_I(inode)->i_flags;
|
||||
unsigned int new_fl = 0;
|
||||
|
||||
inode->i_flags &= ~(S_SYNC | S_APPEND | S_IMMUTABLE | S_NOATIME |
|
||||
S_DIRSYNC);
|
||||
if (flags & FS_SYNC_FL)
|
||||
inode->i_flags |= S_SYNC;
|
||||
new_fl |= S_SYNC;
|
||||
if (flags & FS_APPEND_FL)
|
||||
inode->i_flags |= S_APPEND;
|
||||
new_fl |= S_APPEND;
|
||||
if (flags & FS_IMMUTABLE_FL)
|
||||
inode->i_flags |= S_IMMUTABLE;
|
||||
new_fl |= S_IMMUTABLE;
|
||||
if (flags & FS_NOATIME_FL)
|
||||
inode->i_flags |= S_NOATIME;
|
||||
new_fl |= S_NOATIME;
|
||||
if (flags & FS_DIRSYNC_FL)
|
||||
inode->i_flags |= S_DIRSYNC;
|
||||
mapping_set_gfp_mask(inode->i_mapping,
|
||||
mapping_gfp_mask(inode->i_mapping) & ~__GFP_FS);
|
||||
new_fl |= S_DIRSYNC;
|
||||
inode_set_flags(inode, new_fl, S_SYNC | S_APPEND | S_IMMUTABLE |
|
||||
S_NOATIME | S_DIRSYNC);
|
||||
}
|
||||
|
||||
int nilfs_read_inode_common(struct inode *inode,
|
||||
@@ -540,6 +539,8 @@ static int __nilfs_read_inode(struct super_block *sb,
|
||||
brelse(bh);
|
||||
up_read(&NILFS_MDT(nilfs->ns_dat)->mi_sem);
|
||||
nilfs_set_inode_flags(inode);
|
||||
mapping_set_gfp_mask(inode->i_mapping,
|
||||
mapping_gfp_mask(inode->i_mapping) & ~__GFP_FS);
|
||||
return 0;
|
||||
|
||||
failed_unmap:
|
||||
@@ -712,7 +713,7 @@ void nilfs_update_inode(struct inode *inode, struct buffer_head *ibh, int flags)
|
||||
static void nilfs_truncate_bmap(struct nilfs_inode_info *ii,
|
||||
unsigned long from)
|
||||
{
|
||||
unsigned long b;
|
||||
__u64 b;
|
||||
int ret;
|
||||
|
||||
if (!test_bit(NILFS_I_BMAP, &ii->i_state))
|
||||
@@ -727,7 +728,7 @@ repeat:
|
||||
if (b < from)
|
||||
return;
|
||||
|
||||
b -= min_t(unsigned long, NILFS_MAX_TRUNCATE_BLOCKS, b - from);
|
||||
b -= min_t(__u64, NILFS_MAX_TRUNCATE_BLOCKS, b - from);
|
||||
ret = nilfs_bmap_truncate(ii->i_bmap, b);
|
||||
nilfs_relax_pressure_in_lock(ii->vfs_inode.i_sb);
|
||||
if (!ret || (ret == -ENOMEM &&
|
||||
|
Reference in New Issue
Block a user