Joel Becker
2011-May-26 09:46 UTC
[Ocfs2-devel] [GIT PULL] ocfs2 features for $next_version
Linus et al, Here are the new ocfs2 changes for the $next_version merge window. They include FITRIM support and the basics of online defragmentation. Please pull. Joel The following changes since commit 4db70f73e56961b9bcdfd0c36c62847a18b7dbb5: tmpfs: fix XATTR N overriding POSIX_ACL Y (2011-05-25 19:53:02 -0700) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2.git linux-next Amerigo Wang (1): ocfs2: remove the /sys/o2cb symlink Joel Becker (1): Merge branch 'move_extents' of git://oss.oracle.com/git/tye/linux-2.6 into ocfs2-merge-window Robin Dong (1): ocfs2: change incorrect 'extern' keyword to 'static' in dlmfs Sunil Mushran (3): ocfs2/dlm: dlm_is_lockres_migrateable() returns boolean ocfs2/dlm: Add new dlm message DLM_BEGIN_EXIT_DOMAIN_MSG ocfs2/dlm: Do not migrate resource to a node that is leaving the domain Tao Ma (3): ocfs2: Add ocfs2_trim_fs for SSD trim support. ocfs2: Add FITRIM ioctl. ocfs2: Add trace event for trim. Tiger Yang (1): ocfs2: clean up mount option about atime in ocfs2.txt Tristan Ye (19): Ocfs2: Using inline funcs to set/clear *FILLED* flags in info handler. Ocfs2: Add a new code 'OCFS2_INFO_FREEINODE' for o2info ioctl. Ocfs2: Add a new code 'OCFS2_INFO_FREEFRAG' for o2info ioctl. Ocfs2/refcounttree: Publicize couple of funcs from refcounttree.c Ocfs2/move_extents: Adding new ioctl code 'OCFS2_IOC_MOVE_EXT' to ocfs2. Ocfs2/move_extents: Add basic framework and source files for extent moving. Ocfs2/move_extents: lock allocators and reserve metadata blocks and data clusters for extents moving. Ocfs2/move_extents: move a range of extent. Ocfs2/move_extents: defrag a range of extent. Ocfs2/move_extents: find the victim alloc group, where the given #blk fits. Ocfs2/move_extents: helper to validate and adjust moving goal. Ocfs2/move_extents: helper to probe a proper region to move in an alloc group. Ocfs2/move_extents: helpers to update the group descriptor and global bitmap inode. Ocfs2/move_extents: move entire/partial extent. Ocfs2/move_extents: helper to calculate the defraging length in one run. Ocfs2/move_extents: move/defrag extents within a certain range. Ocfs2/move_extents: Let defrag handle partial extent moving. Ocfs2/move_extents: Set several trivial constraints for threshold. Ocfs2: Teach local-mounted ocfs2 to handle unwritten_extents correctly. Documentation/ABI/{obsolete => removed}/o2cb | 9 +- Documentation/feature-removal-schedule.txt | 10 - Documentation/filesystems/ocfs2.txt | 8 +- fs/ocfs2/Makefile | 1 + fs/ocfs2/alloc.c | 166 ++++ fs/ocfs2/alloc.h | 1 + fs/ocfs2/cluster/sys.c | 9 - fs/ocfs2/dlm/dlmcommon.h | 14 + fs/ocfs2/dlm/dlmdebug.c | 6 + fs/ocfs2/dlm/dlmdomain.c | 94 ++- fs/ocfs2/dlm/dlmmaster.c | 255 ++---- fs/ocfs2/dlm/dlmrecovery.c | 1 + fs/ocfs2/dlmfs/dlmfs.c | 2 +- fs/ocfs2/file.c | 1 + fs/ocfs2/ioctl.c | 492 +++++++++++- fs/ocfs2/move_extents.c | 1153 ++++++++++++++++++++++++++ fs/ocfs2/move_extents.h | 22 + fs/ocfs2/ocfs2_ioctl.h | 68 ++ fs/ocfs2/ocfs2_trace.h | 25 + fs/ocfs2/refcounttree.c | 58 +- fs/ocfs2/refcounttree.h | 11 + fs/ocfs2/super.c | 2 +- 22 files changed, 2146 insertions(+), 262 deletions(-) rename Documentation/ABI/{obsolete => removed}/o2cb (65%) create mode 100644 fs/ocfs2/move_extents.c create mode 100644 fs/ocfs2/move_extents.h
Joel Becker
2011-May-27 09:52 UTC
[Ocfs2-devel] [GIT PULL] ocfs2 important fix for $next_version-rc1
Linus et al, Mea culpa. The online defrag code in the ocfs2 feature pull had a naked 64-bit divide that I missed in eyeballing and we all missed in testing. None of us managed to build the sucker on 32bit in the past two months. That's on me. Thank you to akpm for noticing. Also included is a bugfix in the defrag location guessing. I'd really like to get this in before -rc1 so that ocfs2 builds aren't broken there. Please pull. Mr Egg-on-his-face (Joel) The following changes since commit a74b81b0aff4a01e0816df5915c854fb52c5e87f: Merge branch 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2 (2011-05-26 10:55:15 -0700) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2.git linux-next Joel Becker (1): Merge branch 'move_extents' of git://oss.oracle.com/git/tye/linux-2.6 into ocfs2-merge-window Tristan Ye (2): Ocfs2/move_extents: Avoid doing division in extent moving. Ocfs2/move_extents: Validate moving goal after the adjustment. fs/ocfs2/move_extents.c | 41 ++++++++++++++++++++--------------------- 1 files changed, 20 insertions(+), 21 deletions(-) -- "Sometimes one pays most for the things one gets for nothing." - Albert Einstein http://www.jlbec.org/ jlbec at evilplan.org