<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in server.c</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>8fa7292f - treewide: Switch/rename to timer_delete[_sync]()</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/fs/afs/server.c#8fa7292f</link>
        <description>treewide: Switch/rename to timer_delete[_sync]()timer_delete[_sync]() replaces del_timer[_sync](). Convert the whole treeover and remove the historical wrapper inlines.Conversion was done with coccinelle plus manual fixups where necessary.Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;Signed-off-by: Ingo Molnar &lt;mingo@kernel.org&gt;

            List of files:
            /linux-6.15/fs/afs/server.c</description>
        <pubDate>Sat, 05 Apr 2025 08:17:26 +0000</pubDate>
        <dc:creator>Thomas Gleixner &lt;tglx@linutronix.de&gt;</dc:creator>
    </item>
<item>
        <title>e2c2cb8e - afs: Simplify cell record handling</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/fs/afs/server.c#e2c2cb8e</link>
        <description>afs: Simplify cell record handlingSimplify afs_cell record handling to avoid very occasional races that causemodule removal to hang (it waits for all cell records to be removed).There are two things that particularly contribute to the difficulty:firstly, the code tries to pass a ref on the cell to the cell&apos;s maintenancework item (which gets awkward if the work item is already queued); and,secondly, there&apos;s an overall cell manager that tries to use just one timerfor the entire cell collection (to avoid having loads of timers).  However,both of these are probably unnecessarily restrictive.To simplify this, the following changes are made: (1) The cell record collection manager is removed.  Each cell record     manages itself individually. (2) Each afs_cell is given a second work item (cell-&gt;destroyer) that is     queued when its refcount reaches zero.  This is not done in the     context of the putting thread as it might be in an inconvenient place     to sleep. (3) Each afs_cell is given its own timer.  The timer is used to expire the     cell record after a period of unuse if not otherwise pinned and can     also be used for other maintenance tasks if necessary (of which there     are currently none as DNS refresh is triggered by filesystem     operations). (4) The afs_cell manager work item (cell-&gt;manager) is no longer given a     ref on the cell when queued; rather, the manager must be deleted.     This does away with the need to deal with the consequences of losing a     race to queue cell-&gt;manager.  Clean up of extra queuing is deferred to     the destroyer. (5) The cell destroyer work item makes sure the cell timer is removed and     that the normal cell work is cancelled before farming the actual     destruction off to RCU. (6) When a network namespace is destroyed or the kafs module is unloaded,     it&apos;s now a simple matter of marking the namespace as dead then just     waking up all the cell work items.  They will then remove and destroy     themselves once all remaining activity counts and/or a ref counts are     dropped.  This makes sure that all server records are dropped first. (7) The cell record state set is reduced to just four states: SETTING_UP,     ACTIVE, REMOVING and DEAD.  The record persists in the active state     even when it&apos;s not being used until the time comes to remove it rather     than downgrading it to an inactive state from whence it can be     restored.     This means that the cell still appears in /proc and /afs when not in     use until it switches to the REMOVING state - at which point it is     removed.     Note that the REMOVING state is included so that someone wanting to     resurrect the cell record is forced to wait whilst the cell is torn     down in that state.  Once it&apos;s in the DEAD state, it has been removed     from net-&gt;cells tree and is no longer findable and can be replaced.Signed-off-by: David Howells &lt;dhowells@redhat.com&gt;cc: Marc Dionne &lt;marc.dionne@auristor.com&gt;cc: linux-afs@lists.infradead.orgcc: linux-fsdevel@vger.kernel.orgLink: https://lore.kernel.org/r/20250224234154.2014840-16-dhowells@redhat.com/ # v1Link: https://lore.kernel.org/r/20250310094206.801057-12-dhowells@redhat.com/ # v4

            List of files:
            /linux-6.15/fs/afs/server.c</description>
        <pubDate>Mon, 24 Feb 2025 16:06:03 +0000</pubDate>
        <dc:creator>David Howells &lt;dhowells@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>4882ba78 - afs: Fix afs_server ref accounting</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/fs/afs/server.c#4882ba78</link>
        <description>afs: Fix afs_server ref accountingThe current way that afs_server refs are accounted and cleaned up sometimescause rmmod to hang when it is waiting for cell records to be removed.  Theproblem is that the cell cleanup might occasionally happen before theserver cleanup and then there&apos;s nothing that causes the cell togarbage-collect the remaining servers as they become inactive.Partially fix this by: (1) Give each afs_server record its own management timer that rather than     relying on the cell manager&apos;s central timer to drive each individual     cell&apos;s maintenance work item to garbage collect servers.     This timer is set when afs_unuse_server() reduces a server&apos;s activity     count to zero and will schedule the server&apos;s destroyer work item upon     firing. (2) Give each afs_server record its own destroyer work item that removes     the record from the cell&apos;s database, shuts down the timer, cancels any     pending work for itself, sends an RPC to the server to cancel     outstanding callbacks.     This change, in combination with the timer, obviates the need to try     and coordinate so closely between the cell record and a bunch of other     server records to try and tear everything down in a coordinated     fashion.  With this, the cell record is pinned until the server RCU is     complete and namespace/module removal will wait until all the cell     records are removed. (3) Now that incoming calls are mapped to servers (and thus cells) using     data attached to an rxrpc_peer, the UUID-to-server mapping tree is     moved from the namespace to the cell (cell-&gt;fs_servers).  This means     there can no longer be duplicates therein - and that allows the     mapping tree to be simpler as there doesn&apos;t need to be a chain of     same-UUID servers that are in different cells. (4) The lock protecting the UUID mapping tree is switched to an     rw_semaphore on the cell rather than a seqlock on the namespace as     it&apos;s now only used during mounting in contexts in which we&apos;re allowed     to sleep. (5) When it comes time for a cell that is being removed to purge its set     of servers, it just needs to iterate over them and wake them up.  Once     a server becomes inactive, its destroyer work item will observe the     state of the cell and immediately remove that record. (6) When a server record is removed, it is marked AFS_SERVER_FL_EXPIRED to     prevent reattempts at removal.  The record will be dispatched to RCU     for destruction once its refcount reaches 0. (7) The AFS_SERVER_FL_UNCREATED/CREATING flags are used to synchronise     simultaneous creation attempts.  If one attempt fails, it will abandon     the attempt and allow another to try again.     Note that the record can&apos;t just be abandoned when dead as it&apos;s bound     into a server list attached to a volume and only subject to     replacement if the server list obtained for the volume from the VLDB     changes.Signed-off-by: David Howells &lt;dhowells@redhat.com&gt;cc: Marc Dionne &lt;marc.dionne@auristor.com&gt;cc: linux-afs@lists.infradead.orgcc: linux-fsdevel@vger.kernel.orgLink: https://lore.kernel.org/r/20250224234154.2014840-15-dhowells@redhat.com/ # v1Link: https://lore.kernel.org/r/20250310094206.801057-11-dhowells@redhat.com/ # v4

            List of files:
            /linux-6.15/fs/afs/server.c</description>
        <pubDate>Mon, 24 Feb 2025 16:51:36 +0000</pubDate>
        <dc:creator>David Howells &lt;dhowells@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>40e8b52f - afs: Use the per-peer app data provided by rxrpc</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/fs/afs/server.c#40e8b52f</link>
        <description>afs: Use the per-peer app data provided by rxrpcMake use of the per-peer application data that rxrpc now allows theapplication to store on the rxrpc_peer struct to hold a back pointer to theafs_server record that peer represents an endpoint for.Then, when a call comes in to the AFS cache manager, this can be used tomap it to the correct server record rather than having to use aUUID-to-server mapping table and having to do an additional lookup.Signed-off-by: David Howells &lt;dhowells@redhat.com&gt;cc: Marc Dionne &lt;marc.dionne@auristor.com&gt;cc: linux-afs@lists.infradead.orgcc: linux-fsdevel@vger.kernel.orgLink: https://lore.kernel.org/r/20250224234154.2014840-14-dhowells@redhat.com/ # v1Link: https://lore.kernel.org/r/20250310094206.801057-10-dhowells@redhat.com/ # v4

            List of files:
            /linux-6.15/fs/afs/server.c</description>
        <pubDate>Thu, 23 Jan 2025 11:01:55 +0000</pubDate>
        <dc:creator>David Howells &lt;dhowells@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>76daa300 - afs: Improve server refcount/active count tracing</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/fs/afs/server.c#76daa300</link>
        <description>afs: Improve server refcount/active count tracingImprove server refcount/active count tracing to distinguish between simplygetting/putting a ref and using/unusing the server record (which changesthe activity count as well as the refcount).  This makes it a bit easier towork out what&apos;s going on.Signed-off-by: David Howells &lt;dhowells@redhat.com&gt;cc: Marc Dionne &lt;marc.dionne@auristor.com&gt;cc: linux-afs@lists.infradead.orgcc: linux-fsdevel@vger.kernel.orgLink: https://lore.kernel.org/r/20250224234154.2014840-10-dhowells@redhat.com/ # v1Link: https://lore.kernel.org/r/20250310094206.801057-6-dhowells@redhat.com/ # v4

            List of files:
            /linux-6.15/fs/afs/server.c</description>
        <pubDate>Fri, 14 Feb 2025 10:16:21 +0000</pubDate>
        <dc:creator>David Howells &lt;dhowells@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>1f0fc337 - afs: Give an afs_server object a ref on the afs_cell object it points to</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/fs/afs/server.c#1f0fc337</link>
        <description>afs: Give an afs_server object a ref on the afs_cell object it points toGive an afs_server object a ref on the afs_cell object it points to so thatthe cell doesn&apos;t get deleted before the server record.Whilst this is circular (cell -&gt; vol -&gt; server_list -&gt; server -&gt; cell), theref only pins the memory, not the lifetime as that&apos;s controlled by theactivity counter.  When the volume&apos;s activity counter reaches 0, itdetaches from the cell and discards its server list; when a cell&apos;s activitycounter reaches 0, it discards its root volume.  At that point, thecircularity is cut.Fixes: d2ddc776a458 (&quot;afs: Overhaul volume and server record caching and fileserver rotation&quot;)Signed-off-by: David Howells &lt;dhowells@redhat.com&gt;cc: Marc Dionne &lt;marc.dionne@auristor.com&gt;cc: Simon Horman &lt;horms@kernel.org&gt;cc: linux-afs@lists.infradead.orgLink: https://patch.msgid.link/20250218192250.296870-6-dhowells@redhat.comSigned-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;

            List of files:
            /linux-6.15/fs/afs/server.c</description>
        <pubDate>Tue, 18 Feb 2025 19:22:48 +0000</pubDate>
        <dc:creator>David Howells &lt;dhowells@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>bfacaf71 - afs: Fix ignored callbacks over ipv4</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/fs/afs/server.c#bfacaf71</link>
        <description>afs: Fix ignored callbacks over ipv4When searching for a matching peer, all addresses need to be searched,not just the ipv6 ones in the fs_addresses6 list.Given that the lists no longer contain addresses, there is littlereason to splitting things between separate lists, so unify theminto a single list.When processing an incoming callback from an ipv4 address, this wouldlead to a failure to set call-&gt;server, resulting in the callback beingignored and the client seeing stale contents.Fixes: 72904d7b9bfb (&quot;rxrpc, afs: Allow afs to pin rxrpc_peer objects&quot;)Reported-by: Markus Suvanto &lt;markus.suvanto@gmail.com&gt;Link: https://lists.infradead.org/pipermail/linux-afs/2024-February/008035.htmlSigned-off-by: Marc Dionne &lt;marc.dionne@auristor.com&gt;Signed-off-by: David Howells &lt;dhowells@redhat.com&gt;Link: https://lists.infradead.org/pipermail/linux-afs/2024-February/008037.html # v1Link: https://lists.infradead.org/pipermail/linux-afs/2024-February/008066.html # v2Link: https://lore.kernel.org/r/20240219143906.138346-2-dhowells@redhat.comSigned-off-by: Christian Brauner &lt;brauner@kernel.org&gt;

            List of files:
            /linux-6.15/fs/afs/server.c</description>
        <pubDate>Mon, 19 Feb 2024 14:39:02 +0000</pubDate>
        <dc:creator>Marc Dionne &lt;marc.dionne@auristor.com&gt;</dc:creator>
    </item>
