search for: noinline_for_stack

Displaying 14 results from an estimated 14 matches for "noinline_for_stack".

2023 Apr 18
1
[PATCH] ocfs2: reduce ioctl stack usage
...gt;> >> fs/ocfs2/ioctl.c: In function 'ocfs2_ioctl': >> fs/ocfs2/ioctl.c:934:1: error: the frame size of 1448 bytes is larger than 1400 bytes [-Werror=frame-larger-than=] >> >> Move each of the variables into a basic block, and mark ocfs2_info_handle() >> as noinline_for_stack, in order to have the variable share stack slots. >> >> [...] > > Going by git log, ocfs2 patches don't go through a separate tree. > So unless there are objections I'm taking this through fs.misc, > > tree: git://git.kernel.org/pub/scm/linux/kernel/git/vfs/idma...
2010 Apr 26
0
[PATCH V2 11/12] Btrfs: Pre-allocate space for data relocation
...em->block_start; free_extent_map(em); cur_offset = last_byte; diff -urp 2/fs/btrfs/relocation.c 3/fs/btrfs/relocation.c --- 2/fs/btrfs/relocation.c 2010-04-26 17:28:20.493839748 +0800 +++ 3/fs/btrfs/relocation.c 2010-04-26 17:28:20.501835289 +0800 @@ -2545,6 +2545,50 @@ out: } static noinline_for_stack +int prealloc_file_extent_cluster(struct inode *inode, + struct file_extent_cluster *cluster) +{ + u64 alloc_hint = 0; + u64 start; + u64 end; + u64 offset = BTRFS_I(inode)->index_cnt; + u64 num_bytes; + int nr = 0; + int ret = 0; + + BUG_ON(cluster->start != cluster->boundary[0]); + m...
2011 Mar 08
6
[PATCH v1 0/6] btrfs: scrub
This series adds an initial implementation for scrub. It works quite straightforward. The usermode issues an ioctl for each device in the fs. For each device, it enumerates the allocated device chunks. For each chunk, the contained extents are enumerated and the data checksums fetched. The extents are read sequentially and the checksums verified. If an error occurs (checksum or EIO), a good copy
2013 Jun 04
3
[PATCH] Btrfs: fix broken nocow after balance
Balance will create reloc_root for each fs root, and it''s going to record last_snapshot to filter shared blocks. The side effect of setting last_snapshot is to break nocow attributes of files. So it turns out that checking last_snapshot does not always ensure that a node/leaf/file_extent is shared. That''s why shared node/leaf needs to search extent tree for number of
2023 Apr 18
3
[PATCH] ocfs2: reduce ioctl stack usage
...ocfs2/ioctl.c: In function 'ocfs2_ioctl': > >> fs/ocfs2/ioctl.c:934:1: error: the frame size of 1448 bytes is larger than 1400 bytes [-Werror=frame-larger-than=] > >> > >> Move each of the variables into a basic block, and mark ocfs2_info_handle() > >> as noinline_for_stack, in order to have the variable share stack slots. > >> > >> [...] > > > > Going by git log, ocfs2 patches don't go through a separate tree. > > So unless there are objections I'm taking this through fs.misc, > > > > tree: git://git.kernel.or...
2013 Jan 10
0
[PATCH 02/11] Btrfs: use atomic for fs_info->last_trans_committed
..._mod < atomic64_read(&root->fs_info->last_trans_committed)) return; spin_lock(&root->fs_info->ordered_extent_lock); diff --git a/fs/btrfs/scrub.c b/fs/btrfs/scrub.c index bdbb94f..af0b566 100644 --- a/fs/btrfs/scrub.c +++ b/fs/btrfs/scrub.c @@ -2703,7 +2703,7 @@ static noinline_for_stack int scrub_supers(struct scrub_ctx *sctx, if (root->fs_info->fs_state & BTRFS_SUPER_FLAG_ERROR) return -EIO; - gen = root->fs_info->last_trans_committed; + gen = atomic64_read(&root->fs_info->last_trans_committed); for (i = 0; i < BTRFS_SUPER_MIRROR_MAX; i++)...
2010 Sep 03
0
[PATCH 1/2] btrfs: document where we use BUG_ON instead of error handling
...d, level - 1, 0); - BUG_ON(ret); + btrfs_fixable_bug_on(ret); ret = btrfs_free_extent(trans, dest, old_bytenr, blocksize, 0, dest->root_key.objectid, level - 1, 0); - BUG_ON(ret); + btrfs_fixable_bug_on(ret); btrfs_unlock_up_safe(path, 0); @@ -2036,7 +2036,7 @@ static noinline_for_stack int merge_reloc_root(struct reloc_control *rc, if (ret) { BUG_ON(ret != -EAGAIN); ret = btrfs_commit_transaction(trans, root); - BUG_ON(ret); + btrfs_fixable_bug_on(ret); continue; } @@ -2218,7 +2218,7 @@ again: BUG_ON(root->reloc_root != reloc_root); ret = merg...
2009 Aug 24
0
[PATCH] Btrfs: proper metadata -ENOSPC handling
...32,12 @@ int relocate_tree_blocks(struct btrfs_trans_handle *trans, } remove_backref_node(cache, upper); } + + ret = btrfs_try_extend_transaction(trans, rc->extent_root, 1); + if (ret) { + ret = 0; + break; + } } out: free_block_list(blocks); @@ -3222,11 +3245,25 @@ static noinline_for_stack int relocate_block_group(struct reloc_control *rc) rc->create_reloc_root = 1; set_reloc_control(rc); - trans = btrfs_start_transaction(rc->extent_root, 1); - btrfs_commit_transaction(trans, rc->extent_root); + ret = btrfs_force_transaction_commit(rc->extent_root, 0); + if (ret) {...
2011 Jul 21
10
[PATCH v5 0/8] Btrfs scrub: print path to corrupted files and trigger nodatasum fixup
While testing raid-auto-repair patches I''m going to send out later, I just found the very last bug in my current scrub patch series: Changelog v4->v5: - fixed a deadlock when fixup is taking longer while scrub is about to end Original message follows: ------------------------ This patch set introduces two new features for scrub. They share the backref iteration code which is the
2011 Oct 04
68
[patch 00/65] Error handling patchset v3
Hi all - Here''s my current error handling patchset, against 3.1-rc8. Almost all of this patchset is preparing for actual error handling. Before we start in on that work, I''m trying to reduce the surface we need to worry about. It turns out that there is a ton of code that returns an error code but never actually reports an error. The patchset has grown to 65 patches. 46 of them
2011 Jun 29
14
[PATCH v4 0/6] btrfs: generic readeahead interface
This series introduces a generic readahead interface for btrfs trees. The intention is to use it to speed up scrub in a first run, but balance is another hot candidate. In general, every tree walk could be accompanied by a readahead. Deletion of large files comes to mind, where the fetching of the csums takes most of the time. Also the initial build-ups of free-space-caches and
2011 Aug 15
9
[patch v2 0/9] btrfs: More error handling patches
Hi all - The following 9 patches add more error handling to the btrfs code: - Add btrfs_panic - Catch locking failures in {set,clear}_extent_bit - Push up set_extent_bit errors to callers - Push up lock_extent errors to callers - Push up clear_extent_bit errors to callers - Push up unlock_extent errors to callers - Make pin_down_extent return void - Push up btrfs_pin_extent errors to
2012 Apr 20
1
[PATCH] multiqueue: a hodge podge of things
...ector; if (maxsector < nr_sectors || maxsector - nr_sectors < sector) { /* * This may well happen - the kernel calls bread() * without checking the size of the device, e.g., when * mounting a device. */ handle_bad_sector(bio); return 1; } } return 0; } static noinline_for_stack bool generic_make_request_checks(struct bio *bio) { struct request_queue *q; int nr_sectors = bio_sectors(bio); int err = -EIO; char b[BDEVNAME_SIZE]; struct hd_struct *part; might_sleep(); if (bio_check_eod(bio, nr_sectors)) goto end_io; q = bdev_get_queue(bio->bi_bdev); if (unlik...
2012 Apr 20
1
[PATCH] multiqueue: a hodge podge of things
...ector; if (maxsector < nr_sectors || maxsector - nr_sectors < sector) { /* * This may well happen - the kernel calls bread() * without checking the size of the device, e.g., when * mounting a device. */ handle_bad_sector(bio); return 1; } } return 0; } static noinline_for_stack bool generic_make_request_checks(struct bio *bio) { struct request_queue *q; int nr_sectors = bio_sectors(bio); int err = -EIO; char b[BDEVNAME_SIZE]; struct hd_struct *part; might_sleep(); if (bio_check_eod(bio, nr_sectors)) goto end_io; q = bdev_get_queue(bio->bi_bdev); if (unlik...