- 27 5月, 2011 2 次提交
-
-
由 Tristan Ye 提交于
though the goal_to_be_moved will be validated again in following moving, it's still a good idea to validate it after adjustment at the very beginning, instead of validating it before adjustment. Signed-off-by: NTristan Ye <tristan.ye@oracle.com>
-
由 Tristan Ye 提交于
It's not wise enough to do a 64bits division anywhere in kernside, replace it with a decent helper or proper shifts. Signed-off-by: NTristan Ye <tristan.ye@oracle.com>
-
- 25 5月, 2011 38 次提交
-
-
由 Tristan Ye 提交于
The threshold should be greater than clustersize and less than i_size. Signed-off-by: NTristan Ye <tristan.ye@oracle.com>
-
由 Tristan Ye 提交于
We're going to support partial extent moving, which may split entire extent movement into pieces to compromise the insuffice allocations, it eases the 'ENSPC' pain and makes the whole moving much less likely to fail, the downside is it may make the fs even more fragmented before moving, just let the userspace make a trade-off here. Signed-off-by: NTristan Ye <tristan.ye@oracle.com>
-
由 Tristan Ye 提交于
the basic logic of moving extents for a file is pretty like punching-hole sequence, walk the extents within the range as user specified, calculating an appropriate len to defrag/move, then let ocfs2_defrag/move_extent() to do the actual moving. This func ends up setting 'OCFS2_MOVE_EXT_FL_COMPLETE' to userpace if operation gets done successfully. Signed-off-by: NTristan Ye <tristan.ye@oracle.com>
-
由 Tristan Ye 提交于
The helper is to calculate the defrag length in one run according to a threshold, it will proceed doing defragmentation until the threshold was meet, and skip a LARGE extent if any. Signed-off-by: NTristan Ye <tristan.ye@oracle.com>
-
由 Tristan Ye 提交于
ocfs2_move_extent() logic will validate the goal_offset_in_block, where extents to be moved, what's more, it also compromises a bit to probe the appropriate region around given goal_offset when the original goal is not able to fit the movement. Signed-off-by: NTristan Ye <tristan.ye@oracle.com>
-
由 Tristan Ye 提交于
These helpers were actually borrowed from alloc.c, which may be publicized later. Signed-off-by: NTristan Ye <tristan.ye@oracle.com>
-
由 Tristan Ye 提交于
Before doing the movement of extents, we'd better probe the alloc group from 'goal_blk' for searching a contiguous region to fit the wanted movement, we even will have a best-effort try by compromising to a threshold around the given goal. Signed-off-by: NTristan Ye <tristan.ye@oracle.com>
-
由 Tristan Ye 提交于
First best-effort attempt to validate and adjust the goal (physical address in block), while it can't guarantee later operation can succeed all the time since global_bitmap may change a bit over time. Signed-off-by: NTristan Ye <tristan.ye@oracle.com>
-
由 Tristan Ye 提交于
This function tries locate the right alloc group, where a given physical block resides, it returns the caller a buffer_head of victim group descriptor, and also the offset of block in this group, by passing the block number. Signed-off-by: NTristan Ye <tristan.ye@oracle.com>
-
由 Tristan Ye 提交于
It's a relatively complete function to accomplish defragmentation for entire or partial extent, one journal handle was kept during the operation, it was logically doing one more thing than ocfs2_move_extent() acutally, yes, it's claiming the new clusters itself;-) Signed-off-by: NTristan Ye <tristan.ye@oracle.com>
-
由 Tristan Ye 提交于
The moving range of __ocfs2_move_extent() was within one extent always, it consists following parts: 1. Duplicates the clusters in pages to new_blkoffset, where extent to be moved. 2. Split the original extent with new extent, coalecse the nearby extents if possible. 3. Append old clusters to truncate log, or decrease_refcount if the extent was refcounted. Signed-off-by: NTristan Ye <tristan.ye@oracle.com>
-
由 Tristan Ye 提交于
Ocfs2/move_extents: lock allocators and reserve metadata blocks and data clusters for extents moving. ocfs2_lock_allocators_move_extents() was like the common ocfs2_lock_allocators(), to lock metadata and data alloctors during extents moving, reserve appropriate metadata blocks and data clusters, also performa a best- effort to calculate the credits for journal transaction in one run of movement. Signed-off-by: NTristan Ye <tristan.ye@oracle.com>
-
由 Tristan Ye 提交于
Adding new files move_extents.[c|h] and fill it with nothing but only a context structure. Signed-off-by: NTristan Ye <tristan.ye@oracle.com>
-
由 Tristan Ye 提交于
Patch also manages to add a manipulative struture for this ioctl. Signed-off-by: NTristan Ye <tristan.ye@oracle.com>
-
由 Tristan Ye 提交于
The original goal of commonizing these funcs is to benefit defraging/extent_moving codes in the future, based on the fact that reflink and defragmentation having the same Copy-On-Wrtie mechanism. Signed-off-by: NTristan Ye <tristan.ye@oracle.com>
-
由 Tristan Ye 提交于
This new code is a bit more complicated than former ones, the goal is to show user all statistics required to take a deep insight into filesystem on how the disk is being fragmentaed. The goal is achieved by scaning global bitmap from (cluster)group to group to figure out following factors in the filesystem: - How many free chunks in a fixed size as user requested. - How many real free chunks in all size. - Min/Max/Avg size(in) clusters of free chunks. - How do free chunks distribute(in size) in terms of a histogram, just like following: --------------------------------------------------------- Extent Size Range : Free extents Free Clusters Percent 32K... 64K- : 1 1 0.00% 1M... 2M- : 9 288 0.03% 8M... 16M- : 2 831 0.09% 32M... 64M- : 1 2047 0.23% 128M... 256M- : 1 8191 0.92% 256M... 512M- : 2 21706 2.43% 512M... 1024M- : 27 858623 96.29% --------------------------------------------------------- Userspace ioctl() call eventually gets the above info returned by passing a 'struct ocfs2_info_freefrag' with the chunk_size being specified first. Signed-off-by: NTristan Ye <tristan.ye@oracle.com>
-
由 Tristan Ye 提交于
The new code is dedicated to calculate free inodes number of all inode_allocs, then return the info to userpace in terms of an array. Specially, flag 'OCFS2_INFO_FL_NON_COHERENT', manipulated by '--cluster-coherent' from userspace, is now going to be involved. setting the flag on means no cluster coherency considered, usually, userspace tools choose none-coherency strategy by default for the sake of performace. Signed-off-by: NTristan Ye <tristan.ye@oracle.com>
-
由 Tristan Ye 提交于
It just removes some macros for the sake of typechecking gains. Signed-off-by: NTristan Ye <tristan.ye@oracle.com>
-
git://git.fluff.org/bjdooks/linux由 Linus Torvalds 提交于
* 'for-linus/2640/i2c' of git://git.fluff.org/bjdooks/linux: (21 commits) mach-ux500: set proper I2C platform data from MOP500s i2c-nomadik: break out single messsage transmission i2c-nomadik: reset the hw after status check i2c-nomadik: remove the unnecessary delay i2c-nomadik: change the TX and RX threshold i2c-nomadik: add code to retry on timeout failure i2c-nomadik: use pm_runtime API i2c-nomadik: print abort cause only on abort tag i2c-nomadik: correct adapter timeout initialization i2c-nomadik: remove the redundant error message i2c-nomadik: corrrect returned error numbers i2c-nomadik: fix speed enumerator i2c-nomadik: make i2c timeout specific per i2c bus i2c-nomadik: add regulator support i2c: i2c-sh_mobile bus speed platform data V2 i2c: i2c-sh_mobile clock string removal i2c-eg20t: Support new device ML7223 IOH i2c: tegra: Add de-bounce cycles. i2c: tegra: fix repeated start handling i2c: tegra: recover from spurious interrupt storm ...
-
由 Ben Dooks 提交于
Merge branches 'for-2639/i2c-eg20t', 'for-2639/i2c-shmobile', 'for-2639/i2c-tegra' and 'for-2639/i2c-nomadik2' into for-linus/2640/i2c
-
由 Linus Walleij 提交于
This specifies the new per-platform timeout per I2C bus and switches the I2C buses to fast mode, and increase the FIFO depth to 8 for reads and writes. Signed-off-by: NLinus Walleij <linus.walleij@linaro.org> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Linus Walleij 提交于
Reduce code size in the message transfer function by factoring out a single-message transfer function. Signed-off-by: NLinus Walleij <linus.walleij@linaro.org> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Virupax Sadashivpetimath 提交于
In case of I2C timeout, reset the HW only after the HW status is read, otherwise the staus will be lost. Signed-off-by: NVirupax Sadashivpetimath <virupax.sadashivpetimath@stericsson.com> Reviewed-by: NJonas Aberg <jonas.aberg@stericsson.com> Reviewed-by: NSrinidhi Kasagar <srinidhi.kasagar@stericsson.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Virupax Sadashivpetimath 提交于
The delay in the driver seems to be not needed, so remove it. Signed-off-by: NVirupax Sadashivpetimath <virupax.sadashivpetimath@stericsson.com> Reviewed-by: NMarkus Grape <markus.grape@stericsson.com> Tested-by: NPer Persson <per.xb.persson@stericsson.com> Tested-by: NChethan Krishna N <chethan.krishna@stericsson.com> Reviewed-by: NSrinidhi Kasagar <srinidhi.kasagar@stericsson.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Virupax Sadashivpetimath 提交于
1) Increase RX FIFO threshold so that there is a reduction in the number of interrupts handled to complete a transaction. 2) Fill TX FIFO in the write function. Signed-off-by: NVirupax Sadashivpetimath <virupax.sadashivpetimath@stericsson.com> Reviewed-by: NJonas Aberg <jonas.aberg@stericsson.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Virupax Sadashivpetimath 提交于
It is seen that i2c-nomadik controller randomly stops generating the interrupts leading to a i2c timeout. As a workaround to this problem, add retries to the on going transfer on failure. Signed-off-by: NVirupax Sadashivpetimath <virupax.sadashivpetimath@stericsson.com> Reviewed-by: NJonas ABERG <jonas.aberg@stericsson.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Rabin Vincent 提交于
Use the pm_runtime API for pins control. Signed-off-by: NRabin Vincent <rabin.vincent@stericsson.com> Reviewed-by: NSrinidhi Kasagar <srinidhi.kasagar@stericsson.com> Reviewed-by: NJonas Aberg <jonas.aberg@stericsson.com> [deleted some surplus runtime PM code] Signed-off-by: NLinus Walleij <linus.walleij@linaro.org> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Virupax Sadashivpetimath 提交于
Modify the code to: 1)Print the cause of i2c failure only if the status is set to ABORT. 2)Print slave address on send/receive fail, will help in which slave failed. Signed-off-by: NVirupax Sadashivpetimath <virupax.sadashivpetimath@stericsson.com> Reviewed-by: NJonas Aberg <jonas.aberg@stericsson.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Virupax Sadashivpetimath 提交于
Correct the incorrect initialization of adapter timeout not to be in milliseconds, as it needs to be done in jiffies. Signed-off-by: NVirupax Sadashivpetimath <virupax.sadashivpetimath@stericsson.com> Reviewed-by: NSrinidhi Kasagar <srinidhi.kasagar@stericsson.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 srinidhi kasagar 提交于
The abort cause string itself is an error, so remove the redundant explicit error message. Signed-off-by: NSrinidhi Kasagar <srinidhi.kasagar@stericsson.com> Reviewed-by: NJonas Aberg <jonas.aberg@stericsson.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Virupax Sadashivpetimath 提交于
The code was returning bad error numbers or just -1 in some cases. Signed-off-by: NVirupax Sadashivpetimath <virupax.sadashivpetimath@stericsson.com> Reviewed-by: NSrinidhi Kasagar <srinidhi.kasagar@stericsson.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Linus Walleij 提交于
The I2C speed enumerators in the i2c-nomadik header file were in the wrong order. Signed-off-by: NLinus Walleij <linus.walleij@linaro.org> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Virupax Sadashivpetimath 提交于
Add option to have different i2c timeout delay for different i2c buses specified in platform data. Default to the old value unless specified. Signed-off-by: NVirupax Sadashivpetimath <virupax.sadashivpetimath@stericsson.com> Reviewed-by: NSrinidhi Kasagar <srinidhi.kasagar@stericsson.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
由 Jonas Aberg 提交于
This on-chip I2C controller needs to fetch the regulator representing its voltage domain so that it won't be switched off. Signed-off-by: NJonas Aberg <jonas.aberg@stericsson.com> Signed-off-by: NLinus Walleij <linus.walleij@linaro.org> Signed-off-by: NBen Dooks <ben-linux@fluff.org>
-
git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging由 Linus Torvalds 提交于
* 'i2c-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging: i2c-parport: Various cleanups i2c-i801: Don't depend on other kernel driver config options i2c-i801: Check for vendor Fujitsu before probing for apanel i2c-i801: Don't probe for slaves on IDF channels i2c-i801: SMBus patch for Intel Panther Point DeviceIDs i2c/writing-clients: Fix foo_driver.id_table
-
git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6由 Linus Torvalds 提交于
* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs-2.6: jbd: Fix comment to match the code in journal_start() jbd/jbd2: remove obsolete summarise_journal_usage. jbd: Fix forever sleeping process in do_get_write_access() ext2: fix error msg when mounting fs with too-large blocksize jbd: fix fsync() tid wraparound bug ext3: Fix fs corruption when make_indexed_dir() fails ext3: Fix lock inversion in ext3_symlink()
-
git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm由 Linus Torvalds 提交于
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm: dlm: make plock operation killable dlm: remove shared message stub for recovery dlm: delayed reply message warning dlm: Remove superfluous call to recalc_sigpending()
-
由 Linus Torvalds 提交于
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: (43 commits) TOMOYO: Fix wrong domainname validation. SELINUX: add /sys/fs/selinux mount point to put selinuxfs CRED: Fix load_flat_shared_library() to initialise bprm correctly SELinux: introduce path_has_perm flex_array: allow 0 length elements flex_arrays: allow zero length flex arrays flex_array: flex_array_prealloc takes a number of elements, not an end SELinux: pass last path component in may_create SELinux: put name based create rules in a hashtable SELinux: generic hashtab entry counter SELinux: calculate and print hashtab stats with a generic function SELinux: skip filename trans rules if ttype does not match parent dir SELinux: rename filename_compute_type argument to *type instead of *con SELinux: fix comment to state filename_compute_type takes an objname not a qstr SMACK: smack_file_lock can use the struct path LSM: separate LSM_AUDIT_DATA_DENTRY from LSM_AUDIT_DATA_PATH LSM: split LSM_AUDIT_DATA_FS into _PATH and _INODE SELINUX: Make selinux cache VFS RCU walks safe SECURITY: Move exec_permission RCU checks into security modules SELinux: security_read_policy should take a size_t not ssize_t ...
-