<item>
        <title>32222f09 - afs: Apply server breaks to mmap&apos;d files in the call processor</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/fs/afs/server.c#32222f09</link>
        <description>afs: Apply server breaks to mmap&apos;d files in the call processorApply server breaks to mmap&apos;d files that are being used from that serverfrom the call processor work function rather than punting it off to aworkqueue.  The work item, afs_server_init_callback(), then bumps eachindividual inode off to its own work item introducing a potentially lengthydelay.  This reduces that delay at the cost of extending the amount of timewe delay replying to the CB.InitCallBack3 notification RPC from the server.Signed-off-by: David Howells &lt;dhowells@redhat.com&gt;cc: Marc Dionne &lt;marc.dionne@auristor.com&gt;cc: linux-afs@lists.infradead.org

            List of files:
            /linux-6.15/fs/afs/server.c</description>
        <pubDate>Tue, 07 Nov 2023 17:59:33 +0000</pubDate>
        <dc:creator>David Howells &lt;dhowells@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>ca0e79a4 - afs: Make it possible to find the volumes that are using a server</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/fs/afs/server.c#ca0e79a4</link>
        <description>afs: Make it possible to find the volumes that are using a serverMake it possible to find the afs_volume structs that are using anafs_server struct to aid in breaking volume callbacks.The way this is done is that each afs_volume already has an array ofafs_server_entry records that point to the servers where that volume mightbe found.  An afs_volume backpointer and a list node is added to each entryand each entry is then added to an RCU-traversable list on the afs_serverto which it points.Signed-off-by: David Howells &lt;dhowells@redhat.com&gt;cc: Marc Dionne &lt;marc.dionne@auristor.com&gt;cc: linux-afs@lists.infradead.org

            List of files:
            /linux-6.15/fs/afs/server.c</description>
        <pubDate>Thu, 02 Nov 2023 16:08:43 +0000</pubDate>
        <dc:creator>David Howells &lt;dhowells@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>f49b594d - afs: Keep a record of the current fileserver endpoint state</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/fs/afs/server.c#f49b594d</link>
        <description>afs: Keep a record of the current fileserver endpoint stateKeep a record of the current fileserver endpoint state, including the probestate, and replace it when a new probe is started rather than justsquelching the old state and overwriting it.  Clearance of the old statecan cause a race if there&apos;s another thread also currently trying tocommunicate with that server.It appears that this race might be the culprit for some occasions wherekafs complains about invalid data in the RPC reply because the rotationalgorithm fell all the way through without actually issuing an RPC call andthe error return got filled in from the probe state (which has a zero errorrecorded).  Whatever happens to be in the caller&apos;s reply buffer is thentaken as the response.Signed-off-by: David Howells &lt;dhowells@redhat.com&gt;cc: Marc Dionne &lt;marc.dionne@auristor.com&gt;cc: linux-afs@lists.infradead.org

            List of files:
            /linux-6.15/fs/afs/server.c</description>
        <pubDate>Tue, 31 Oct 2023 16:30:37 +0000</pubDate>
        <dc:creator>David Howells &lt;dhowells@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>98f9fda2 - afs: Fold the afs_addr_cursor struct in</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/fs/afs/server.c#98f9fda2</link>
        <description>afs: Fold the afs_addr_cursor struct inFold the afs_addr_cursor struct into the afs_operation struct and theafs_vl_cursor struct and fold its operations into their callers also.Signed-off-by: David Howells &lt;dhowells@redhat.com&gt;cc: Marc Dionne &lt;marc.dionne@auristor.com&gt;cc: linux-afs@lists.infradead.org

            List of files:
            /linux-6.15/fs/afs/server.c</description>
        <pubDate>Fri, 20 Oct 2023 15:13:03 +0000</pubDate>
        <dc:creator>David Howells &lt;dhowells@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>e38f299e - afs: Use peer + service_id as call address</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/fs/afs/server.c#e38f299e</link>
        <description>afs: Use peer + service_id as call addressUse the rxrpc_peer plus the service ID as the call address instead ofpassing in a sockaddr_srx down to rxrpc.  The peer record is obtained byusing rxrpc_kernel_get_peer().  This avoids the need to repeatedly look upthe peer and allows rxrpc to hold on to resources for it.Signed-off-by: David Howells &lt;dhowells@redhat.com&gt;cc: Marc Dionne &lt;marc.dionne@auristor.com&gt;cc: linux-afs@lists.infradead.org

            List of files:
            /linux-6.15/fs/afs/server.c</description>
        <pubDate>Thu, 26 Oct 2023 17:13:13 +0000</pubDate>
        <dc:creator>David Howells &lt;dhowells@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>1e5d8493 - afs: Add a tracepoint for struct afs_addr_list</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/fs/afs/server.c#1e5d8493</link>
        <description>afs: Add a tracepoint for struct afs_addr_listAdd a tracepoint to track the lifetime of the afs_addr_list struct.Signed-off-by: David Howells &lt;dhowells@redhat.com&gt;cc: Marc Dionne &lt;marc.dionne@auristor.com&gt;cc: linux-afs@lists.infradead.org

            List of files:
            /linux-6.15/fs/afs/server.c</description>
        <pubDate>Thu, 19 Oct 2023 12:59:03 +0000</pubDate>
        <dc:creator>David Howells &lt;dhowells@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>aa453bec - afs: Simplify error handling</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/fs/afs/server.c#aa453bec</link>
        <description>afs: Simplify error handlingSimplify error handling a bit by moving it from the afs_addr_cursor structto the afs_operation and afs_vl_cursor structs and using the errorprioritisation function for accumulating errors from multiple sources (AFStries to rotate between multiple fileservers, some of which may beinaccessible or in some state of offlinedness).Signed-off-by: David Howells &lt;dhowells@redhat.com&gt;cc: Marc Dionne &lt;marc.dionne@auristor.com&gt;cc: linux-afs@lists.infradead.org

            List of files:
            /linux-6.15/fs/afs/server.c</description>
        <pubDate>Wed, 25 Oct 2023 16:53:33 +0000</pubDate>
        <dc:creator>David Howells &lt;dhowells@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>2de5599f - afs: Wrap most op-&gt;error accesses with inline funcs</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/fs/afs/server.c#2de5599f</link>
        <description>afs: Wrap most op-&gt;error accesses with inline funcsWrap most op-&gt;error accesses with inline funcs which will make it easierfor a subsequent patch to replace op-&gt;error with something else.  Twofunctions are added to this end: (1) afs_op_error() - Get the error code. (2) afs_op_set_error() - Set the error code.Signed-off-by: David Howells &lt;dhowells@redhat.com&gt;cc: Marc Dionne &lt;marc.dionne@auristor.com&gt;cc: linux-afs@lists.infradead.org

            List of files:
            /linux-6.15/fs/afs/server.c</description>
        <pubDate>Thu, 26 Oct 2023 08:43:23 +0000</pubDate>
        <dc:creator>David Howells &lt;dhowells@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>72904d7b - rxrpc, afs: Allow afs to pin rxrpc_peer objects</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/fs/afs/server.c#72904d7b</link>
        <description>rxrpc, afs: Allow afs to pin rxrpc_peer objectsChange rxrpc&apos;s API such that: (1) A new function, rxrpc_kernel_lookup_peer(), is provided to look up an     rxrpc_peer record for a remote address and a corresponding function,     rxrpc_kernel_put_peer(), is provided to dispose of it again. (2) When setting up a call, the rxrpc_peer object used during a call is     now passed in rather than being set up by rxrpc_connect_call().  For     afs, this meenat passing it to rxrpc_kernel_begin_call() rather than     the full address (the service ID then has to be passed in as a     separate parameter). (3) A new function, rxrpc_kernel_remote_addr(), is added so that afs can     get a pointer to the transport address for display purposed, and     another, rxrpc_kernel_remote_srx(), to gain a pointer to the full     rxrpc address. (4) The function to retrieve the RTT from a call, rxrpc_kernel_get_srtt(),     is then altered to take a peer.  This now returns the RTT or -1 if     there are insufficient samples. (5) Rename rxrpc_kernel_get_peer() to rxrpc_kernel_call_get_peer(). (6) Provide a new function, rxrpc_kernel_get_peer(), to get a ref on a     peer the caller already has.This allows the afs filesystem to pin the rxrpc_peer records that it isusing, allowing faster lookups and pointer comparisons rather thancomparing sockaddr_rxrpc contents.  It also makes it easier to get hold ofthe RTT.  The following changes are made to afs: (1) The addr_list struct&apos;s addrs[] elements now hold a peer struct pointer     and a service ID rather than a sockaddr_rxrpc. (2) When displaying the transport address, rxrpc_kernel_remote_addr() is     used. (3) The port arg is removed from afs_alloc_addrlist() since it&apos;s always     overridden. (4) afs_merge_fs_addr4() and afs_merge_fs_addr6() do peer lookup and may     now return an error that must be handled. (5) afs_find_server() now takes a peer pointer to specify the address. (6) afs_find_server(), afs_compare_fs_alists() and afs_merge_fs_addr[46]{}     now do peer pointer comparison rather than address comparison.Signed-off-by: David Howells &lt;dhowells@redhat.com&gt;cc: Marc Dionne &lt;marc.dionne@auristor.com&gt;cc: linux-afs@lists.infradead.org

            List of files:
            /linux-6.15/fs/afs/server.c</description>
        <pubDate>Thu, 19 Oct 2023 11:55:11 +0000</pubDate>
        <dc:creator>David Howells &lt;dhowells@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>07f3502b - afs: Turn the afs_addr_list address array into an array of structs</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/fs/afs/server.c#07f3502b</link>
        <description>afs: Turn the afs_addr_list address array into an array of structsTurn the afs_addr_list address array into an array of structs, therebyallowing per-address (such as RTT) info to be added.Signed-off-by: David Howells &lt;dhowells@redhat.com&gt;cc: Marc Dionne &lt;marc.dionne@auristor.com&gt;cc: linux-afs@lists.infradead.org

            List of files:
            /linux-6.15/fs/afs/server.c</description>
        <pubDate>Wed, 18 Oct 2023 14:38:14 +0000</pubDate>
        <dc:creator>David Howells &lt;dhowells@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>1702e065 - afs: fix the usage of read_seqbegin_or_lock() in afs_find_server*()</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/fs/afs/server.c#1702e065</link>
        <description>afs: fix the usage of read_seqbegin_or_lock() in afs_find_server*()David Howells says: (5) afs_find_server().     There could be a lot of servers in the list and each server can have     multiple addresses, so I think this would be better with an exclusive     second pass.     The server list isn&apos;t likely to change all that often, but when it does     change, there&apos;s a good chance several servers are going to be     added/removed one after the other.  Further, this is only going to be     used for incoming cache management/callback requests from the server,     which hopefully aren&apos;t going to happen too often - but it is remotely     drivable. (6) afs_find_server_by_uuid().     Similarly to (5), there could be a lot of servers to search through, but     they are in a tree not a flat list, so it should be faster to process.     Again, it&apos;s not likely to change that often and, again, when it does     change it&apos;s likely to involve multiple changes.  This can be driven     remotely by an incoming cache management request but is mostly going to     be driven by setting up or reconfiguring a volume&apos;s server list -     something that also isn&apos;t likely to happen often.Make the &quot;seq&quot; counter odd on the 2nd pass, otherwise read_seqbegin_or_lock()never takes the lock.Signed-off-by: Oleg Nesterov &lt;oleg@redhat.com&gt;Signed-off-by: David Howells &lt;dhowells@redhat.com&gt;cc: Marc Dionne &lt;marc.dionne@auristor.com&gt;cc: linux-afs@lists.infradead.orgLink: https://lore.kernel.org/r/20231130115614.GA21581@redhat.com/

            List of files:
            /linux-6.15/fs/afs/server.c</description>
        <pubDate>Thu, 30 Nov 2023 11:56:14 +0000</pubDate>
        <dc:creator>Oleg Nesterov &lt;oleg@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>ef4d3ea4 - afs: Fix server-&gt;active leak in afs_put_server</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/fs/afs/server.c#ef4d3ea4</link>
        <description>afs: Fix server-&gt;active leak in afs_put_serverThe atomic_read was accidentally replaced with atomic_inc_return,which prevents the server from getting cleaned up and causes rmmodto hang with a warning:    Can&apos;t purge s=00000001Fixes: 2757a4dc1849 (&quot;afs: Fix access after dec in put functions&quot;)Signed-off-by: Marc Dionne &lt;marc.dionne@auristor.com&gt;Signed-off-by: David Howells &lt;dhowells@redhat.com&gt;Link: https://lore.kernel.org/r/20221130174053.2665818-1-marc.dionne@auristor.com/Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;

            List of files:
            /linux-6.15/fs/afs/server.c</description>
        <pubDate>Wed, 30 Nov 2022 17:55:51 +0000</pubDate>
        <dc:creator>Marc Dionne &lt;marc.dionne@auristor.com&gt;</dc:creator>
    </item>
