dir.c (561c67d8a10142250baa2a2a4e8b5d95e9c97df9) dir.c (1151935182b40bbe398905850f6f7f4fbb262e06)
1// SPDX-License-Identifier: GPL-2.0-only
2/******************************************************************************
3*******************************************************************************
4**
5** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved.
6** Copyright (C) 2004-2005 Red Hat, Inc. All rights reserved.
7**
8**

--- 182 unchanged lines hidden (view full) ---

191 log_rinfo(ls, "dlm_recover_directory %u in %u new",
192 count, count_add);
193 out_free:
194 kfree(last_name);
195 out:
196 return error;
197}
198
1// SPDX-License-Identifier: GPL-2.0-only
2/******************************************************************************
3*******************************************************************************
4**
5** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved.
6** Copyright (C) 2004-2005 Red Hat, Inc. All rights reserved.
7**
8**

--- 182 unchanged lines hidden (view full) ---

191 log_rinfo(ls, "dlm_recover_directory %u in %u new",
192 count, count_add);
193 out_free:
194 kfree(last_name);
195 out:
196 return error;
197}
198
199static struct dlm_rsb *find_rsb_root(struct dlm_ls *ls, char *name, int len)
199static struct dlm_rsb *find_rsb_root(struct dlm_ls *ls, const char *name,
200 int len)
200{
201 struct dlm_rsb *r;
202 uint32_t hash, bucket;
203 int rv;
204
205 hash = jhash(name, len, 0);
206 bucket = hash & (ls->ls_rsbtbl_size - 1);
207

--- 19 unchanged lines hidden (view full) ---

227 up_read(&ls->ls_root_sem);
228 return NULL;
229}
230
231/* Find the rsb where we left off (or start again), then send rsb names
232 for rsb's we're master of and whose directory node matches the requesting
233 node. inbuf is the rsb name last sent, inlen is the name's length */
234
201{
202 struct dlm_rsb *r;
203 uint32_t hash, bucket;
204 int rv;
205
206 hash = jhash(name, len, 0);
207 bucket = hash & (ls->ls_rsbtbl_size - 1);
208

--- 19 unchanged lines hidden (view full) ---

228 up_read(&ls->ls_root_sem);
229 return NULL;
230}
231
232/* Find the rsb where we left off (or start again), then send rsb names
233 for rsb's we're master of and whose directory node matches the requesting
234 node. inbuf is the rsb name last sent, inlen is the name's length */
235
235void dlm_copy_master_names(struct dlm_ls *ls, char *inbuf, int inlen,
236void dlm_copy_master_names(struct dlm_ls *ls, const char *inbuf, int inlen,
236 char *outbuf, int outlen, int nodeid)
237{
238 struct list_head *list;
239 struct dlm_rsb *r;
240 int offset = 0, dir_nodeid;
241 __be16 be_namelen;
242
243 down_read(&ls->ls_root_sem);

--- 63 unchanged lines hidden ---
237 char *outbuf, int outlen, int nodeid)
238{
239 struct list_head *list;
240 struct dlm_rsb *r;
241 int offset = 0, dir_nodeid;
242 __be16 be_namelen;
243
244 down_read(&ls->ls_root_sem);

--- 63 unchanged lines hidden ---