Skip to contentSkip to conversation

Btrfs updates for 2.6.35

GIT PULL Chris Mason 3 participants 9 messages Jun 11, 2010 – Jun 15, 2010 Btrfs file system

lore
Share & tools
lore
#0 lore raw

Hello everyone,

The master branch of the btrfs-unstable tree is a collection of fixes and cleanups, including two btrfs regressions from rc1:

git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable.git master

One is an freeing blocks on an FS converted from ext34 to btrfs, and the other is a fallocate fix.

The rest are the usual small bug fixes.

Dan Carpenter (11) commits (+24/-17):
Btrfs: handle error returns from btrfs_lookup_dir_item() (+2/-0)
Btrfs: btrfs_read_fs_root_no_name() returns ERR_PTRs (+4/-0)
Btrfs: unwind after btrfs_start_transaction() errors (+1/-1)
Btrfs: remove unneeded null check in btrfs_rename() (+1/-3)
Btrfs: The file argument for fsync() is never null (+1/-1)
Btrfs: handle ERR_PTR from posix_acl_from_xattr() (+2/-0)
Btrfs: btrfs_lookup_dir_item() can return ERR_PTR (+1/-1)
Btrfs: uninitialized data is check_path_shared() (+1/-1)
Btrfs: handle kzalloc() failure in open_ctree() (+5/-2)
Btrfs: silence sparse warnings in ioctl.c (+4/-6)
Btrfs: btrfs_iget() returns ERR_PTR (+2/-2)

Zheng Yan (2) commits (+6/-4):
Btrfs: Fix BUG_ON for fs converted from extN (+2/-1)
Btrfs: Fix null dereference in relocation.c (+4/-3)

Liu Bo (2) commits (+14/-4):
Btrfs: Add error check for add_to_page_cache_lru (+13/-3)
Btrfs: fix break in btrfs_insert_some_items() (+1/-1)

Julia Lawall (2) commits (+9/-17):

    Btrfs: Use memdup_user (+6/-14)
    Btrfs: Use ERR_CAST (+3/-3)

Shi Weihua (2) commits (+6/-0):
Btrfs: prohibit a operation of changing acl's mask when noacl mount option used (+3/-0)
Btrfs: should add a permission check for setfacl (+3/-0)

Miao Xie (2) commits (+9/-1):
Btrfs: fix loop device on top of btrfs (+1/-0)
Btrfs: fix remap_file_pages error (+8/-1)

Sage Weil (1) commits (+0/-3):
Btrfs: avoid BUG when dropping root and reference in same transaction

Andi Kleen (1) commits (+2/-94):
BTRFS: Clean up unused variables -- nonbugs

Josef Bacik (1) commits (+1/-1):
Btrfs: fix fallocate regression

Prarit Bhargava (1) commits (+1/-1):
Btrfs: Fix warning in tree_search()

Total: (25) commits (+72/-142)

 fs/btrfs/acl.c          |    8 ++++++++
 fs/btrfs/compression.c  |   18 +++++++++++++-----
 fs/btrfs/ctree.c        |   20 +-------------------
 fs/btrfs/disk-io.c      |   22 +++++++++-------------
 fs/btrfs/extent-tree.c  |    5 ++---
 fs/btrfs/extent_io.c    |    9 ---------
 fs/btrfs/extent_map.c   |    4 ++--
 fs/btrfs/file.c         |   12 ++++++++++--
 fs/btrfs/inode.c        |   22 +++-------------------
 fs/btrfs/ioctl.c        |   36 ++++++++++++------------------------
 fs/btrfs/ordered-data.c |    4 +---
 fs/btrfs/relocation.c   |    7 ++++---
 fs/btrfs/root-tree.c    |    5 -----
 fs/btrfs/super.c        |   14 +++++++-------
 fs/btrfs/tree-defrag.c  |    2 --
 fs/btrfs/tree-log.c     |   15 ---------------
 fs/btrfs/volumes.c      |    4 ----
 fs/btrfs/xattr.c        |    2 --
 fs/btrfs/zlib.c         |    5 -----
 19 files changed, 72 insertions(+), 142 deletions(-)