<item>
        <title>2757a4dc - afs: Fix access after dec in put functions</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/fs/afs/server.c#2757a4dc</link>
        <description>afs: Fix access after dec in put functionsReference-putting functions should not access the object being put afterdecrementing the refcount unless they reduce the refcount to zero.Fix a couple of instances of this in afs by copying the information to belogged by tracepoint to local variables before doing the decrement.[Fixed a bit in afs_put_server() that I&apos;d missed but Marc caught]Fixes: 341f741f04be (&quot;afs: Refcount the afs_call struct&quot;)Fixes: 452181936931 (&quot;afs: Trace afs_server usage&quot;)Fixes: 977e5f8ed0ab (&quot;afs: Split the usage count on struct afs_server&quot;)Signed-off-by: David Howells &lt;dhowells@redhat.com&gt;cc: Marc Dionne &lt;marc.dionne@auristor.com&gt;cc: linux-afs@lists.infradead.orgLink: https://lore.kernel.org/r/165911278430.3745403.16526310736054780645.stgit@warthog.procyon.org.uk/ # v1

            List of files:
            /linux-6.15/fs/afs/server.c</description>
        <pubDate>Wed, 06 Jul 2022 10:26:14 +0000</pubDate>
        <dc:creator>David Howells &lt;dhowells@redhat.com&gt;</dc:creator>
    </item>
</channel>
</rss>
