Whamcloud - gitweb
tappro [Mon, 14 Aug 2006 22:41:31 +0000 (22:41 +0000)]
fix defect with list_add_tail() params.
tappro [Mon, 14 Aug 2006 22:37:24 +0000 (22:37 +0000)]
forgotten lu_object_put() in case of error
ericm [Mon, 14 Aug 2006 22:00:06 +0000 (22:00 +0000)]
file sanity-gss.sh was added on branch b_new_cmd on 2006-09-11 22:05:00 +0000
yury [Mon, 14 Aug 2006 14:25:48 +0000 (14:25 +0000)]
- fixed typo in comment.
yury [Mon, 14 Aug 2006 14:23:45 +0000 (14:23 +0000)]
- update entries counter on entry delete.
yury [Mon, 14 Aug 2006 14:19:38 +0000 (14:19 +0000)]
- fixed bug in fld_cache_delete(), there should be used ..._safe list iterator;
- added simple cache shrink mechanism to fld cache. It maintains LRU list and
removes old used entries from it until desired size (passed in init time) is
reached. Also some threshold is used to avoid ping-pong and running shrink
each time as new entry is added in the conditions when cache is almost full.
huanghua [Mon, 14 Aug 2006 10:51:28 +0000 (10:51 +0000)]
(1) remove MD_ATTR_FLAGS. this is set by LA_FLAGS;
(2) atime/mtime/ctime typo in OSD;
(3) use our new valid bits in MDD entirely;
(4) some other small fixes;
wangdi [Mon, 14 Aug 2006 00:32:29 +0000 (00:32 +0000)]
Branch: b_new_cmd
should check mds_log_op_unlink > 0 in mdd_unlink_log
tappro [Sun, 13 Aug 2006 22:38:07 +0000 (22:38 +0000)]
- define and use mdd_attr_get_internal_locking() inline instead of passing flag
need_locked as parameter.
- get attr unlocked while create operations
tappro [Sun, 13 Aug 2006 21:53:53 +0000 (21:53 +0000)]
mdt_md_mkobj() don't need lov attr
tappro [Sun, 13 Aug 2006 21:52:23 +0000 (21:52 +0000)]
- fix issue with checking the result of mds_log_op_unlink() call
tappro [Sun, 13 Aug 2006 21:50:35 +0000 (21:50 +0000)]
- separate __mdd_iattr_get() to get only inode attr. Needed for internal MDD
use.
- small cleanups and comments,
- use __mdd_finish_unlink() in mdd_rename()
- fix mdd_rename() when tobj is dir, the additional ref should be deleted for
tobj itself
wangdi [Sun, 13 Aug 2006 17:36:07 +0000 (17:36 +0000)]
Branch: b_new_cmd
1) add ma_need to indicate which field it need when it call the lower layer
2) reorganize mdd setattr/getattr code.
3) fix some problems in set/get md.
4) prepare the reply buffer for close.
5) some other fixes and cleanup
tappro [Sat, 12 Aug 2006 14:45:01 +0000 (14:45 +0000)]
small fixes
tappro [Sat, 12 Aug 2006 13:38:05 +0000 (13:38 +0000)]
add debug
tappro [Sat, 12 Aug 2006 11:21:29 +0000 (11:21 +0000)]
- introduce open counter in mdd
- update mo_close() method with adding the md_attr
- split mdd_attr_get() into two sub-function __mdd_atte_get, __mdd_lov_get
because they are needed for internal use in mdd
- return lov ea and llog cookie in mdt_close() for unlinked file
- mdt_handle_last_unlink() checks the ma_valid fields to decide what to return
to the client
tappro [Sat, 12 Aug 2006 11:14:27 +0000 (11:14 +0000)]
- remove unused ot_ref counter
wangdi [Sat, 12 Aug 2006 09:32:01 +0000 (09:32 +0000)]
Branch: b_new_cmd
1) fix bit in mdd/mdt/osd after separate LA from ATTR.
2) set blksize after create data object
3) some cleanup
nikita [Sat, 12 Aug 2006 08:56:36 +0000 (08:56 +0000)]
mdt: translate ATTR_FROM_OPEN
wangdi [Sat, 12 Aug 2006 08:45:49 +0000 (08:45 +0000)]
Branch: b_new_cmd
oops, just forget 1 file in the last commit
wangdi [Sat, 12 Aug 2006 04:57:58 +0000 (04:57 +0000)]
Branch: b_new_cmd
1)add DEAD_OBJ flag to indicate the object has been unlinked.
2)fix intent disposion problems in mdt_reint_open, if we find
dead parent dir.
3)add sanity check in those mdd object APIs.
4)rename reply should include lmm and logcookie.
5)some other fixes in mdd api
nikita [Fri, 11 Aug 2006 20:26:03 +0000 (20:26 +0000)]
mdd_attr_set(): kill unused code
nikita [Fri, 11 Aug 2006 17:12:29 +0000 (17:12 +0000)]
consity mdo_attr_set() argument
nikita [Fri, 11 Aug 2006 16:50:03 +0000 (16:50 +0000)]
osd: reimplement osd_attr_set()
nikita [Fri, 11 Aug 2006 16:49:32 +0000 (16:49 +0000)]
fix ->la_valid usage
yury [Fri, 11 Aug 2006 11:39:54 +0000 (11:39 +0000)]
- fixed bug in seq_server_init(), there should be separate portal for data stack.
huanghua [Fri, 11 Aug 2006 09:24:46 +0000 (09:24 +0000)]
skip some tests, and modify some argument according to current implementation.
yury [Fri, 11 Aug 2006 07:23:51 +0000 (07:23 +0000)]
- one more piece of changes missed to commit last time.
yury [Fri, 11 Aug 2006 07:20:26 +0000 (07:20 +0000)]
- last portion of cleanups and fixes after Nikita's CODEINSP;
- fixes about accessing pointers which are not valid and store error
code what may be checked with IS_ERR() macro;
yury [Thu, 10 Aug 2006 15:37:26 +0000 (15:37 +0000)]
- one more portion of fixes and cleanups after Nikita's CODEINSP.
huanghua [Thu, 10 Aug 2006 15:28:02 +0000 (15:28 +0000)]
(1) in mdd_lov_create(), allocate lmm before using it to call mdd_get_md();
(2) in mdd_lov_create(), free lsm after using.
yury [Thu, 10 Aug 2006 13:20:16 +0000 (13:20 +0000)]
- more fixes and cleanups in fld after Nikita's CODEINSP.
wangdi [Thu, 10 Aug 2006 13:15:45 +0000 (13:15 +0000)]
Branch: b_new_cmd
Merge fix from b1_5
This Assert is not right for ost add dynamicly
tappro [Thu, 10 Aug 2006 12:14:58 +0000 (12:14 +0000)]
update lmv_placement_policy(). For directories it uses policy 'by name', for
other files - 'by parent mds'. The parent fid is added into struct
lu_placement_hint so parent mds can be taken.
tappro [Thu, 10 Aug 2006 12:08:23 +0000 (12:08 +0000)]
fix issue with use-after-free if commit occurs while journal_stop()
the ot_ref count is added into osd_thandle and osd_thandle is freed only when
last reference is dropped.
yury [Thu, 10 Aug 2006 11:23:44 +0000 (11:23 +0000)]
- start seq mgr for data stack in separate portal;
- changes about thread names in seq mgr.
huanghua [Thu, 10 Aug 2006 10:38:59 +0000 (10:38 +0000)]
(1) small file count in sanity to avoid large directory which is not supported currently;
(2) in mdt_getattr_internal(), set different flag for regular file and dir;
(3) ajust wiretest to fix current implementation.
yury [Thu, 10 Aug 2006 10:33:41 +0000 (10:33 +0000)]
- more in fld and seq fixes after Nikita's CODEINSP.
wangdi [Thu, 10 Aug 2006 08:39:51 +0000 (08:39 +0000)]
1)for Non Create revalidate, we still should pack the child fid.
for checking dentry stale.
2)we only check stale, if it do not create object in server.
huanghua [Thu, 10 Aug 2006 05:59:28 +0000 (05:59 +0000)]
(1) wrong argument in lmv_create();
(2) add rdev support for special file;
(3) skip sanity 51 until we can list large directory.
wangdi [Thu, 10 Aug 2006 03:47:20 +0000 (03:47 +0000)]
Branch: b_new_cmd
Sometimes, we need revalidate dentries with (IT_CREATE/IT_OPEN), since
we did not unhash the cache totally on client for getpwd(2). so in
ll_revalidate_it we also need allocate the fid. If in mds, it did create
an object. then the dentry should be invalidate(return -ESTALE).
and some related cleanup work should be done in ll_revalidate_finish_it.
fanyong [Thu, 10 Aug 2006 03:09:53 +0000 (03:09 +0000)]
Use libiam for mkfs_lustre
fanyong [Thu, 10 Aug 2006 03:09:10 +0000 (03:09 +0000)]
For iam lib.
yury [Wed, 9 Aug 2006 14:29:17 +0000 (14:29 +0000)]
- implemented almost all Nikita's notes in seq mgr and same ones in fld;
- fixed bug in seq_store_write() - it did not really stored seq ranges;
- s/PFID3/PFID/g s/DFID3/DFID/g - seems it is always needed to write 3 fid components.
huanghua [Wed, 9 Aug 2006 09:54:04 +0000 (09:54 +0000)]
(1) pass create flag from client to CMM/MDD in struct md_create_spec;
(2) return object flag to client;
(3) do ioctl for ATTR_ATTR_FLAGS instead of setattr(): sanity 52
wangdi [Wed, 9 Aug 2006 08:31:08 +0000 (08:31 +0000)]
Branch: b_new_cmd
1)merge some fixes from b1_5
*only client has parent update lock, then hash the child dentry, it could
fix bad inode problems
*when ll_inode_revaldate_it can not match lock locally, it should try to
retrieve from remote server
2)re-phase comments in mdd_lov_create
3)remove LUSTRE_POSIX_MAX_ACL_SIZE from liblustre.h, it is not needed.
huanghua [Wed, 9 Aug 2006 03:14:02 +0000 (03:14 +0000)]
(1) some computer may not have "which" command
(2) avoid a found bug in fid reusing in test 44a.
fanyong [Wed, 9 Aug 2006 02:38:10 +0000 (02:38 +0000)]
Change '/' mode from 040700 to 040755
ericm [Tue, 8 Aug 2006 19:45:37 +0000 (19:45 +0000)]
file nfs-utils-1.0.10-lustre.diff was added on branch b_new_cmd on 2006-09-11 22:05:02 +0000
wangdi [Tue, 8 Aug 2006 16:30:19 +0000 (16:30 +0000)]
Branch: b_new_cmd
seems a typo, anyway we need pack the attr back
when inode revalidate
wangdi [Tue, 8 Aug 2006 12:05:54 +0000 (12:05 +0000)]
Branch: b_new_cmd
1)we should set size to ost object after creating ost object,
if the object size is not zero because of truncate.
2)enable ATTR_SIZE in osd_inode_setattr, since we could set size in mds
for reg file, but not truncate.
huanghua [Tue, 8 Aug 2006 08:16:17 +0000 (08:16 +0000)]
return time to client.
wangdi [Tue, 8 Aug 2006 08:01:43 +0000 (08:01 +0000)]
Branch: b_new_cmd
add index_ops check before empty dir check in mdd_unlink
wangdi [Tue, 8 Aug 2006 07:08:51 +0000 (07:08 +0000)]
1)add is_parent check in mdd_rename_sanity_check
2)fix problems in mdd_is_parent
2)some cleanup according to nikita's comments
huanghua [Tue, 8 Aug 2006 06:54:49 +0000 (06:54 +0000)]
(1) set attributes for newly created object and its parent;
(2) only pass S_IFREG to server if it is an open intent lock.
fanyong [Tue, 8 Aug 2006 02:28:46 +0000 (02:28 +0000)]
Free buf alloced when program exit normally.
tappro [Mon, 7 Aug 2006 21:20:15 +0000 (21:20 +0000)]
- move sgid check before object creation, in __mdd_create_sanity_check(), so
updated attr will be used while object_create() after that.
tappro [Mon, 7 Aug 2006 21:17:03 +0000 (21:17 +0000)]
- fix forgotten allocation
yury [Mon, 7 Aug 2006 17:27:48 +0000 (17:27 +0000)]
- fixed stack allocations of md_op_data in llite.
huanghua [Mon, 7 Aug 2006 17:16:43 +0000 (17:16 +0000)]
(1) remove compile error in mdd
(2) remove OBD_MD_FLFLAGS flag because it is not set by OSD;
yury [Mon, 7 Aug 2006 17:07:45 +0000 (17:07 +0000)]
- in llite and liblustre ll_prepare_md_op_data() zeroes out passed @op_data to avoid garbage in it in caases caller did not zero it out. All fid allocations saved in op_data->fid2 are done after ll_prepare_md_op_data();
- in lmv replace all on stac allocations of struct md_op_data by memory allocated ones;
- in lmv fixed few memory leaks, cleanups.
huanghua [Mon, 7 Aug 2006 16:05:57 +0000 (16:05 +0000)]
remove noisy debug code
nikita [Mon, 7 Aug 2006 16:03:06 +0000 (16:03 +0000)]
mdd_object_type(): use lu_object_attr()
wangdi [Mon, 7 Aug 2006 15:31:59 +0000 (15:31 +0000)]
Branch: b_new_cmd
add rename checking for rename
huanghua [Mon, 7 Aug 2006 12:09:24 +0000 (12:09 +0000)]
unpack some necessary field for open request
huanghua [Mon, 7 Aug 2006 10:49:53 +0000 (10:49 +0000)]
(1) set attribute for newly created object.
(2) check S_ISGID for parent directory, and set it for sub-dir also.
see sanity test 6g.
fanyong [Mon, 7 Aug 2006 09:57:05 +0000 (09:57 +0000)]
Adjust 'verbose' method.
tappro [Mon, 7 Aug 2006 08:16:07 +0000 (08:16 +0000)]
- fix bugs with mdt_create_data() introduced by last commit.
fanyong [Mon, 7 Aug 2006 06:52:03 +0000 (06:52 +0000)]
Eliminate compile warning.
fanyong [Mon, 7 Aug 2006 04:03:39 +0000 (04:03 +0000)]
Fix memory leak BUG in main where key and rec be malloc, but no free, the same BUG maybe for key_opt and rec_opt. There are logic errors in function hex2dec, and fix them also.
fanyong [Mon, 7 Aug 2006 03:46:55 +0000 (03:46 +0000)]
Fix memory leak BUG in main where malloc buf, buf no free.
fanyong [Mon, 7 Aug 2006 03:42:50 +0000 (03:42 +0000)]
Add mkfs functions create_iam and iam_insert for mdt, all the mkfs work can be done by mkfs_lustre, no other mkfs script are needed. Add malloc validity check in function convert_hostnames.
fanyong [Mon, 7 Aug 2006 03:08:57 +0000 (03:08 +0000)]
mkfs_lustre.c
tappro [Sun, 6 Aug 2006 21:20:50 +0000 (21:20 +0000)]
- if fid2 exists and this was create operation, then it is not same as returned
in case no creation happens. The result was 'Stale NFS file handle' error in
some tests - 7b, 23. now 23 pass but in 7b the other nasty bug occurs.
tappro [Sun, 6 Aug 2006 21:16:50 +0000 (21:16 +0000)]
- use md_attr in mo_attr_set() and set lov ea together with inode attr.
- while attr_set() return resulting attr back
- move O_EXCL check later, because reply should contain the FID
tappro [Sat, 5 Aug 2006 22:58:09 +0000 (22:58 +0000)]
- introduce the struct md_create_spec. It contains the various type-depended
parameters for create, e.g. symlink target, eadata, parent info for cross-ref
case, etc.
Struct is allocated in thread context and filled while unpacking requests.
tappro [Sat, 5 Aug 2006 19:01:00 +0000 (19:01 +0000)]
- use lu_object_attr() instead of taking lu_header directly
- remove unused md_attr parameter from __mdd_ref_del()
- make mdd_attr_get() in mdd_unlink() after unlinking dot for directory
- rename mdd_mkname() to the mdd_name_insert() to make it consitent with API and
other layers
- move mdd_object_create() method near the mdd_create() as close related method.
tappro [Sat, 5 Aug 2006 18:55:10 +0000 (18:55 +0000)]
- define lu_object_attr() to get common object attribute
huanghua [Sat, 5 Aug 2006 17:02:50 +0000 (17:02 +0000)]
add EXEC & WRITE pretection support on file to pass sanity 43
wangdi [Sat, 5 Aug 2006 15:10:43 +0000 (15:10 +0000)]
Branch: b_new_cmd
1)still create data object in mdd_create, since they should be in the same
transaction and create data rpc (to ost) should not inside transtaction.
2)some cleanup according to nikita's comments
nikita [Sat, 5 Aug 2006 10:08:19 +0000 (10:08 +0000)]
rename create_data_object to something less ugly
nikita [Sat, 5 Aug 2006 10:04:59 +0000 (10:04 +0000)]
liblustre: add LUSTRE_POSIX_ACL_MAX_SIZE definition
nikita [Sat, 5 Aug 2006 09:09:47 +0000 (09:09 +0000)]
mdd: 0. mdd_create_data_object(): close transaction on error. 1. mdd_lov_set_md(): take transaction handle as an argument. 2. mdd_create_data_object(): start transaction.
nikita [Sat, 5 Aug 2006 09:03:56 +0000 (09:03 +0000)]
osd: add code to track lock/transaction ordering
nikita [Sat, 5 Aug 2006 09:02:36 +0000 (09:02 +0000)]
lu_object: add ->lct_exit() method to lu_context_key
wangdi [Sat, 5 Aug 2006 06:28:38 +0000 (06:28 +0000)]
Branch: b_new_cmd
1 add mti_transno_flag to check whether this req handler need transno update
for those lnk and some special node. we do not need.
2. set DISP_OPEN_OPEN in correct place
3. do not do unlink log in mdd_unlink. since it should only unlink the
metaobject. add the unlink log after open orphan is implemented.
wangdi [Sat, 5 Aug 2006 04:24:49 +0000 (04:24 +0000)]
Branch: b_new_cmd
oops, forget 1 file in the last commit
wangdi [Sat, 5 Aug 2006 04:21:54 +0000 (04:21 +0000)]
Branch: b_new_cmd
create data object later(not in mdo_create), in mdo_create, we
only create metadata object. after those check, then create the
data object.
wangdi [Sat, 5 Aug 2006 03:29:29 +0000 (03:29 +0000)]
Branch: b_new_cmd
1)add RMF_ACL as nikita's comments
2)some cleanup
huanghua [Fri, 4 Aug 2006 16:23:33 +0000 (16:23 +0000)]
fixed a defect found by nikita:
reply message may have not been packed when updating transno.
huanghua [Fri, 4 Aug 2006 16:12:10 +0000 (16:12 +0000)]
fix a defect in opening a newly created symlink:
when we have created a symlink, we do not create dentry and inode for new symlink
in original solution.
I bypass ll_symlink_raw(), but use ll_symlink() instead. this will not increase
additional RPCs as I see.
nikita [Fri, 4 Aug 2006 15:22:16 +0000 (15:22 +0000)]
cleanup: do not access ->loh_fid directly
nikita [Fri, 4 Aug 2006 14:19:22 +0000 (14:19 +0000)]
mdd: stop dt_try_as_dir() abuse: this function is for checking whether object may work as an index, NOT for checking whether it is a directory
nikita [Fri, 4 Aug 2006 14:00:42 +0000 (14:00 +0000)]
mdt: do not use mdt_thread_info for implicit parameter passing, add some consts
nikita [Fri, 4 Aug 2006 13:59:53 +0000 (13:59 +0000)]
liblustre: fix warning during user-space compilation
nikita [Fri, 4 Aug 2006 13:59:13 +0000 (13:59 +0000)]
mdt_mfd_open(): clean, use local variables
nikita [Fri, 4 Aug 2006 13:58:48 +0000 (13:58 +0000)]
lu_object: store file type (regular, directory, etc.) in lu_object_header
yury [Fri, 4 Aug 2006 13:47:39 +0000 (13:47 +0000)]
- place pill and rep_buf_size array from fld_req_handle() and seq_req_handle() into context instead of allocating then on stack.
nikita [Fri, 4 Aug 2006 12:37:35 +0000 (12:37 +0000)]
osd: fix typo
nikita [Fri, 4 Aug 2006 12:35:36 +0000 (12:35 +0000)]
req-layout: handle 0-length fields: use (-1) as variable field marker