#1 lore raw
Quoted 3 lines · Chris Mason

The master branch of the btrfs-unstable tree is a collection of fixes and cleanups, including two btrfs regressions from rc1:

Ok, no pulling then. See all the millions of threads how I wanted only critical fixes for -rc3 since I'll be offline.

You have a couple of hours for a minimal fix pull request with just the regression fixes if you want to hit -rc3. Then I'll cut a release and be gone for a while.

Linus

#2 lore raw
Quoted 11 lines · Linus Torvalds
Quoted 3 lines · Chris Mason

The master branch of the btrfs-unstable tree is a collection of fixes and cleanups, including two btrfs regressions from rc1:

Ok, no pulling then. See all the millions of threads how I wanted only critical fixes for -rc3 since I'll be offline.

You have a couple of hours for a minimal fix pull request with just the regression fixes if you want to hit -rc3. Then I'll cut a release and be gone for a while.

I did limit this to actual fixes, the only pure cleanups are a commit from Andi that drops unused code (fixing warnings from gcc), one to fix a sparse warning in ioctl.c, and fixing a gcc warning in tree_search.

The others all fix oopsen or big problems, and I think fixing warnings helps avoid false negatives as others look for real problems?

I'm happy to rebase out the 3 non-criticals.

-chris

#3 lore raw
Quoted 5 lines · Chris Mason

The others all fix oopsen or big problems, and I think fixing warnings helps avoid false negatives as others look for real problems?

I'm happy to rebase out the 3 non-criticals.

There seems to be more than three non-criticals. There's the warning fixes, the "unused variables" thing, the "memdup_user()" thing, a couple of unnecessary NULL checks removed etc. On the whole, I do not get the feeling that the pull request was actively trying to be minimal, and that's what I really want to see.

Linus

#4 lore raw
Quoted 5 lines · Linus Torvalds
Quoted 4 lines · Chris Mason

The others all fix oopsen or big problems, and I think fixing warnings helps avoid false negatives as others look for real problems?

Quoted 7 lines
Quoted 1 line

I'm happy to rebase out the 3 non-criticals.

There seems to be more than three non-criticals. There's the warning fixes, the "unused variables" thing, the "memdup_user()" thing, a couple of unnecessary NULL checks removed etc. On the whole, I do not get the feeling that the pull request was actively trying to be minimal, and that's what I really want to see.

No problem, I like to err on the side of pulling in safe fixes from the automated checkers so they don't have to go through results again.

But, I've got a completely minimal rebase now and I'm double checking it.

-chris

#5 lore raw
In reply to Linus Torvalds
Quoted 5 lines · Linus Torvalds
Quoted 4 lines · Chris Mason

The others all fix oopsen or big problems, and I think fixing warnings helps avoid false negatives as others look for real problems?

Quoted 7 lines
Quoted 1 line

I'm happy to rebase out the 3 non-criticals.

There seems to be more than three non-criticals. There's the warning fixes, the "unused variables" thing, the "memdup_user()" thing, a couple of unnecessary NULL checks removed etc. On the whole, I do not get the feeling that the pull request was actively trying to be minimal, and that's what I really want to see.

The for-linus branch (note the change in branch name) has everything that doesn't fix a bug removed.

git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable.git for-linus

I'll update the master branch to reflect any pulls you do.

Dan Carpenter (9) commits (+19/-8):
Btrfs: handle error returns from btrfs_lookup_dir_item() (+2/-0)
Btrfs: btrfs_read_fs_root_no_name() returns ERR_PTRs (+4/-0)
Btrfs: unwind after btrfs_start_transaction() errors (+1/-1)
Btrfs: The file argument for fsync() is never null (+1/-1)
Btrfs: handle ERR_PTR from posix_acl_from_xattr() (+2/-0)
Btrfs: btrfs_lookup_dir_item() can return ERR_PTR (+1/-1)
Btrfs: uninitialized data is check_path_shared() (+1/-1)
Btrfs: handle kzalloc() failure in open_ctree() (+5/-2)
Btrfs: btrfs_iget() returns ERR_PTR (+2/-2)

