From a6ba59a8326ecfb8f2a7591f618b8d813ecbbadf Mon Sep 17 00:00:00 2001 From: Roman Shevchenko Date: Tue, 13 Nov 2012 18:06:33 +0100 Subject: [PATCH] IDEA-94524 (discriminate mounts by FS type only) --- bin/linux/fsnotifier | Bin 22652 -> 22652 bytes bin/linux/fsnotifier64 | Bin 25009 -> 25009 bytes native/fsNotifier/linux/main.c | 8 ++++---- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/bin/linux/fsnotifier b/bin/linux/fsnotifier index 3d90bedafc45cf7384ceb2832efbcb38e7963a24..9e8153a3cd24bc90a99f7a2c19ce0a42ea734948 100755 GIT binary patch delta 3593 zcmY*cYfx0@89oQj!h*Xj3(Nhoi!6dh6ci_q!vu`)1V@L+qG=4D9?Zhs?WYG6?FK}q|Jg)ZpM8;9^JYae>O&Q6E1OR~06o8C0W z%i3!XhPA)@5b_;(c_fV>xN@vrMOG<Z{FOVk89KZGu92ybOp%nzd*=b+wb9#Yh zgvG{h{{ZF^HY1$P$v*RX+8CBAzDWndN=9V@qgTtw`6L-uj!KUfgni*Xh`dD`4Hj`a zwHPLfiFDGiCT?mhXmmNf$5Y;yw1(MTt|F@v8AAo(@g*5h%8UM^(2sI$QB9dpBEcXK z=*@FYS5nAh$27&!;QSmGIGFH|2k@Wq9YxHifDVP{j!TGAsDILWrCZXvB&+uMSvWb628(E$@vGgjOyU(+UK4X1#(gL}chq z+?n(Dyj}$CrQpb4Wpb|?y@8I%j`dt|T}KT+G#$0|uVGOHH3NQkJTt&z*>h%E4Nx2iKr8Kv>mGJ$8sXFqMQ_CcY1rd4_E@BCzK2fO}tN3y_T0}Hp|%l{$0+{ z&{RKcm&#aw=ijWiuk&H8WZh*|x6G$o%et>rU6BtP*$8zEzK)GH1>BzD3#ew@E;Yd9 z(`{ni%Zko1+BXERaM6I_p54cja3YM`X=qx3E#ykH%5g}^b;fzm;Jl4?ux393{6$O% zqsADc{<_*B<|DsKtuZr#?(-1-lCH4Q?V!T$mS^YAJa##To^Qo|I>b8Nu` z2Hl}AV<*S;3_wIH4NXV6Rxg6y6@?y|;#QZfS0R=44*JdjP}&N$9D+0SjK+kWE;8OY zWUHpv&+(-gd8FsOiGkqC6@Y?gIa-PEF1*Wsrf=eM^4?+k%}fc~*>#CMzg5X9dnkz4 z%(2du&yNy>ysj-L5d9HHm($GnC+kl4d%gRtz)+F|rZw-t0MfEEg_^WQN;BX~@u`$-uy%Gm=$SX(H6j#oF1utZ1j8I4sLE=z?xRcV% zX0d{1o2@f;s31zkk6}Nmd9-n#Br6V4K`!hC01t$oJEshFJ@mZQ#?XHA=CChDFblXt z<1JYQ!jFi-ejdWJeoL%(qCJ8|55%gjCe0wKJ5f0TE<&^I6Gh>6_HogX`X6YQC25>; z3wvdyzh7ZQcy%q7l6zI%F?32|7BA8dmSy59nwDZ;-Y}vq)jYm7Nu8Kt_yT$l*2B)p zahu(nCD{N;-98$RQl)TQzQcFW&JkE?q#fOAnspQYb9D@qfeGTpv*^>&%fw?8otmtl zGos6VRG7MBe(4B^g%}`rAf`gv_R%2TdFr3N0iClSQp54=9*Mu+1bZG^Y*?y(OO{eO zh%+h4ni3FpgJxP^7jM#Et!1enbF4CLZPyj@>c`s%4&Tv|w1T7|_%)u^mY=F>ZeHTL zzVxZazHsywhm{~F(vh@y!vH*7K^SfwuN+C=r>zp}DSu2y=->}(tf!X((x)YV2oXp7 zTpUX`)ysX4;t;-~qTI8CO4HNCVroc_H>5D5VZ>Q=`4VUd%P>tf^&m+^=^vH{2 z@Bz@5=w4^d+SXygHk2pQqOorUKLNdLxYmAqY;9o5(`z;f8=v2>TBxb5sj3lbHm}?$ zR5@za2&qw=EEpnkmdkEN|eqc!R;fe(sOLn?9nRpPh7JJj%t$o9UX(*fBW!Oaa6a0lX# zkN|PJBcgkz2iTTR^}cKD32q$lcVl z&?YXXltpIILWPTLnAes?ZyUL+{x~z1Y@hK(1z0hv{yz@9)$J^WiJNB_LGY{g8vUaSWqSa delta 3595 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 diff --git a/bin/linux/fsnotifier64 b/bin/linux/fsnotifier64 index 6427e4b31599d80a4f3cbed8c9c97c67640aeb84..3afd9f704de9b62623c2d7a1ba2ccf307cc77659 100755 GIT binary patch delta 396 zcmdmZm~rD_#tkh@BIX~a3G2J=lsBAnsZxAN@vl*s!gsI_GYx6d|cRr z(Rs6gNG?bHeFg>wgWLO=fz-a&1`Z6bFHG?44(IUf_7~XC4ibECjl=l}m(5Ae6l11bUuvKTus>;f6{V$COzOi4CKlmjUGVmDZ6Nfbzc z7bLI>BH-!KS$}_@Fi2!3M8pE5L;_?I3&^Boh)GHyQCX0(B8W0Ukbn|MAQ3E3D(l%@ z&+&o<$noiX@6mbeg(M%)RUqdn{s)PDfAIq-=h=DOxAi}Ns|-}^$jASx|M!c4Y^vgA zVDRib;?tRW!PW5FYqc~G(BqeH0ZKA3Y+fLnBC42@TE(BH@4gyXB?~t0Bkt4h5!Hn delta 398 zcmdmZm~rD_#tkh@B4G>pqEb83Vm~!Kma;#5OfAL1M{Dy8rbhyd8k4Jqy%}vM9~bsu zblof;P!rIAhqwcfdj+q3lluLgE>69y#@BOg9P6jIWQO;c(MKW|NlPS z$pSu|&-eWW3cYyt`Tzgc1N<$kfr@;(t2ul+|L@ diff --git a/native/fsNotifier/linux/main.c b/native/fsNotifier/linux/main.c index 381c6826de1e..7daa73913149 100644 --- a/native/fsNotifier/linux/main.c +++ b/native/fsNotifier/linux/main.c @@ -372,10 +372,10 @@ static bool register_roots(array* new_roots, array* unwatchable, array* mounts) } -static bool is_watchable(const char* mnt, const char* fs) { +static bool is_watchable(const char* fs) { // don't watch special and network filesystems - return !(strncmp(mnt, "/dev", 4) == 0 || strncmp(mnt, "/proc", 5) == 0 || strncmp(mnt, "/sys", 4) == 0 || - strncmp(fs, "fuse.", 5) == 0 || strcmp(fs, "cifs") == 0 || strcmp(fs, MNTTYPE_NFS) == 0 || strcmp(fs, MNTTYPE_SWAP) == 0); + return !(strncmp(fs, "dev", 3) == 0 || strcmp(fs, "proc") == 0 || strcmp(fs, "sysfs") == 0 || strcmp(fs, MNTTYPE_SWAP) == 0 || + strncmp(fs, "fuse", 4) == 0 || strcmp(fs, "cifs") == 0 || strcmp(fs, MNTTYPE_NFS) == 0); } static array* unwatchable_mounts() { @@ -391,7 +391,7 @@ static array* unwatchable_mounts() { struct mntent* ent; while ((ent = getmntent(mtab)) != NULL) { userlog(LOG_DEBUG, "mtab: %s : %s", ent->mnt_dir, ent->mnt_type); - if (strcmp(ent->mnt_type, MNTTYPE_IGNORE) != 0 && !is_watchable(ent->mnt_dir, ent->mnt_type)) { + if (strcmp(ent->mnt_type, MNTTYPE_IGNORE) != 0 && !is_watchable(ent->mnt_type)) { CHECK_NULL(array_push(mounts, strdup(ent->mnt_dir)), NULL); } }