Btrfs updates for 2.6.35
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(-)
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
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
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
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
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(-)
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.gitmasterOne 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 frombtrfs_lookup_dir_item()(+2/-0)
Btrfs:btrfs_read_fs_root_no_name()returnsERR_PTRs(+4/-0)
Btrfs: unwind afterbtrfs_start_transaction()errors (+1/-1)
Btrfs: remove unneeded null check inbtrfs_rename()(+1/-3)
Btrfs: The file argument forfsync()is never null (+1/-1)
Btrfs: handleERR_PTRfromposix_acl_from_xattr()(+2/-0)
Btrfs:btrfs_lookup_dir_item()can returnERR_PTR(+1/-1)
Btrfs: uninitialized data ischeck_path_shared()(+1/-1)
Btrfs: handlekzalloc()failure inopen_ctree()(+5/-2)
Btrfs: silence sparse warnings inioctl.c(+4/-6)
Btrfs:btrfs_iget()returnsERR_PTR(+2/-2)Zheng Yan (2) commits (+6/-4):
Btrfs: FixBUG_ONfor fs converted from extN (+2/-1)
Btrfs: Fix null dereference inrelocation.c(+4/-3)Liu Bo (2) commits (+14/-4):
Btrfs: Add error check foradd_to_page_cache_lru(+13/-3)
Btrfs: fix break inbtrfs_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: fixremap_file_pageserror (+8/-1)Sage Weil (1) commits (+0/-3):
Btrfs: avoid BUG when dropping root and reference in same transactionAndi Kleen (1) commits (+2/-94):
BTRFS: Clean up unused variables -- nonbugsJosef Bacik (1) commits (+1/-1):
Btrfs: fix fallocate regressionPrarit Bhargava (1) commits (+1/-1):
Btrfs: Fix warning intree_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/
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.gitmasterOne 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
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.gitmasterOne 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