search for: inode_item

Displaying 15 results from an estimated 15 matches for "inode_item".

2012 Feb 10
13
can't read superblock (but could mount)
Hi! I used to have arch linux running on 1 btrfs partition (sda1, incl. /boot). When switching to 3.2.5 recently the system fails to boot: (after udevd) /etc/rc.sysinit: line 15: 117 Bus error mountpoint -q /proc and so on, no idea. It used to boot with 3.2.4, but 1) I obviously had some corruption in the tree, when I tried to delete a certain file I hit e.g. "kernel BUG at
2013 Sep 22
10
[PATCH] Btrfs: fix sync fs to actually wait for all data to be persisted
...amp;& btrfs fi sync /mnt/btrfs Right after the btrfs fi sync command (a second or 2 for example), power off the machine and reboot it. The file will be empty, as it can be verified after mounting the filesystem and through btrfs-debug-tree: $ btrfs-debug-tree /dev/sdb3 | egrep ''\(257 INODE_ITEM 0\) itemoff'' -B 3 -A 8 item 3 key (256 DIR_INDEX 2) itemoff 3751 itemsize 36 location key (257 INODE_ITEM 0) type FILE namelen 6 datalen 0 name: foobar item 4 key (257 INODE_ITEM 0) itemoff 3591 itemsize 160 inode generation...
2012 Apr 09
9
[PATCH] Btrfs: use i_version instead of our own sequence
...es */ - u64 sequence; - /* * transid of the trans_handle that last modified this inode */ diff --git a/fs/btrfs/delayed-inode.c b/fs/btrfs/delayed-inode.c index 03e3748..bcd40c7 100644 --- a/fs/btrfs/delayed-inode.c +++ b/fs/btrfs/delayed-inode.c @@ -1706,7 +1706,7 @@ static void fill_stack_inode_item(struct btrfs_trans_handle *trans, btrfs_set_stack_inode_nbytes(inode_item, inode_get_bytes(inode)); btrfs_set_stack_inode_generation(inode_item, BTRFS_I(inode)->generation); - btrfs_set_stack_inode_sequence(inode_item, BTRFS_I(inode)->sequence); + btrfs_set_stack_inode_sequence(ino...
2013 Apr 03
0
[PATCH] Btrfs-progs: add a free space cache checker to fsck
...y->bitmap, io_ctl->cur, CACHE_SECTORSIZE); + io_ctl_unmap_page(io_ctl); + + return 0; +} + + +int __load_free_space_cache(struct btrfs_root *root, + struct btrfs_free_space_ctl *ctl, + struct btrfs_path *path, u64 offset) +{ + struct btrfs_free_space_header *header; + struct btrfs_inode_item *inode_item; + struct extent_buffer *leaf; + struct io_ctl io_ctl; + struct btrfs_key key; + struct btrfs_key inode_location; + struct btrfs_disk_key disk_key; + struct btrfs_free_space *e, *n; + struct list_head bitmaps; + u64 num_entries; + u64 num_bitmaps; + u64 generation; + u64 inode_size; + u...
2012 Nov 23
14
extended attributes wiredness
Hi, I am using kernel 3.7-rc6. I have written a test application for extended attributes and have for some folders a wired behaviour: #include <stdio.h> #include <string.h> #include <attr/xattr.h> char attrs[1024]; ssize_t attrslen; int i; char value[1024]; ssize_t valuelen; int main(int argc, char *argv[]) { if (argc != 2) { fprintf(stderr, "Syntax: testxattr
2011 May 11
8
[PATCH 1/4] Btrfs: map the node block when looking for readahead targets
If we have particularly full nodes, we could call btrfs_node_blockptr up to 32 times, which is 32 pairs of kmap/kunmap, which _sucks_. So go ahead and map the extent buffer while we look for readahead targets. Thanks, Signed-off-by: Josef Bacik <josef@redhat.com> --- fs/btrfs/ctree.c | 23 +++++++++++++++++++++-- 1 files changed, 21 insertions(+), 2 deletions(-) diff --git
2013 Mar 01
0
unremovable dirs from failed unlink
...: 20h/32d Inode: 257 Links: 1 [root@f18 dir]# rm fail-please rm: cannot remove ‘fail-please’: Cannot allocate memory [root@f18 dir]# ls -la total 4 drwxr-xr-x. 1 root root 22 Mar 1 17:33 . drwxr-xr-x. 1 root root 6 Mar 1 17:33 .. (only 257 items in debug-tree) item 4 key (257 INODE_ITEM 0) itemoff 3597 itemsize 160 inode generation 5 transid 5 size 22 block group 0 mode 40755 links 1 item 5 key (257 INODE_REF 256) itemoff 3584 itemsize 13 inode ref index 2 namelen 3 name: dir item 6 key (257 XATTR_ITEM 3817753667) itemoff 3506 itemsi...
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
2013 Nov 12
0
[PATCH] Btrfs: incompatible format change to remove hole extents V4
...y); + } else { return 0; - if (ret < 0) - return ret; + } result = BTRFS_COMPARE_TREE_CHANGED; ret = 0; } diff --git a/fs/btrfs/tree-log.c b/fs/btrfs/tree-log.c index 1134aa4..465a16d 100644 --- a/fs/btrfs/tree-log.c +++ b/fs/btrfs/tree-log.c @@ -3188,7 +3188,7 @@ static int log_inode_item(struct btrfs_trans_handle *trans, static noinline int copy_items(struct btrfs_trans_handle *trans, struct inode *inode, struct btrfs_path *dst_path, - struct extent_buffer *src, + struct btrfs_path *src_path, u64 *last_extent, int start_slot, int...
2012 Aug 01
17
[PATCH] add crtime to the snapshot list
From: Anand <anand.jain@oracle.com> This patch adds creation-time to the snapshot list display, which would help user to better manage the snapshots when number of snapshots grow substantially. This patch is developed and on top of the send/receive btrfs and btrfs-progs repo at git://github.com/ablock84/linux-btrfs.git (send-v2) git://github.com/ablock84/btrfs-progs.git (send-v2)
2009 Nov 12
0
[PATCH 05/12] Btrfs: Avoid orphan inodes cleanup during replaying log
...BUG_ON(ret); + } + ret = insert_orphan_item(trans, root, inode->i_ino); BUG_ON(ret); } btrfs_free_path(path); @@ -1587,7 +1602,6 @@ static int replay_one_buffer(struct btrfs_root *log, struct extent_buffer *eb, /* inode keys are done during the first stage */ if (key.type == BTRFS_INODE_ITEM_KEY && wc->stage == LOG_WALK_REPLAY_INODES) { - struct inode *inode; struct btrfs_inode_item *inode_item; u32 mode; @@ -1603,31 +1617,16 @@ static int replay_one_buffer(struct btrfs_root *log, struct extent_buffer *eb, eb, i, &key); BUG_ON(ret); -...
2010 Dec 16
2
[BUG?] There is a possibility that 'i_ino' overflows
Hi, In btrfs, inode number is increased each time a new file or directory is made. Therefore, if the making deletion of the file is repeated, value of ''i_ino'' increases rapidly. For example, inode number changes as follows. $ touch foo $ ls -i foo 266 foo $ rm foo $ touch bar $ ls -i bar 267 bar $ And then, length of ''i_ino'' and
2011 Jun 21
19
[GIT PULL v3] Btrfs: improve write ahead log with sub transaction
I''ve been working to try to improve the write-ahead log''s performance, and I found that the bottleneck addresses in the checksum items, especially when we want to make a random write on a large file, e.g a 4G file. Then a idea for this suggested by Chris is to use sub transaction ids and just to log the part of inode that had changed since either the last log commit or the last
2007 Aug 09
1
[RFC] All my fsync changes
..., root); +out: mutex_unlock(&root->fs_info->fs_mutex); -out: return ret > 0 ? EIO : ret; } diff -r f6da57af2473 inode.c --- a/inode.c Wed Aug 08 20:17:12 2007 -0400 +++ b/inode.c Thu Aug 09 17:23:57 2007 -0400 @@ -193,6 +193,7 @@ static int btrfs_update_inode(struct btr fill_inode_item(inode_item, inode); btrfs_mark_buffer_dirty(path->nodes[0]); + btrfs_set_inode_last_trans(trans, inode); ret = 0; failed: btrfs_release_path(root, path); @@ -2253,6 +2254,7 @@ struct inode *btrfs_alloc_inode(struct s ei = kmem_cache_alloc(btrfs_inode_cachep, GFP_NOFS); if (!ei) ret...
2009 May 12
0
[PATCH 1/2] btrfs-progs: mixed back ref support
...00 @@ -63,8 +63,8 @@ int make_btrfs(int fd, const char *devic struct extent_buffer *buf; struct btrfs_root_item root_item; struct btrfs_disk_key disk_key; - struct btrfs_extent_ref *extent_ref; struct btrfs_extent_item *extent_item; + struct btrfs_tree_block_info *block_info; struct btrfs_inode_item *inode_item; struct btrfs_chunk *chunk; struct btrfs_dev_item *dev_item; @@ -212,25 +212,32 @@ int make_btrfs(int fd, const char *devic extent_item = btrfs_item_ptr(buf, nritems, struct btrfs_extent_item); btrfs_set_extent_refs(buf, extent_item, 1); + btrfs_set_extent_generati...