ssize_t grant_compat_disable_store(struct kobject *kobj,
struct attribute *attr,
const char *buffer, size_t count);
-#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 16, 53, 0)
-ssize_t sync_lock_cancel_show(struct kobject *kobj,
- struct attribute *attr, char *buf);
-ssize_t sync_lock_cancel_store(struct kobject *kobj, struct attribute *attr,
- const char *buffer, size_t count);
-#endif
/* FMD */
void tgt_fmd_update(struct obd_export *exp, const struct lu_fid *fid,
}
LUSTRE_RW_ATTR(brw_size);
-#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 16, 53, 0)
-static ssize_t sync_on_lock_cancel_show(struct kobject *kobj,
- struct attribute *attr, char *buf)
-{
- return sync_lock_cancel_show(kobj, attr, buf);
-}
-
-static ssize_t sync_on_lock_cancel_store(struct kobject *kobj,
- struct attribute *attr,
- const char *buffer, size_t count)
-{
- static bool sync_on_lock_cancel_warned;
-
- if (!sync_on_lock_cancel_warned) {
- sync_on_lock_cancel_warned = true;
- pr_info("ofd: 'obdfilter.*.sync_on_lock_cancel' is deprecated, use 'obdfilter.*.sync_lock_cancel' instead\n");
- }
- return sync_lock_cancel_store(kobj, attr, buffer, count);
-}
-LUSTRE_RW_ATTR(sync_on_lock_cancel);
-#endif
-
/**
* Show the limit of soft sync RPCs.
*
&lustre_attr_tot_pending.attr,
&lustre_attr_soft_sync_limit.attr,
&lustre_attr_sync_journal.attr,
-#if LUSTRE_VERSION_CODE < OBD_OCD_VERSION(2, 16, 53, 0)
- &lustre_attr_sync_on_lock_cancel.attr,
-#endif
&lustre_attr_at_min.attr,
&lustre_attr_at_max.attr,
&lustre_attr_at_history.attr,
#include <obd_target.h>
#include <obd_cksum.h>
#include "tgt_internal.h"
-#include "lu_target.h"
#include "../ptlrpc/ptlrpc_internal.h"
/* This must be longer than the longest string below */
* \retval 0 and buffer filled with data on success
* \retval negative value on error
*/
-ssize_t sync_lock_cancel_show(struct kobject *kobj,
- struct attribute *attr, char *buf)
+static ssize_t sync_lock_cancel_show(struct kobject *kobj,
+ struct attribute *attr, char *buf)
{
struct obd_device *obd = container_of(kobj, struct obd_device,
obd_kset.kobj);
return sprintf(buf, "%s\n",
sync_lock_cancel_states[tgt->lut_sync_lock_cancel]);
}
-EXPORT_SYMBOL(sync_lock_cancel_show);
/**
* Change policy for handling dirty data under a lock being cancelled.
* \retval \a count on success
* \retval negative value on error
*/
-ssize_t sync_lock_cancel_store(struct kobject *kobj, struct attribute *attr,
- const char *buffer, size_t count)
+static ssize_t sync_lock_cancel_store(struct kobject *kobj,
+ struct attribute *attr,
+ const char *buffer, size_t count)
{
struct obd_device *obd = container_of(kobj, struct obd_device,
obd_kset.kobj);
spin_unlock(&tgt->lut_flags_lock);
return count;
}
-EXPORT_SYMBOL(sync_lock_cancel_store);
LUSTRE_RW_ATTR(sync_lock_cancel);
/**
local save=$(do_facet ost1 $LCTL get_param -n $soc | head -n1)
# "sync_on_lock_cancel" was broken by v2_11_55_0-26-g7059644e9a
+ # Fixed in 2.13.51~79, so we'll keep it for interop with 2.12.x
if [ -z "$save" ]; then
soc="obdfilter.*.sync_on_lock_cancel"
save=$(do_facet ost1 $LCTL get_param -n $soc | head -n1)