Zheng Yan (2) commits (+6/-4):
Btrfs: Fix BUG_ON for fs converted from extN (+2/-1)
Btrfs: Fix null dereference in relocation.c (+4/-3)

Shi Weihua (2) commits (+6/-0):
Btrfs: prohibit a operation of changing acl's mask when noacl mount option used (+3/-0)
Btrfs: should add a permission check for setfacl (+3/-0)

Miao Xie (2) commits (+9/-1):
Btrfs: fix loop device on top of btrfs (+1/-0)
Btrfs: fix remap_file_pages error (+8/-1)

Sage Weil (1) commits (+0/-3):
Btrfs: avoid BUG when dropping root and reference in same transaction

Josef Bacik (1) commits (+1/-1):
Btrfs: fix fallocate regression

Total: (17) commits (+41/-17)

 fs/btrfs/acl.c         |    8 ++++++++
 fs/btrfs/disk-io.c     |   11 +++++++++--
 fs/btrfs/extent-tree.c |    3 ++-
 fs/btrfs/file.c        |   12 ++++++++++--
 fs/btrfs/inode.c       |    4 ++--
 fs/btrfs/ioctl.c       |    4 ++--
 fs/btrfs/relocation.c  |    7 ++++---
 fs/btrfs/root-tree.c   |    3 ---
 fs/btrfs/super.c       |    6 ++++--
 9 files changed, 41 insertions(+), 17 deletions(-)
#6 lore raw
In reply to Chris Mason
Quoted 11 lines · On Friday 11 June 2010 15:37:31 Chris Mason wrote:

Hello everyone,

The master branch of the btrfs-unstable tree is a collection of fixes and cleanups, including two btrfs regressions from rc1:

git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable.git master

One is an freeing blocks on an FS converted from ext34 to btrfs, and the other is a fallocate fix.

The rest are the usual small bug fixes.

Looks like this still misses any fix for the oops I reported May 8th in thread:
"[OPPS] btrfs on 33-3 with latest from btrfs-unstable.git master"

Any chance this could be looked into? I've kept the fs just in case.

Thanks
Ed Tomlinson

Quoted 75 lines

Dan Carpenter (11) commits (+24/-17):
Btrfs: handle error returns from btrfs_lookup_dir_item() (+2/-0)
Btrfs: btrfs_read_fs_root_no_name() returns ERR_PTRs (+4/-0)
Btrfs: unwind after btrfs_start_transaction() errors (+1/-1)
Btrfs: remove unneeded null check in btrfs_rename() (+1/-3)
Btrfs: The file argument for fsync() is never null (+1/-1)
Btrfs: handle ERR_PTR from posix_acl_from_xattr() (+2/-0)
Btrfs: btrfs_lookup_dir_item() can return ERR_PTR (+1/-1)
Btrfs: uninitialized data is check_path_shared() (+1/-1)
Btrfs: handle kzalloc() failure in open_ctree() (+5/-2)
Btrfs: silence sparse warnings in ioctl.c (+4/-6)
Btrfs: btrfs_iget() returns ERR_PTR (+2/-2)

Zheng Yan (2) commits (+6/-4):
Btrfs: Fix BUG_ON for fs converted from extN (+2/-1)
Btrfs: Fix null dereference in relocation.c (+4/-3)

Liu Bo (2) commits (+14/-4):
Btrfs: Add error check for add_to_page_cache_lru (+13/-3)
Btrfs: fix break in btrfs_insert_some_items() (+1/-1)

Julia Lawall (2) commits (+9/-17):

    Btrfs: Use memdup_user (+6/-14)
    Btrfs: Use ERR_CAST (+3/-3)

Shi Weihua (2) commits (+6/-0):
Btrfs: prohibit a operation of changing acl's mask when noacl mount option used (+3/-0)
Btrfs: should add a permission check for setfacl (+3/-0)

