Re: sys_semget()
Ratna Manoj Bolla <[email protected]>
| Newsgroups | gmane.linux.cluster.openmosix.devel |
|---|---|
| Message-ID | <[email protected]> |
I found the cause for if !
the following patch for hpc/unconf will do !
["static void set_brk" is changed to "static int set_brk" .. and the
script was unable to find it out]
--- hpc/copy_unconf 2006-06-03 15:34:32.000000000 +0530
+++ /root/linux-2.4.26-om1-MigShm/hpc/copy_unconf 2006-05-17
12:58:18.000000000 +0530
@@ -7,8 +7,7 @@
/^#include/ {print $0; next; } \
/^aout_remote_init_mm\(/ { on=1 ; print "\nvoid" ; } \
/^unsigned long .*create_aout_tables\(/ { on=1 ; print
"\n#ifdef CONFIG_MOSIX"; } \
- /^#define BAD_ADDR\(x\)/ { on=1 ; print ""; }
- /^static int set_brk/ { on=1; print ""; }
+ /^static void set_brk/ { on=1; print ""; }
/^}/ { if(on) print "}" ; on=0; next; } \
on == 1 { print $0; }
' < $2
I am testing the whole thing with this new modification ! I will send it
with in a few min.
-Ratna
On Sat, 3 Jun 2006, William Rizzo wrote:
> Ok Ratna,
>
> Can you send me back the patch, so i can see what is going wrong.
>
> Will
>
>
> 2006/6/2, Ratna Manoj Bolla <[email protected]>:
>>
>>
>> Small note:
>>
>> set_brk() was not generated automatically. I manually copied it from
>> 2.4.26.
>>
>> -Ratna.
>>
>>
>> On Fri, 2 Jun 2006, Ratna Manoj Bolla wrote:
>>
>> >
>> > Hi,
>> >
>> > Iam getting runtime error because of the following extra code in
>> > mm/mmap.c in 2.4.30.
>> >
>> > line no:1320: ( And this part of code is not there in 2.4.26 )
>> > -------------------------------------------------------------------
>> > /*
>> > * mm->mmap_sem is required to protect against another thread
>> > * changing the mappings while we sleep (on kmalloc for one).
>> > */
>> > verify_mmap_write_lock_held(mm);
>> > --------------------------------------------------------------------
>> >
>> > The error occured when it got called by set_brk() in hpc/alternate.c (It
>> > supposed to take mm semaphore before calling do_brk() but it is not ! )
>> >
>> > What i shoud do ? (I did the remaining things .. transferred my changes
>> to
>> > 2.4.30 !)
>> >
>> > Please check it by configuaring for Intel(I386) with support for a.out
>> > binaries.
>> >
>> >
>> > -Ratna
>> >
>> > On Thu, 1 Jun 2006, William Rizzo wrote:
>> >
>> >> OK Ratna,
>> >>
>> >> Great!
>> >>
>> >> 2006/6/1, Ratna Manoj Bolla <[email protected]>:
>> >>>
>> >>>
>> >>> Sorry for the late ! I will send the patch by tommarrow
>> >>> evening(2.6.06,5:00 pm)
>> >>>
>> >>> -Ratna
>> >>>
>> >>> On Thu, 1 Jun 2006, William Rizzo wrote:
>> >>>
>> >>>> yes it is
>> >>>>
>> >>>> 2006/6/1, Ratna Manoj Bolla <[email protected]>:
>> >>>>>
>> >>>>>
>> >>>>> ya , after mrproper ... configure with "make menuconging" .. go to
>> >>>>> "Generel setup" and see "kernel support for a.out binaries" option.
>> >>>>>
>> >>>>> is it("kernel support for a.out binaries") included in your
>> >>> configuaration
>> >>>>> ?
>> >>>>>
>> >>>>> -Ratna.
>> >>>>>
>> >>>>> On Thu, 1 Jun 2006, William Rizzo wrote:
>> >>>>>
>> >>>>>> i don't think so.
>> >>>>>> Before the diff process, generally i run a "make mrproper".
>> >>>>>>
>> >>>>>> 2006/6/1, Ratna Manoj Bolla <[email protected]>:
>> >>>>>>>
>> >>>>>>>
>> >>>>>>>
>> >>>>>>> while configuaring the kernel (make menuconfig) the following
>> >>> option.
>> >>>>>>>
>> >>>>>>> -Generl setup
>> >>>>>>> -Kernel support for a.out binaries (this option)
>> >>>>>>>
>> >>>>>>> -Ratna
>> >>>>>>>
>> >>>>>>> On Thu, 1 Jun 2006, William Rizzo wrote:
>> >>>>>>>
>> >>>>>>>> What you mean?
>> >>>>>>>>
>> >>>>>>>> 2006/5/31, Ratna Manoj Bolla <[email protected]>:
>> >>>>>>>>>
>> >>>>>>>>>
>> >>>>>>>>> I think you disabled CONFIG_BINFMT_AOUT in kernel configuaration
>> >>> ?
>> >>>>>>>>>
>> >>>>>>>>> -Ratna
>> >>>>>>>>>
>> >>>>>>>>> On Wed, 31 May 2006, William Rizzo wrote:
>> >>>>>>>>>
>> >>>>>>>>>> Yes!...
>> >>>>>>>>>> I missed that part of code during the 2.4.29->2.4.30 porting
>> >>>>> process.
>> >>>>>>>>>>
>> >>>>>>>>>> 2006/5/31, William Rizzo <[email protected]>:
>> >>>>>>>>>>>
>> >>>>>>>>>>> Ugh!....sorry again.
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>> 2006/5/31, Ratna Manoj Bolla <[email protected]>:
>> >>>>>>>>>>>>
>> >>>>>>>>>>>>
>> >>>>>>>>>>>> No.. No .. its all part of it.
>> >>>>>>>>>>>>
>> >>>>>>>>>>>> hpc/alternate.c is an automatically generated file(see the 1
>> >>> st
>> >>>>>>> line
>> >>>>>>>>> in
>> >>>>>>>>>>>> the file).
>> >>>>>>>>>>>>
>> >>>>>>>>>>>>
>> >>>>>>>>>>>> It is missing the following peace of code!
>> >>>>>>>>>>>>
>> >>>>>>>>>>>> static void set_brk(unsigned long start, unsigned long end)
>> >>>>>>>>>>>> {
>> >>>>>>>>>>>> start = PAGE_ALIGN(start);
>> >>>>>>>>>>>> end = PAGE_ALIGN(end);
>> >>>>>>>>>>>> if (end <= start)
>> >>>>>>>>>>>> return;
>> >>>>>>>>>>>> do_brk(start, end - start);
>> >>>>>>>>>>>> }
>> >>>>>>>>>>>>
>> >>>>>>>>>>>> and i added it manually !
>> >>>>>>>>>>>>
>> >>>>>>>>>>>>
>> >>>>>>>>>>>> -Ratna
>> >>>>>>>>>>>>
>> >>>>>>>>>>>> On Wed, 31 May 2006, William Rizzo wrote:
>> >>>>>>>>>>>>
>> >>>>>>>>>>>>> you're right....alternate.c is not in the
>> >>> 2.4.26....i'mgoing
>> >>>>> to
>> >>>>>>>>> see
>> >>>>>>>>>>>> what
>> >>>>>>>>>>>>> happened....
>> >>>>>>>>>>>>> sorry for your loss of time
>> >>>>>>>>>>>>>
>> >>>>>>>>>>>>> 2006/5/31, William Rizzo < [email protected]>:
>> >>>>>>>>>>>>>>
>> >>>>>>>>>>>>>> it should be....i didn't made that....
>> >>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>
>> >>>>>>>>>>>>>> 2006/5/31, Ratna Manoj Bolla < [email protected]>:
>> >>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>> I686 (intel)
>> >>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>> -Ratna
>> >>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>> On Wed, 31 May 2006, William Rizzo wrote:
>> >>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>> ok.
>> >>>>>>>>>>>>>>>> i'll work on it...i'll test it on different
>> >>>>>>> systems...what's
>> >>>>>>>>> your
>> >>>>>>>>>>>>>>>> environment?
>> >>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>> 2006/5/31, Ratna Manoj Bolla < [email protected]>:
>> >>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>> yes it is giving linker error !
>> >>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>> /root/2.4.30/linux- 2.4.30/hpc/hpc.o(.text+0x6e7):
>> >>> In
>> >>>>>>>>> function
>> >>>>>>>>>>>>>>>>> `aout_remote_init_mm':
>> >>>>>>>>>>>>>>>>> : undefined reference to `set_brk'
>> >>>>>>>>>>>>>>>>> make: *** [vmlinux] Error 1
>> >>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>> -Ratna
>> >>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>> On Wed, 31 May 2006, William Rizzo wrote:
>> >>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>> Yes, it works.
>> >>>>>>>>>>>>>>>>>> Did you experienced some problem?
>> >>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>> 2006/5/31, Ratna Manoj Bolla <[email protected]
>> >>>> :
>> >>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>> Did you compile it(2.4.30) ? did it run fine ?
>> >>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>> -Ratna
>> >>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>> On Wed, 31 May 2006, William Rizzo wrote:
>> >>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>> OK Ratna...
>> >>>>>>>>>>>>>>>>>>>> I don't want to stress you...just ask :)
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>> William
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>> 2006/5/31, Ratna Manoj Bolla <
>> >>> [email protected]
>> >>>>>> :
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>> I am trying hard for that and iam little busy
>> >>>>> with
>> >>>>>>> my
>> >>>>>>>>>>>>>> m.techreport.
>> >>>>>>>>>>>>>>>>>>>>> I am trying to complete it by 12:00 pm
>> >>> tommarrow.
>> >>>>>>>>>>>>>>>>>>>>> -Ratna.
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>> On Wed, 31 May 2006, William Rizzo wrote:
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>> Hi Ratna,
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>> Are you planning to send me something within
>> >>>>>>>>> tomorrow?
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>> I'm just asking 'cause within tomorrow and
>> >>>>> sunday
>> >>>>>>> i'm
>> >>>>>>>>>>>> going
>> >>>>>>>>>>>>>>> to
>> >>>>>>>>>>>>>>>>> work
>> >>>>>>>>>>>>>>>>>>> on
>> >>>>>>>>>>>>>>>>>>>>> the
>> >>>>>>>>>>>>>>>>>>>>>> patch....but of course i can wait if you
>> >>> need.
>> >>>>>>>>>>>>>>>>>>>>>> let me know.
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>> William
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>> 2006/5/30, Ratna Manoj Bolla <
>> >>>>> [email protected]
>> >>>>>>>> :
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>> ya, i will and i started working !
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>> -Ratna
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>> On Tue, 30 May 2006, William Rizzo wrote:
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>> ops!...the patch
>> >>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>> william
>> >>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>> 2006/5/30, William Rizzo <
>> >>>>>>> [email protected]
>> >>>>>>>>>> :
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>> Hi Ratna,
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>> Yesterday eavening i ported OM and your
>> >>>>> patch
>> >>>>>>> to
>> >>>>>>>>> the
>> >>>>>>>>>>>>
>> >>>>>>>>>>>>>>> 2.4.30...
>> >>>>>>>>>>>>>>>>> .
>> >>>>>>>>>>>>>>>>>>>>>>>>> At attachment you'll find a working
>> >>>>>>>>> 2.4.30patch...
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>> Can you work on that?
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>> If you insert all the code for
>> >>>>> select/deselect
>> >>>>>>>>> the
>> >>>>>>>>>>>> Migshm
>> >>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>> patch,
>> >>>>>>>>>>>>>>>>>>> i
>> >>>>>>>>>>>>>>>>>>>>> can
>> >>>>>>>>>>>>>>>>>>>>>>>>> port all to the 2.4.32 for tomorrow or
>> >>> Max
>> >>>>> for
>> >>>>>>>>> Thue.
>> >>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>> Cheers,
>> >>>>>>>>>>>>>>>>>>>>>>>>> William
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>> 2006/5/30, Ratna Manoj Bolla <
>> >>>>>>>>> [email protected]>:
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>> Hi,
>> >>>>>>>>>>>>>>>>>>>>>>>>>> I got a doubt while debugging for my
>> >>>>> patch.
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>> please see at line no 1257 below !.
>> >>> (this
>> >>>>>>> from
>> >>>>>>>>>>>>>>> fs/inode.c)
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>> void iput(struct inode *inode)
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1209 {
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1210 if (inode) {
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1211 struct
>> >>> super_block
>> >>>>> *sb
>> >>>>>>> =
>> >>>>>>>>>>>>>>> inode->i_sb;
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1212 struct
>> >>>>> super_operations
>> >>>>>>>>> *op =
>> >>>>>>>>>>>>
>> >>>>>>>>>>>>>>> NULL;
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1213
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1214 if
>> >>> (inode->i_state
>> >>>>> ==
>> >>>>>>>>>>>> I_CLEAR)
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1215 BUG();
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1216
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1217 if (sb &&
>> >>> sb->s_op)
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1218 op =
>> >>>>> sb->s_op;
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1219 if (op &&
>> >>>>>>> op->put_inode)
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1220
>> >>>>>>>>> op->put_inode(inode);
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1221
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1222 if
>> >>>>>>>>>>>>>>>>> (!atomic_dec_and_lock(&inode->i_count,
>> >>>>>>>>>>>>>>>>>>>>>>>>>> &inode_lock))
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1223 return;
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1224
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1225 if
>> >>> (!inode->i_nlink)
>> >>>>> {
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1226
>> >>>>>>>>>>>> list_del(&inode->i_list);
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1227
>> >>>>>>>>>>>>>>> INIT_LIST_HEAD(&inode->i_list);
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1228
>> >>>>>>>>>>>> inode->i_state|=I_FREEING;
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1229
>> >>>>>>>>>>>> inodes_stat.nr_inodes--;
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1230
>> >>>>>>>>>>>> spin_unlock(&inode_lock);
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1231
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1232 if
>> >>>>>>>>>>>> (inode->i_data.nrpages)
>> >>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1233
>> >>>>>>>>>>>>>>>>>>>>>>>>>> truncate_inode_pages(&inode->i_data,
>> >>> 0);
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1234
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1235 if (op &&
>> >>>>>>>>>>>>>>> op->delete_inode) {
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1236
>> >>> void
>> >>>>>>>>>>>>>>> (*delete)(struct
>> >>>>>>>>>>>>>>>>>>> inode
>> >>>>>>>>>>>>>>>>>>>>> *) =
>> >>>>>>>>>>>>>>>>>>>>>>>>>> op->delete_inode;
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1237
>> >>> if
>> >>>>>>>>>>>>>>>>> (!is_bad_inode(inode))
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1238
>> >>>>>>>>>>>>>>>>> DQUOT_INIT(inode);
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1239
>> >>> /*
>> >>>>>>>>>>>>>>> s_op->delete_inode
>> >>>>>>>>>>>>>>>>>>>>> internally
>> >>>>>>>>>>>>>>>>>>>>>>>>>> recalls clear_inode() */
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1240
>> >>>>>>>>>>>> delete(inode);
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1241 } else
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1242
>> >>>>>>>>>>>>>>> clear_inode(inode);
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1243
>> >>>>>>>>>>>> spin_lock(&inode_lock);
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1244
>> >>>>>>>>>>>> list_del(&inode->i_hash);
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1245
>> >>>>>>>>>>>>>>> INIT_LIST_HEAD(&inode->i_hash);
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1246
>> >>>>>>>>>>>> spin_unlock(&inode_lock);
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1247
>> >>>>>>>>>>>> wake_up(&inode->i_wait);
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1248 if
>> >>>>>>> (inode->i_state
>> >>>>>>>>> !=
>> >>>>>>>>>>>>>>> I_CLEAR)
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1249
>> >>>>> BUG();
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1250 } else {
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1251 if
>> >>>>>>>>>>>>>>>>> (!list_empty(&inode->i_hash)) {
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1252
>> >>> if
>> >>>>>>>>>>>>>>> (!(inode->i_state
>> >>>>>>>>>>>>>>>>>>>>>>>>>> & (I_DIRTY|I_LOCK)))
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1253
>> >>>>>>>>>>>>>>>>>>>>> __refile_inode(inode);
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1254
>> >>>>>>>>>>>>>>>>> inodes_stat.nr_unused++;
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1255
>> >>>>>>>>>>>>>>>>> spin_unlock(&inode_lock);
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1256
>> >>> if
>> >>>>> (!sb
>> >>>>>>> ||
>> >>>>>>>>>>>>>>> (sb->s_flags
>> >>>>>>>>>>>>>>>>> &
>> >>>>>>>>>>>>>>>>>>>>>>>>>> MS_ACTIVE))
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1257
>> >>>>>>>>>>>> return;
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>> Can any body tell what happens if
>> >>>>> somebody
>> >>>>>>>>> takes a
>> >>>>>>>>>>>>
>> >>>>>>>>>>>>>>> reference
>> >>>>>>>>>>>>>>>>> to
>> >>>>>>>>>>>>>>>>>>>>> this
>> >>>>>>>>>>>>>>>>>>>>>>>>>> inode
>> >>>>>>>>>>>>>>>>>>>>>>>>>> with iget() ? [inode has not been
>> >>> deleted
>> >>>>>>> from
>> >>>>>>>>>>>> hash
>> >>>>>>>>>>>>>>> list
>> >>>>>>>>>>>>>>>>> ....
>> >>>>>>>>>>>>>>>>>>> even
>> >>>>>>>>>>>>>>>>>>>>> if
>> >>>>>>>>>>>>>>>>>>>>>>>>>> some
>> >>>>>>>>>>>>>>>>>>>>>>>>>> body took reference here the inode
>> >>> will
>> >>>>> be
>> >>>>>>>>> cleared
>> >>>>>>>>>>>> for
>> >>>>>>>>>>>>>>> sure
>> >>>>>>>>>>>>>>>>> ..
>> >>>>>>>>>>>>>>>>>>>>>>> who(lock
>> >>>>>>>>>>>>>>>>>>>>>>>>>> or
>> >>>>>>>>>>>>>>>>>>>>>>>>>> semaphore) ensure that this will not
>> >>>>> heppen
>> >>>>>>> ?]
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1258
>> >>>>>>>>>>>>>>> write_inode_now(inode,
>> >>>>>>>>>>>>>>>>> 1);
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1259
>> >>>>>>>>>>>>>>> spin_lock(&inode_lock);
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1260
>> >>>>>>>>>>>>>>>>> inodes_stat.nr_unused--;
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1261
>> >>>>>>>>>>>>>>>>>>>>> list_del_init(&inode->i_hash);
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1262 }
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1263
>> >>>>>>>>>>>>>>> list_del_init(&inode->i_list);
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1264
>> >>>>>>>>>>>> inode->i_state|=I_FREEING;
>> >>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1265
>> >>>>>>>>>>>> inodes_stat.nr_inodes--;
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1266
>> >>>>>>>>>>>> spin_unlock(&inode_lock);
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1267 if
>> >>>>>>>>>>>> (inode->i_data.nrpages)
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1268
>> >>>>>>>>>>>>>>>>>>>>>>>>>> truncate_inode_pages(&inode->i_data,
>> >>> 0);
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1269
>> >>>>>>>>> clear_inode(inode);
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1270 }
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1271
>> >>>>> destroy_inode(inode);
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1272 }
>> >>>>>>>>>>>>>>>>>>>>>>>>>> 1273 }
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>
>> >>>>>>>>>>>>>>
>> >>>>>>>>>>>>>
>> >>>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>>
>> >>>>>>>>>>
>> >>>>>>>>>
>> >>>>>>>>
>> >>>>>>>
>> >>>>>>
>> >>>>>
>> >>>>
>> >>>
>> >>
>> >
>> >
>> > _______________________________________________
>> > openMosix-devel mailing list
>> > openMosix-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
>> > https://lists.sourceforge.net/lists/listinfo/openmosix-devel
>> >
>>
>