{"push_id":864620682,"size":189,"distinct_size":35,"ref":"refs/heads/linux-master","head":"f6d07dfcb15aad199d7351d3122eabd506968daf","before":"8d3de01cfa37bfcf54f1d84eafb7db8530b74199","commits":[{"sha":"bb230c124730f21eea13deab433f9f8fc96bd5f3","author":{"email":"593293f0f80e822a6620d69dd4cf1e0b87a432b3@redhat.com","name":"Bill O'Donnell"},"message":"xfs: create global stats and stats_clear in sysfs\n\nCurrently, xfs global stats are in procfs. This patch introduces\n(replicates) the global stats in sysfs. Additionally a stats_clear file\nis introduced in sysfs.\n\nSigned-off-by: Bill O'Donnell <billodo@redhat.com>\nReviewed-by: Eric Sandeen <sandeen@redhat.com>\nSigned-off-by: Dave Chinner <david@fromorbit.com>","distinct":false,"url":"https://api.github.com/repos/RobertCNelson/ti-linux-kernel/commits/bb230c124730f21eea13deab433f9f8fc96bd5f3"},{"sha":"32f0ea05219e5212cafcbeaa255e627314f87e7e","author":{"email":"593293f0f80e822a6620d69dd4cf1e0b87a432b3@redhat.com","name":"Bill O'Donnell"},"message":"xfs: create symlink proc/fs/xfs/stat to sys/fs/xfs/stats\n\nAs a part of the work to move xfs global stats from procfs to sysfs,\nthis patch creates the symlink from proc/fs/xfs/stat to sys/fs/xfs/stats.\n\nSigned-off-by: Bill O'Donnell <billodo@redhat.com>\nReviewed-by: Eric Sandeen <sandeen@redhat.com>\nSigned-off-by: Dave Chinner <david@fromorbit.com>","distinct":false,"url":"https://api.github.com/repos/RobertCNelson/ti-linux-kernel/commits/32f0ea05219e5212cafcbeaa255e627314f87e7e"},{"sha":"50cf5b7402633265fe11430fd63af82c401fad46","author":{"email":"593293f0f80e822a6620d69dd4cf1e0b87a432b3@redhat.com","name":"Bill O'Donnell"},"message":"xfs: remove unused procfs code\n\nAs a part of the work to move xfs global stats from procfs to sysfs,\nthis patch removes the now unused procfs code that was xfs stat specific.\n\nSigned-off-by: Bill O'Donnell <billodo@redhat.com>\nReviewed-by: Eric Sandeen <sandeen@redhat.com>\nSigned-off-by: Dave Chinner <david@fromorbit.com>","distinct":false,"url":"https://api.github.com/repos/RobertCNelson/ti-linux-kernel/commits/50cf5b7402633265fe11430fd63af82c401fad46"},{"sha":"a27c264009cb236dc209875043a0c237af46a1af","author":{"email":"593293f0f80e822a6620d69dd4cf1e0b87a432b3@redhat.com","name":"Bill O'Donnell"},"message":"xfs: consolidate sysfs ops\n\nAs a part of the series to move xfs global stats from procfs to sysfs,\nthis patch consolidates the sysfs ops functions and removes redundancy.\n\nSigned-off-by: Bill O'Donnell <billodo@redhat.com>\nReviewed-by: Eric Sandeen <sandeen@redhat.com>\nSigned-off-by: Dave Chinner <david@fromorbit.com>","distinct":false,"url":"https://api.github.com/repos/RobertCNelson/ti-linux-kernel/commits/a27c264009cb236dc209875043a0c237af46a1af"},{"sha":"80529c45ab66188a0b3814ba31409b31f5fcb53d","author":{"email":"593293f0f80e822a6620d69dd4cf1e0b87a432b3@redhat.com","name":"Bill O'Donnell"},"message":"xfs: pass xfsstats structures to handlers and macros\n\nThis patch is the next step toward per-fs xfs stats. The patch makes\nthe show and clear routines able to handle any stats structure\nassociated with a kobject.\n\nInstead of a single global xfsstats structure, add kobject and a pointer\nto a per-cpu struct xfsstats. Modify the macros that manipulate the stats\naccordingly: XFS_STATS_INC, XFS_STATS_DEC, and XFS_STATS_ADD now access\nxfsstats->xs_stats.\n\nThe sysfs functions need to get from the kobject back to the xfsstats\nstructure which contains it, and pass the pointer to the ->xs_stats\npercpu structure into the show & clear routines.\n\nSigned-off-by: Bill O'Donnell <billodo@redhat.com>\nReviewed-by: Eric Sandeen <sandeen@redhat.com>\nSigned-off-by: Dave Chinner <david@fromorbit.com>","distinct":false,"url":"https://api.github.com/repos/RobertCNelson/ti-linux-kernel/commits/80529c45ab66188a0b3814ba31409b31f5fcb53d"},{"sha":"5cb13dcd0fac071b45c4bebe1801a08ff0d89cad","author":{"email":"53c9776423caefc096fa111ffb2cce5359356df6@huawei.com","name":"Zhaohongjiang"},"message":"cancel the setfilesize transation when io error happen\n\nWhen I ran xfstest/073 case, the remount process was blocked to wait\ntransactions to be zero. I found there was a io error happened, and\nthe setfilesize transaction was not released properly. We should add\nthe changes to cancel the io error in this case.\n\nReproduction steps:\n1. dd if=/dev/zero of=xfs1.img bs=1M count=2048\n2. mkfs.xfs xfs1.img\n3. losetup -f ./xfs1.img /dev/loop0\n4. mount -t xfs /dev/loop0 /home/test_dir/\n5. mkdir /home/test_dir/test\n6. mkfs.xfs -dfile,name=image,size=2g\n7. mount -t xfs -o loop image /home/test_dir/test\n8. cp a file bigger than 2g to /home/test_dir/test\n9. mount -t xfs -o remount,ro /home/test_dir/test\n\n[ dchinner: moved io error detection to xfs_setfilesize_ioend() after\n  transaction context restoration. ]\n\nSigned-off-by: Zhao Hongjiang <zhaohongjiang@huawei.com>\nSigned-off-by: Dave Chinner <david@fromorbit.com>","distinct":false,"url":"https://api.github.com/repos/RobertCNelson/ti-linux-kernel/commits/5cb13dcd0fac071b45c4bebe1801a08ff0d89cad"},{"sha":"009c6e871e98aa23bc2e58474c3d9feb05dd1ae6","author":{"email":"335646b5e374a776a6a2caca10969d6e3ec1cd2b@redhat.com","name":"Brian Foster"},"message":"xfs: add missing ilock around dio write last extent alignment\n\nThe iomap codepath (via get_blocks()) acquires and release the inode\nlock in the case of a direct write that requires block allocation. This\nis because xfs_iomap_write_direct() allocates a transaction, which means\nthe ilock must be dropped and reacquired after the transaction is\nallocated and reserved.\n\nxfs_iomap_write_direct() invokes xfs_iomap_eof_align_last_fsb() before\nthe transaction is created and thus before the ilock is reacquired. This\ncan lead to calls to xfs_iread_extents() and reads of the in-core extent\nlist without any synchronization (via xfs_bmap_eof() and\nxfs_bmap_last_extent()). xfs_iread_extents() assert fails if the ilock\nis not held, but this is not currently seen in practice as the current\ncallers had already invoked xfs_bmapi_read().\n\nWhat has been seen in practice are reports of crashes down in the\nxfs_bmap_eof() codepath on direct writes due to seemingly bogus pointer\nreferences from xfs_iext_get_ext(). While an explicit reproducer is not\ncurrently available to confirm the cause of the problem, crash analysis\nand code inspection from David Jeffrey had identified the insufficient\nlocking.\n\nxfs_iomap_eof_align_last_fsb() is called from other contexts with the\ninode lock already held, so we cannot acquire it therein.\n__xfs_get_blocks() acquires and drops the ilock with variable flags to\ncover the event that the extent list must be read in. The common case is\nthat __xfs_get_blocks() acquires the shared ilock. To provide locking\naround the last extent alignment call without adding more lock cycles to\nthe dio path, update xfs_iomap_write_direct() to expect the shared ilock\nheld on entry and do the extent alignment under its protection. Demote\nthe lock, if necessary, from __xfs_get_blocks() and push the\nxfs_qm_dqattach() call outside of the shared lock critical section.\nAlso, add an assert to document that the extent list is always expected\nto be present in this path. Otherwise, we risk a call to\nxfs_iread_extents() while under the shared ilock. This is safe as all\ncurrent callers have executed an xfs_bmapi_read() call under the current\niolock context.\n\nReported-by: David Jeffery <djeffery@redhat.com>\nSigned-off-by: Brian Foster <bfoster@redhat.com>\nReviewed-by: Dave Chinner <dchinner@redhat.com>\nSigned-off-by: Dave Chinner <david@fromorbit.com>","distinct":false,"url":"https://api.github.com/repos/RobertCNelson/ti-linux-kernel/commits/009c6e871e98aa23bc2e58474c3d9feb05dd1ae6"},{"sha":"b7cdc66be54b64daef593894d12ecc405f117829","author":{"email":"335646b5e374a776a6a2caca10969d6e3ec1cd2b@redhat.com","name":"Brian Foster"},"message":"xfs: log local to remote symlink conversions correctly on v5 supers\n\nA local format symlink inode is converted to extent format when an\nextended attribute is set on an inode as part of the attribute fork\ncreation. This means a block is allocated, the local symlink target name\nis copied to the block and the block is logged. Currently,\nxfs_bmap_local_to_extents() handles logging the remote block data based\non the size of the data fork prior to the conversion. This is not\ncorrect on v5 superblock filesystems, which add an additional header to\nremote symlink blocks that is nonexistent in local format inodes.\n\nAs a result, the full length of the remote symlink block content is not\nlogged. This can lead to corruption should a crash occur and log\nrecovery replay this transaction.\n\nSince a callout is already used to initialize the new remote symlink\nblock, update the local-to-extents conversion mechanism to make the\ncallout also responsible for logging the block. It is already required\nto set the log buffer type and format the block appropriately based on\nthe superblock version. This ensures the remote symlink is always logged\ncorrectly. Note that xfs_bmap_local_to_extents() is only called for\nsymlinks so there are no other callouts that require modification.\n\nSigned-off-by: Brian Foster <bfoster@redhat.com>\nReviewed-by: Dave Chinner <dchinner@redhat.com>\nSigned-off-by: Dave Chinner <david@fromorbit.com>","distinct":false,"url":"https://api.github.com/repos/RobertCNelson/ti-linux-kernel/commits/b7cdc66be54b64daef593894d12ecc405f117829"},{"sha":"5bf97b1cb430a3a6da4341ae913299706ebc52f5","author":{"email":"3d00b54ad717112934d0b63b7ac2975b44022a61@I-love.SAKURA.ne.jp","name":"Tetsuo Handa"},"message":"xfs: Print name and pid when memory allocation loops\n\nThis patch adds comm name and pid to warning messages printed by\nkmem_alloc(), kmem_zone_alloc() and xfs_buf_allocate_memory().\nThis will help telling which memory allocations (e.g. kernel worker\nthreads, OOM victim tasks, neither) are stalling because these functions\nare passing __GFP_NOWARN which suppresses not only backtrace but comm name\nand pid.\n\nSigned-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>\nReviewed-by: Dave Chinner <dchinner@redhat.com>\nSigned-off-by: Dave Chinner <david@fromorbit.com>","distinct":false,"url":"https://api.github.com/repos/RobertCNelson/ti-linux-kernel/commits/5bf97b1cb430a3a6da4341ae913299706ebc52f5"},{"sha":"a45086e27dfa21a4b39134f7505c8f60a3ecdec4","author":{"email":"335646b5e374a776a6a2caca10969d6e3ec1cd2b@redhat.com","name":"Brian Foster"},"message":"xfs: validate metadata LSNs against log on v5 superblocks\n\nSince the onset of v5 superblocks, the LSN of the last modification has\nbeen included in a variety of on-disk data structures. This LSN is used\nto provide log recovery ordering guarantees (e.g., to ensure an older\nlog recovery item is not replayed over a newer target data structure).\n\nWhile this works correctly from the point a filesystem is formatted and\nmounted, userspace tools have some problematic behaviors that defeat\nthis mechanism. For example, xfs_repair historically zeroes out the log\nunconditionally (regardless of whether corruption is detected). If this\noccurs, the LSN of the filesystem is reset and the log is now in a\nproblematic state with respect to on-disk metadata structures that might\nhave a larger LSN. Until either the log catches up to the highest\npreviously used metadata LSN or each affected data structure is modified\nand written out without incident (which resets the metadata LSN), log\nrecovery is susceptible to filesystem corruption.\n\nThis problem is ultimately addressed and repaired in the associated\nuserspace tools. The kernel is still responsible to detect the problem\nand notify the user that something is wrong. Check the superblock LSN at\nmount time and fail the mount if it is invalid. From that point on,\ntrigger verifier failure on any metadata I/O where an invalid LSN is\ndetected. This results in a filesystem shutdown and guarantees that we\ndo not log metadata changes with invalid LSNs on disk. Since this is a\nknown issue with a known recovery path, present a warning to instruct\nthe user how to recover.\n\nSigned-off-by: Brian Foster <bfoster@redhat.com>\nReviewed-by: Dave Chinner <dchinner@redhat.com>\nSigned-off-by: Dave Chinner <david@fromorbit.com>","distinct":false,"url":"https://api.github.com/repos/RobertCNelson/ti-linux-kernel/commits/a45086e27dfa21a4b39134f7505c8f60a3ecdec4"},{"sha":"3136e8bb3054d3bb68942f8f1ee6c26c05f798b0","author":{"email":"335646b5e374a776a6a2caca10969d6e3ec1cd2b@redhat.com","name":"Brian Foster"},"message":"xfs: always drain dio before extending aio write submission\n\nXFS supports and typically allows concurrent asynchronous direct I/O\nsubmission to a single file. One exception to the rule is that file\nextending dio writes that start beyond the current EOF (e.g.,\npotentially create a hole at EOF) require exclusive I/O access to the\nfile. This is because such writes must zero any pre-existing blocks\nbeyond EOF that are exposed by virtue of now residing within EOF as a\nresult of the write about to be submitted.\n\nBefore EOF zeroing can occur, the current file i_size must be stabilized\nto avoid data corruption. In this scenario, XFS upgrades the iolock to\nexclude any further I/O submission, waits on in-flight I/O to complete\nto ensure i_size is up to date (i_size is updated on dio write\ncompletion) and restarts the various checks against the state of the\nfile. The problem is that this protection sequence is triggered only\nwhen the iolock is currently held shared. While this is true for async\ndio in most cases, the caller may upgrade the lock in advance based on\narbitrary circumstances with respect to EOF zeroing. For example, the\niolock is always acquired exclusively if the start offset is not block\naligned. This means that even though the iolock is already held\nexclusive for such I/Os, pending I/O is not drained and thus EOF zeroing\ncan occur based on an unstable i_size.\n\nThis problem has been reproduced as guest data corruption in virtual\nmachines with file-backed qcow2 virtual disks hosted on an XFS\nfilesystem. The virtual disks must be configured with aio=native mode\nand the must not be truncated out to the maximum file size (as some virt\nmanagers will do).\n\nUpdate xfs_file_aio_write_checks() to unconditionally drain in-flight\ndio before EOF zeroing can occur. Rather than trigger the wait based on\niolock state, use a new flag and upgrade the iolock when necessary. Note\nthat this results in a full restart of the inode checks even when the\niolock was already held exclusive when technically it is only required\nto recheck i_size. This should be a rare enough occurrence that it is\npreferable to keep the code simple rather than create an alternate\nrestart jump target.\n\nSigned-off-by: Brian Foster <bfoster@redhat.com>\nReviewed-by: Eric Sandeen <sandeen@redhat.com>\nSigned-off-by: Dave Chinner <david@fromorbit.com>","distinct":false,"url":"https://api.github.com/repos/RobertCNelson/ti-linux-kernel/commits/3136e8bb3054d3bb68942f8f1ee6c26c05f798b0"},{"sha":"0a50f162af6ddc2db02c9edc5bbb823c336100a4","author":{"email":"335646b5e374a776a6a2caca10969d6e3ec1cd2b@redhat.com","name":"Brian Foster"},"message":"xfs: add an xfs_zero_eof() tracepoint\n\nAdd a tracepoint in xfs_zero_eof() to facilitate tracking and debugging\nEOF zeroing events. This has proven useful in the context of other\ndirect I/O tracepoints to ensure EOF zeroing occurs within appropriate\nfile ranges.\n\nSigned-off-by: Brian Foster <bfoster@redhat.com>\nReviewed-by: Dave Chinner <dchinner@redhat.com>\nSigned-off-by: Dave Chinner <david@fromorbit.com>","distinct":false,"url":"https://api.github.com/repos/RobertCNelson/ti-linux-kernel/commits/0a50f162af6ddc2db02c9edc5bbb823c336100a4"},{"sha":"fef4ded8cb2e53a47093b334e7730d55a3badc59","author":{"email":"d12999005f6151b9468b6f2bd6d86bf9f7b59e02@163.com","name":"Geliang Tang"},"message":"libxfs: fix two comment typos\n\nJust fix two typos in code comments.\n\nSigned-off-by: Geliang Tang <geliangtang@163.com>\nReviewed-by: Dave Chinner <dchinner@redhat.com>\nSigned-off-by: Dave Chinner <david@fromorbit.com>","distinct":false,"url":"https://api.github.com/repos/RobertCNelson/ti-linux-kernel/commits/fef4ded8cb2e53a47093b334e7730d55a3badc59"},{"sha":"4e247614a92852e8eb29e49be094b6b981a7895f","author":{"email":"7e90cadd8915494d0aed84a7fc7fc1eb4c4a9be3@redhat.com","name":"Jan Tulak"},"message":"xfs: prefix XATTR_LIST_MAX with XFS_\n\nRemove a hard dependency of Linux XATTR_LIST_MAX value by using\na prefixed version. This patch reflects the same change in xfsprogs.\n\nSigned-off-by: Jan Tulak <jtulak@redhat.com>\nReviewed-by: Dave Chinner <dchinner@redhat.com>\nSigned-off-by: Dave Chinner <david@fromorbit.com>","distinct":false,"url":"https://api.github.com/repos/RobertCNelson/ti-linux-kernel/commits/4e247614a92852e8eb29e49be094b6b981a7895f"},{"sha":"51fcbfe7092a18a138e28110df3ab7e666bf69ee","author":{"email":"7e90cadd8915494d0aed84a7fc7fc1eb4c4a9be3@redhat.com","name":"Jan Tulak"},"message":"xfs: avoid dependency on Linux XATTR_SIZE_MAX\n\nCurrently, we depends on Linux XATTR value for on disk\ndefinition. Which causes trouble on other platforms and\nmaybe also if this value was to change.\n\nFix it by creating a custom definition independent from\nthose in Linux (although with the same values), so it is OK\nwith the be16 fields used for holding these attributes.\n\nThis patch reflects a change in xfsprogs.\n\nSigned-off-by: Jan Tulak <jtulak@redhat.com>\nReviewed-by: Dave Chinner <dchinner@redhat.com>\nSigned-off-by: Dave Chinner <david@fromorbit.com>","distinct":false,"url":"https://api.github.com/repos/RobertCNelson/ti-linux-kernel/commits/51fcbfe7092a18a138e28110df3ab7e666bf69ee"},{"sha":"dbd5c8c9a28899c6ca719eb21afc0afba9dd5574","author":{"email":"335646b5e374a776a6a2caca10969d6e3ec1cd2b@redhat.com","name":"Brian Foster"},"message":"xfs: pass total block res. as total xfs_bmapi_write() parameter\n\nThe total field from struct xfs_alloc_arg is a bit of an unknown\ncommodity. It is documented as the total block requirement for the\ntransaction and is used in this manner from most call sites by virtue of\npassing the total block reservation of the transaction associated with\nan allocation. Several xfs_bmapi_write() callers pass hardcoded values\nof 0 or 1 for the total block requirement, which is a historical oddity\nwithout any clear reasoning.\n\nThe xfs_iomap_write_direct() caller, for example, passes 0 for the total\nblock requirement. This has been determined to cause problems in the\nform of ABBA deadlocks of AGF buffers due to incorrect AG selection in\nthe block allocator. Specifically, the xfs_alloc_space_available()\nfunction incorrectly selects an AG that doesn't actually have sufficient\nspace for the allocation. This occurs because the args.total field is 0\nand thus the remaining free space check on the AG doesn't actually\nconsider the size of the allocation request. This locks the AGF buffer,\nthe allocation attempt proceeds and ultimately fails (in\nxfs_alloc_fix_minleft()), and xfs_alloc_vexent() moves on to the next\nAG. In turn, this can lead to incorrect AG locking order (if the\nallocator wraps around, attempting to lock AG 0 after acquiring AG N)\nand thus deadlock if racing with another operation. This problem has\nbeen reproduced via generic/299 on smallish (1GB) ramdisk test devices.\n\nTo avoid this problem, replace the undocumented hardcoded total\nparameters from the iomap and utility callers to pass the block\nreservation used for the associated transaction. This is consistent with\nother xfs_bmapi_write() callers throughout XFS. The assumption is that\nthe total field allows the selection of an AG that can handle the entire\noperation rather than simply the allocation/range being requested (e.g.,\nresulting btree splits, etc.). This addresses the aforementioned\ngeneric/299 hang by ensuring AG selection only occurs when the\nallocation can be satisfied by the AG.\n\nReported-by: Ross Zwisler <ross.zwisler@linux.intel.com>\nSigned-off-by: Brian Foster <bfoster@redhat.com>\nReviewed-by: Dave Chinner <dchinner@redhat.com>\nSigned-off-by: Dave Chinner <david@fromorbit.com>","distinct":false,"url":"https://api.github.com/repos/RobertCNelson/ti-linux-kernel/commits/dbd5c8c9a28899c6ca719eb21afc0afba9dd5574"},{"sha":"91f9f5fe1e7350e872b3fbc3194e8183bddce514","author":{"email":"d55521028c14e0f378be5444e4ea388161c0d7e7@redhat.com","name":"Eric Sandeen"},"message":"xfs: avoid null *src in memcpy call in xlog_write\n\nThe gcc undefined behavior sanitizer caught this; surely\nany sane memcpy implementation will no-op if size == 0,\nbut behavior with a *src of NULL is technically undefined\n(declared nonnull), so avoid it here.\n\nWe are actually in this situation frequently via\nxlog_commit_record(), because:\n\n        struct xfs_log_iovec reg = {\n                .i_addr = NULL,\n                .i_len = 0,\n                .i_type = XLOG_REG_TYPE_COMMIT,\n        };\n\nReported-by: Eric Sandeen <sandeen@redhat.com>\nSigned-off-by: Dave Chinner <dchinner@redhat.com>\nReviewed-by: Eric Sandeen <sandeen@redhat.com>\nSigned-off-by: Dave Chinner <david@fromorbit.com>","distinct":false,"url":"https://api.github.com/repos/RobertCNelson/ti-linux-kernel/commits/91f9f5fe1e7350e872b3fbc3194e8183bddce514"},{"sha":"847f9f6875fb02b576035e3dc31f5e647b7617a7","author":{"email":"d55521028c14e0f378be5444e4ea388161c0d7e7@redhat.com","name":"Eric Sandeen"},"message":"xfs: more info from kmem deadlocks and high-level error msgs\n\nIn an effort to get more useful out of \"possible memory\nallocation deadlock\" messages, print the size of the\nrequested allocation, and dump the stack if the xfs error\nlevel is tuned high.\n\nThe stack dump is implemented in define_xfs_printk_level()\nfor error levels >= LOGLEVEL_ERR, partly because it\nseems generically useful, and also because kmem.c has\nno knowledge of xfs error level tunables or other such bits,\nit's very kmem-specific.\n\nSigned-off-by: Eric Sandeen <sandeen@redhat.com>\nReviewed-by: Dave Chinner <dchinner@redhat.com>\nSigned-off-by: Dave Chinner <david@fromorbit.com>","distinct":false,"url":"https://api.github.com/repos/RobertCNelson/ti-linux-kernel/commits/847f9f6875fb02b576035e3dc31f5e647b7617a7"},{"sha":"225e4635580ce9fb12f8a2dc88473161cd64dbf6","author":{"email":"593293f0f80e822a6620d69dd4cf1e0b87a432b3@redhat.com","name":"Bill O'Donnell"},"message":"xfs: per-filesystem stats in sysfs\n\nThis patch implements per-filesystem stats objects in sysfs. It\ndepends on the application of the previous patch series that\ndevelops the infrastructure to support both xfs global stats and\nxfs per-fs stats in sysfs.\n\nStats objects are instantiated when an xfs filesystem is mounted\nand deleted on unmount. With this patch, the stats directory is\ncreated and populated with the familiar stats and stats_clear files.\nExample:\n        /sys/fs/xfs/sda9/stats/stats\n        /sys/fs/xfs/sda9/stats/stats_clear\n\nWith this patch, the individual counts within the new per-fs\nstats file(s) remain at zero. Functions that use the the macros\nto increment, decrement, and add-to the per-fs stats counts will\nbe covered in a separate new patch to follow this one. Note that\nthe counts within the global stats file (/sys/fs/xfs/stats/stats)\nadvance normally and can be cleared as it was prior to this patch.\n\n[dchinner: move setup/teardown to xfs_fs_{fill|put}_super() so\nit is down before/after any path that uses the per-mount stats. ]\n\nSigned-off-by: Bill O'Donnell <billodo@redhat.com>\nReviewed-by: Eric Sandeen <sandeen@redhat.com>\nSigned-off-by: Dave Chinner <david@fromorbit.com>","distinct":false,"url":"https://api.github.com/repos/RobertCNelson/ti-linux-kernel/commits/225e4635580ce9fb12f8a2dc88473161cd64dbf6"},{"sha":"ff6d6af2351caea7db681f4539d0d893e400557a","author":{"email":"593293f0f80e822a6620d69dd4cf1e0b87a432b3@redhat.com","name":"Bill O'Donnell"},"message":"xfs: per-filesystem stats counter implementation\n\nThis patch modifies the stats counting macros and the callers\nto those macros to properly increment, decrement, and add-to\nthe xfs stats counts. The counts for global and per-fs stats\nare correctly advanced, and cleared by writing a \"1\" to the\ncorresponding clear file.\n\nglobal counts: /sys/fs/xfs/stats/stats\nper-fs counts: /sys/fs/xfs/sda*/stats/stats\n\nglobal clear:  /sys/fs/xfs/stats/stats_clear\nper-fs clear:  /sys/fs/xfs/sda*/stats/stats_clear\n\n[dchinner: cleaned up macro variables, removed CONFIG_FS_PROC around\n stats structures and macros. ]\n\nSigned-off-by: Bill O'Donnell <billodo@redhat.com>\nReviewed-by: Eric Sandeen <sandeen@redhat.com>\nSigned-off-by: Dave Chinner <david@fromorbit.com>","distinct":false,"url":"https://api.github.com/repos/RobertCNelson/ti-linux-kernel/commits/ff6d6af2351caea7db681f4539d0d893e400557a"}]}