Miao Xie (2) commits (+9/-1):
Btrfs: fix loop device on top of btrfs (+1/-0)
Btrfs: fix remap_file_pages error (+8/-1)

Sage Weil (1) commits (+0/-3):
Btrfs: avoid BUG when dropping root and reference in same transaction

Andi Kleen (1) commits (+2/-94):
BTRFS: Clean up unused variables -- nonbugs

Josef Bacik (1) commits (+1/-1):
Btrfs: fix fallocate regression

Prarit Bhargava (1) commits (+1/-1):
Btrfs: Fix warning in tree_search()

Total: (25) commits (+72/-142)

 fs/btrfs/acl.c          |    8 ++++++++
 fs/btrfs/compression.c  |   18 +++++++++++++-----
 fs/btrfs/ctree.c        |   20 +-------------------
 fs/btrfs/disk-io.c      |   22 +++++++++-------------
 fs/btrfs/extent-tree.c  |    5 ++---
 fs/btrfs/extent_io.c    |    9 ---------
 fs/btrfs/extent_map.c   |    4 ++--
 fs/btrfs/file.c         |   12 ++++++++++--
 fs/btrfs/inode.c        |   22 +++-------------------
 fs/btrfs/ioctl.c        |   36 ++++++++++++------------------------
 fs/btrfs/ordered-data.c |    4 +---
 fs/btrfs/relocation.c   |    7 ++++---
 fs/btrfs/root-tree.c    |    5 -----
 fs/btrfs/super.c        |   14 +++++++-------
 fs/btrfs/tree-defrag.c  |    2 --
 fs/btrfs/tree-log.c     |   15 ---------------
 fs/btrfs/volumes.c      |    4 ----
 fs/btrfs/xattr.c        |    2 --
 fs/btrfs/zlib.c         |    5 -----
 19 files changed, 72 insertions(+), 142 deletions(-)

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

#7 lore raw
Quoted 11 lines · Ed Tomlinson
Quoted 10 lines · On Friday 11 June 2010 15:37:31 Chris Mason wrote:

Hello everyone,

The master branch of the btrfs-unstable tree is a collection of fixes and cleanups, including two btrfs regressions from rc1:

git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable.git master

One is an freeing blocks on an FS converted from ext34 to btrfs, and the other is a fallocate fix.

Quoted 6 lines
Quoted 1 line

The rest are the usual small bug fixes.

Looks like this still misses any fix for the oops I reported May 8th in thread:
"[OPPS] btrfs on 33-3 with latest from btrfs-unstable.git master"

Any chance this could be looked into? I've kept the fs just in case.

The oops shows a crc failure and then we were not able to read the tree block. Yan Zheng is working on an fsck that can repair things now. Until then the best I can do is help copy things off.

Would you rather save the FS to test fsck?

-chris

#8 lore raw
Quoted 17 lines · On Monday 14 June 2010 20:47:35 Chris Mason wrote:
Quoted 16 lines · Ed Tomlinson
Quoted 11 lines · On Friday 11 June 2010 15:37:31 Chris Mason wrote:

Hello everyone,

The master branch of the btrfs-unstable tree is a collection of fixes and cleanups, including two btrfs regressions from rc1:

git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable.git master

One is an freeing blocks on an FS converted from ext34 to btrfs, and the other is a fallocate fix.

The rest are the usual small bug fixes.

Looks like this still misses any fix for the oops I reported May 8th in thread:
"[OPPS] btrfs on 33-3 with latest from btrfs-unstable.git master"

Quoted 7 lines
Quoted 1 line

Any chance this could be looked into? I've kept the fs just in case.

The oops shows a crc failure and then we were not able to read the tree block. Yan Zheng is working on an fsck that can repair things now. Until then the best I can do is help copy things off.

Would you rather save the FS to test fsck?

I can hang on to the FS for a while longer. One interesting point. The FS has both both meta-data and data mirroring enabled. I gather the oops is implying that both versions are corrupt. Btw the fs problem occured after heavy vm activity caused by running too many kvm(s).

Thanks
Ed